2 Star 16 Fork 1

snowland.ltd/snowland-FCE

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
importfile.m 1.67 KB
一键复制 编辑 原始数据 按行查看 历史
A.Star 提交于 2018-03-22 13:47 . 图形界面
function newori = importfile(filename, startRow, endRow)
%IMPORTFILE 将文本文件中的数值数据作为矩阵导入。
% NEWORI = IMPORTFILE(FILENAME) 读取文本文件 FILENAME 中默认选定范围的数据。
%
% NEWORI = IMPORTFILE(FILENAME, STARTROW, ENDROW) 读取文本文件 FILENAME 的
% STARTROW 行到 ENDROW 行中的数据。
%
% Example:
% newori = importfile('newori.txt', 1, 449);
%
% 另请参阅 TEXTSCAN。
% 由 MATLAB 自动生成于 2018/03/22 12:41:41
%% 初始化变量。
delimiter = ' ';
if nargin<=2
startRow = 1;
endRow = inf;
end
%% 每个文本行的格式字符串:
% 列1: 双精度值 (%f)
% 列2: 双精度值 (%f)
% 列3: 双精度值 (%f)
% 列4: 双精度值 (%f)
% 列5: 双精度值 (%f)
% 有关详细信息,请参阅 TEXTSCAN 文档。
formatSpec = '%f%f%f%f%f%*s%*s%*s%[^\n\r]';
%% 打开文本文件。
fileID = fopen(filename,'r');
%% 根据格式字符串读取数据列。
% 该调用基于生成此代码所用的文件的结构。如果其他文件出现错误,请尝试通过导入工具重新生成代码。
dataArray = textscan(fileID, formatSpec, endRow(1)-startRow(1)+1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'HeaderLines', startRow(1)-1, 'ReturnOnError', false);
for block=2:length(startRow)
frewind(fileID);
dataArrayBlock = textscan(fileID, formatSpec, endRow(block)-startRow(block)+1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'HeaderLines', startRow(block)-1, 'ReturnOnError', false);
for col=1:length(dataArray)
dataArray{col} = [dataArray{col};dataArrayBlock{col}];
end
end
%% 关闭文本文件。
fclose(fileID);
%% 对无法导入的数据进行的后处理。
% 在导入过程中未应用无法导入的数据的规则,因此不包括后处理代码。要生成适用于无法导入的数据的代码,请在文件中选择无法导入的元胞,然后重新生成脚本。
%% 创建输出变量
newori = [dataArray{1:end-1}];
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Matlab
1
https://gitee.com/snowlandltd/snowland-FCE.git
git@gitee.com:snowlandltd/snowland-FCE.git
snowlandltd
snowland-FCE
snowland-FCE
master

搜索帮助