• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MATLAB 的数据导入与导出 - CuriousZero

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

MATLAB 的数据导入与导出

1 数据导入:

%% 高层次读取数据。 importdata 函数是一个高层次的函数
filename = \'weeklydata.txt\';
delimiterIn =\' \';   %delimiter: n. 定界符。将 delimiterIn 解释为 ASCII 文件、文件名或剪贴板数据中的列分隔符。
headerlinesIn = 1;  % 从 lineheaderlinesIn+1 开始读取数字数据。
A=importdata(filename,delimiterIn,headerlinesIn);
% 开始预览数据
for k =[1:7]
    disp(A.colheaders{1,k}) %展示每一列的题头
    disp(A.data(:,k)) %每一列的所有行
    disp(\'  \')
end

结果:

Matlab低级别的文件 I/O:
%% Matlab低级别的文件 I/O
filename = \'myfile.txt\';
% myfile.txt保存在工作目录中。此文件存放三个月的降雨资料: 2012年6月,7月和8月降雨量。
% myfile.txt中的数据在五个地方包含重复的时间,月份和降雨量测量。标题数据存储月数M; 所以有M个集合测量值。
rows = 7
cols = 5

%使用 fopen 函数打开文件并获得文件标识符。
fid = fopen(filename);

%读取文件头,找到 M (月份数)
% 使用格式说明符描述文件中的数据,例如字符串的%s,整数%d或浮点数%f。
% 要跳过文件中的文字,需将其包含在格式说明中。要跳过数据字段,在说明符中使用星号(*)
M=fscanf(fid,\'%*s %*s\n %*s %*s %*s %*s\n M=%d\',1); %要读取头文件,并返回单个的M值

%读取 each set of measurements

for n= 1:M
    % 默认情况下,fscanf会根据格式描述读取数据,直到找不到数据的匹配,或到达文件的末尾。
    % 这里使用for循环读取3组数据,每次读取7行和5列。
    % 在工作空间中创建一个名为mydata的结构来存储从文件读取的数据。
    % 这个结构有三个字段 - 时间,月份和雨天数组。
     mydata(n).time=fscanf(fid, \'%s\',1);
     mydata(n).month = fscanf(fid, \'%s\', 1);
     mydata(n).raindata=fscanf(fid,\'%f\',[rows,cols]);
     
end 
for n=1:M
    disp(mydata(n).time)
    disp(mydata(n).month)
    disp(mydata(n).raindata)
end

%关闭文件
fclose(fid);

结果:

 

 

 

2 数据导出:

使用 save 将工作区变量保存到文件中。

(1)save(filename) 将当前工作区中的所有变量保存在 MATLAB® 格式的二进制文件(MAT 文件)filename 中。如果 filename 已存在,save 会覆盖该文件。

(2)save(filename,variables) 仅保存 variables 指定的结构体数组的变量或字段。

(3)save(filename,variables,fmt) 以 fmt 指定的文件格式保存。variables 参数为可选参数。如果您不指定 variablessave 函数将保存工作区中的所有变量。

 

例如,要保存名为 test.mat 的文件,这些语句是等效的:

save test.mat      % command form
save(\'test.mat\')   % function form

您可以包括先前语法中介绍的任何输入。例如,要保存名为 X 的变量:

save test.mat X       % command form
save(\'test.mat\',\'X\')  % function form

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi中exit,abort,break,continue的区别发布时间:2022-07-18
下一篇:
Delphi中Frame的使用发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap