matlab循环读写文件、变量

来源:互联网 发布:有关数据库的参考文献 编辑:程序博客网 时间:2024/05/21 15:40
一、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%注意阴影部分的分号,如果不添加将会把所有结果输出


0 0
原创粉丝点击