如何在Matlab循环中动态更改变量、文件、函数名

作者:烟中隐约闪现 | 创建时间: 2023-07-28
在编写Matlab程序时,我们常常需要在一个循环当中自动的、动态的改变变量名、读取或者存储的文件名以及函数名,接下来通过几个小例子进行说明。...
如何在Matlab循环中动态更改变量、文件、函数名

操作方法

首先,我们先写一个for循环,键入以下代码 clear clc for i=1:20 a=i; end 代码运行完成后,我们会发现在工作区中有两个变量,一个是i,一个是a,a的值为最后一个循环运行的值

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

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

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

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

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

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

通过这样的操作,我们可以动态的改变名称,当然,这只是简单的演示,实际上,名字的自动添加不一定是每次加一的这样增加的,也可能是另外的方式,这就需要我们自己去定义改变规律了。

温馨提示

如果能帮到您的话呢,请您动下手点个赞,谢谢您!
点击展开全文

更多推荐