matlab循环读写文件、变量

一、eval介绍
eval还广泛用于人机交互,因为matlab的gui中,get命令得到的str格式的字符串,通常,会通过str2num将字符串转换为数字,供后续处理。如果是将数字转换为字符串则要使用num2str。而如果读入的str字符串是cos,sin之类的指令呢?那么就需要结合eval函数,将字符串转换为指令。
举例:
for i=5:10
    eval(['load ','run1_',num2str(i) '.mat'])%num2str将数字转换为字符串形式,因为load指令识别的字符串
%%%%%%%%%%%%%%%%%%%%“,”表示相加,eval表示将字符串转换为指令
ZA=[0,index;train_label,train_data;test_label,test_data]; run1=xlswrite(['E:\statistics\N_data\N',num2str(i),'_data.xlsx'],ZA);%%将数字转换我字符串数据即可end

 
  
备注:run1中,[]括起来的是一个字符串
例2:
subplot(7,1,2);plot(t,imf(1,:));title('IMF1');

subplot(7,1,3);plot(t,imf(2,:));title('IMF2');

subplot(7,1,4);plot(t,imf(3,:));title('IMF3');

subplot(7,1,5);plot(t,imf(4,:));title('IMF4');

subplot(7,1,6);plot(t,imf(5,:));title('IMF5');

subplot(7,1,7);plot(t,imf(6,:));title('IMF6');
协程
for i=1:6

    subplot(7,1,i+1);

    plot(t,imf(i,:));

    eval_r(['title(''IMF',int2str(i),'');']);%此行代码需要验证

end
 
   
  
1、存储为a1,a2,……a10的形式
代码如下:
x=rand(1000,1000);
for ii=1:10
    Name=['a',num2str(ii)];
    eval([Name,'=x(ii,:);']);
end
%注意阴影部分的分号,如果不添加将会把所有结果输出


 
  

你可能感兴趣的:(matlab循环读写文件、变量)