如何在Matlab循环中动态更改变量、文件、函数名
1、首先,我们先写一个for循环,键入以下代码
clear
clc
for i=1:20
a=i;
end
代码运行完成后,我们会发现在工作区中有两个变量,一个是i,一个是a,a的值为最后一个循环运行的值

2、接下来,我们插入以下代码
b=['a',num2str(i)];
eval([b,'=i'])
然后观察工作区的变量情况,发现多出了a1到a20这20个变量

3、如果我们想要将这20个变量分开保存成20个文件,如.mat文件,键入以下代码
save(b,'b')%前一个b指的是保存名称,后一个b指的是待保存的变量的值
如图,运行之后发现当前文件夹中多了20个.mat文件

4、我们双击加载a1.mat之后,在工作区中会出现名称为a1的变量,值为1,如图

5、当然,在自动读取时的操作是差不多的,如下代码
load(b)
由图可见,在工作区中将所有文件中的数据已经读取了进来

6、对于需要生成很多函数文件情况,也是如此,代码如下
b=['a',num2str(i)];
fid=fopen([b,'.m'],'w');
fprintf(fid,'%s','function ');
fprintf(fid,'%s',b,'=',b,'()');
fclose(fid);
由图可知,工作区中多出了20个.m文件的函数

7、将其中一个函数a1.m用记事本文件打开,发现所书写的内容和我们想要的是一样的,如图

8、通过这样的操作,我们可以动态的改变名称,当然,这只是简单的演示,实际上,名字的自动添加不一定是每次加一的这样增加的,也可能是另外的方式,这就需要我们自己去定义改变规律了。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
                                阅读量:141
阅读量:109
阅读量:171
阅读量:187
阅读量:111