矩阵数据读取
写入文件–save函数
保存变量到文件中,用于以后使用。
save(fielname)
- 将当前工作区中所有变量保存到matlab格式的二进制文件filename中。: .mat
save(filename, ‘var’,fmt)
- 将当前工作区中var指定的结构体数组的变量或字段保存到matlab格式的二进制文件(.mat)filename中。
- fmt指定保存的格式,可以是’ascii’、‘binary’、‘base64’、'table’中的一个。
save(filename, ‘var’,‘-append’)
- 将新变量添加到一个现有文件中
- 如果mat文件中已经存在了变量var,则会覆盖原有变量。
例子:
save('data.mat','x','binary')
% 保存变量x到文件data.mat中,以二进制格式保存
save('data.mat')
% 保存当前工作区的所有变量到文件data.mat中
save('data.mat','x','-append')
% 将变量x追加到文件data.mat中
% 例如
x = [1 2 3; 4 5 6];
b = struct('name','Alice','age',25);
c=pi;
save('data.mat')
clear
load('data.mat')
% 加载文件data.mat中的变量
读取文件–load函数
与save函数相对应,通常与save搭配使用;
load(filename)
- 从filename加载数据;
- 如果filename是MAT文件,将mat文件中的变量加载的MATLAB工作区;
- 如果filename是ASCI,将会创建一个包含该文件数据的双精度矩阵;
load(filename,‘var’)
- 加载MAT文件中的指定变量
load(filename,‘a*’)
- 加载MAT文件中所有以a开头的变量,*表示使用通配符;
load(filename,‘-regexp’,expl,exp2…expn) - 只加载名称与正则表达式匹配的变量或字段,指定为字符向量或字符串。
例如:
load(‘filename.mat’,‘-regexp’,‘^Mon’,‘^Tues’)
- 仅加载文件中名称以Mon或Tues开头的变量。
矩阵数据读写一writematrix与readmatrix函数
writematrix(A)
- 将同构数组A写入以逗号分隔的文本文件;
- 文件名为数组的工作区变量名称,附加扩展名.txt;
- 如果writematrix无法根据数组名称构造文件名,那么它会写入matrix.txt文件中;
- A中每个变量的每一列将成为输出文件中的列。writematriⅸ函数会覆盖现有文件。
writematrix(A,filename)
- 写入具有filename指定的名称和扩展名的文件。
扩展名必须是下列格式之一:
.txt、.dat或.csv(适用于带分隔符的文本文件);
.xls、.xlsm或,.xlsx(适用于ExcelE电子表格文件);
例子:
a=rand(10);
writematrix(a);
% 写入文件a.txt中
writematrix(a,'b.xls');
writematrix(__,Name,Value)
- 在包括上述语法中任意输入参数的同时,还可通过一个或多个Name,Value对组参数指定其他选项来将数组写入文件中。
- 例如,指定分隔符为制表符(默认为逗号):
writematrix(M,‘M_tab.txt’,‘Delimiter’,‘tab’)
A=readmatrix(filename)
- 通过从文件中读取列向数据来创建数组。readmatrix函数可自动检测文件的导入参数。
- readmatrix基于文件的扩展名确定文件格式:
.txt、.dat或.csv(适用于带分隔符的文本文件)
.xls、.xlsb、.xlsm、.xlsx、.xltm、.xtx或.ods(适用于电子表格文件) - 对于包含数值和文本混合数据的文件,默认情况下,readmatrix将数据作为数值数组导入。
A=readmatrix(filename,opts)
- 使用导入选项opts(详情参见help文件)
例子:
a=readmatrix('a.txt');
b=readmatrix('b.xls');
表格数据读写一writetable与readtable函数
writetable(T,filename)
- 写入具有filename指定的名称和扩展名的文件;
T=readtable(filename)
- 通过从文件中读取列向数据来创建表。
写入excel:xlswrite
读取excel:xlsread
最新的MATLAB不推荐使用这两个函数;
另外还有针对元胞数据读写的:
writecell
readcell
矩阵数据读入一importdata函数
A=importdata(filename)
- 将数据加载到数组A中;
A=importdata(filename,delimiterIn)
- 将delimiterIn解释为ASCI文件filename中的列分隔符;
A=importdata(filename,delimiterIn,headerlinesIn)
- 从ASCI文件filename中,以dilimiterIn为分隔符,从headerlinesIn+l行开始读取;
例子:
A=importdata('data.txt');
b=A.data;
a.data;