思路是把不同的变量名设置为相同的变量名,然后使用相同的代码来个for循环就行了。有三种方法可以实现。 涉及的问题有:对变量批量操作,字符串变为变量名使用eval,结构体索引,并行计算parfor与eval冲突。 先构造一下数据: data_20220929 = 1; data_20220930 = 2; data_20221001 = 3; data_20221002 = 4; mkdir...
可以原汁原味b赋值给a所保存变量名,没有任何精度损失,且适用于任意数据类型。连续load,每改变file_namefor i = 1:13name = ['Data1_Al_',num2str(i),'__U'];load name;% your code;load用eval(s)执行顺便赋值(s命令行)比C/C++简单很多,直接一个命令行搞定,如下: >> str = 'abc' ...
用eval函数没错,但按照楼上的用法,适应性很差,比如b是其它数据类型的,例如struct或cell之类的呢?而且使用num2str这类函数本身还存在有效数字导致的精度损失问题。其实正确的用法非常简单:eval([a '=b;'])可以原汁原味的把b赋值给a所保存的变量名中,没有任何精度损失,且适用于任意数据类型。
MATLAB从R2016b版本开始引入了新式字符串字面量,它允许在字符串中直接插入变量,使用`{}`包裹变量名。比如: ```matlab num = 42; newStr = sprintf('The answer is {num}'); ``` 在新式字符串字面量中,`{num}`会... Matlab\字符串运算 例如,创建一个名为`s`的字符串变量,其内容为`howareyou`,...