eval在matlab中可以用来执行字符串表示的命令,现总结几个常用格式例子:
(1)
for i=1:length(file)
data=load(file(i,1).name);
ind=find(data(:,1)>50000&data(:,7)<0.9&data(:,8)<7);
name=file(i,1).name(1:length(file(i,1).name)-4);
eval([name,'=','data(ind,:);']);
dat_nam=[' ',name];
eval(['save ',outdir,name,dat_nam])
end
(2)
for i=[2 3 5 6]
eval(['data=','load(''DC',num2str(i),'.mat'');'])
eval(['data1=','data.DC',num2str(i),'_nd5.u(:,1);'])
eval(['data2=','data.DC',num2str(i),'_nd5.v(:,1);'])
U_std(i,1)=std(data1);
V_std(i,1)=std(data2);
end
(3)
for i=j*92-91:j*92
k=i-92*(j-1);
data(k,:,:)=mean(u(i*4-3:i*4,:,:));
end
eval(['u',num2str(j),'=data;'])
eval(['save u',num2str(j),' u',num2str(j)])
end
(4)
datadir='F:\工作\2017\解决问题\data\DG\';
filename=dir([datadir,'\*.mat']);
for i=1:length(filename)
eval(['data=','load([''',datadir,'DG',num2str(i),'.mat'']);'])
DG_stainfo(i,:)=data.loc;
clear data
end
eval能够进行批处理,所以对命名规律的数据的处理很有帮助。
转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
链接地址:https://wap.sciencenet.cn/blog-2824237-1023945.html?mobile=1
收藏