MATLAB编程技巧:循环中变量名动态改变(eval函数)

最近遇到了一个比较有意思的问题,就是我想通过一个for循环生成10个变量,data1到data10,并保存到10个对应的mat文件里面。刚开始的时候以为挺简单的,结果却尝试了几次都没有成功,直到百度了下,发现了eval这个函数,才解决了这个问题。这里简单的记录一下:

eval函数最常用的形式就是eval(expression),实现的功能就是计算expression表示的代码。举一个简单的例子,当我在命令行输入eval('data = 3;'),MATLAB就会计算表达式“data = 3;”,即生成一个值为3的变量data。如果我们只是想运行上面的代码,其实大可不必使用eval函数,直接在命令行输入data = 3;就可以了。但是假如我想生成10个甚至上百个上千个变量时,eval就会大显神威。

这里举一个简单的例子,比如我们要生成10个变量,data1到data10,并赋值1到10。当我要使用eval函数时,我建议提前生成表达式,这样条例更清晰。按照上面的描述,我这次要生成的表达式就是“datai = i;”,如下图所示,运行脚本文件,我们就顺利地生成了10个变量。

如果想要把结果保存到mat文件里面,只需再添加两行代码即可,如下所示:

转自:MATLAB中变量名如何随循环改变-eval函数 - 知乎 (zhihu.com)

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空