MATLAB中批量导入.mat文件(每个文件多变量)
一、新建MATLAB script(.m文件):readall_mat.m
二、代码如下:
function data = readall_mat(path)
% READALL_MAT 读取所有文件
% DATA = READALL_MAT(PATH)读取路径PATH下的所有mat文件中的数据赋给data
% mat文件中含有多个数据项
% 输出cell格式以免各数据项长度不同
% 输出data后若要使用data中的内容请使用data{index}访问
%
% 原始版本:V1.0 作者:贾郑磊 时间:2018.03.05
A = dir(fullfile(path,'*.mat'));
% 读取后A的格式为
% name -- filename
% date -- modification date
% bytes -- number of bytes allocated to the file
% isdir -- 1 if name is a directory and 0 if not
% ???--都显示为7.3702e+05标识
A = struct2cell(A);
num = size(A);
for k =0:num(2)-1
x(k+1) = A(num(1)*k+1);
end
m = 1;
for k = 1:num(2)
newpath = strcat(path,'\',x(k));
temp = load(char(newpath));
temp = struct2cell(temp);
num2 = size(temp);
for l = 1:num2(1)
data{m} = temp{l};
m = m+1;
end
end
% [EOF] readall_mat.m
三、调试过程用到的关键词:
1.dbstop in readall_mat at 35(或者手动添加):加断点
2.data = readall_mat('E\mydata');:运行script
3.dbcont:调试至下一断点
4.变量名:查看当前变量内容
四、运行结果:
将文件路径下的多.mat文件的多变量按文件顺序导入至data中
五、其他辅助操作
1.执行.m文件:在命令窗口输入函数名(参数);
2.中断执行中的.m文件:在命令窗口Ctrl+C