Pot*_*ito 17 string variables matlab variable-names
让我们假设我想创建10个变量,如下所示:
x1 = 1;
x2 = 2;
x3 = 3;
x4 = 4;
.
.
xi = i;
Run Code Online (Sandbox Code Playgroud)
这是我打算做的简化版本.基本上我只想通过以自动方式创建这些变量来保存代码行.是否有可能在Matlab中构造变量名?我的例子中的模式是["x", num2str(i)].但是我找不到用这个名字创建变量的方法.
Dan*_*Dan 28
你可以用eval来做,但你真的不应该这样做
eval(['x', num2str(i), ' = ', num2str(i)]); %//Not recommended
Run Code Online (Sandbox Code Playgroud)
而是使用单元格数组:
x{i} = i
Run Code Online (Sandbox Code Playgroud)
我还强烈建议在这种情况下使用单元格数组或结构体.我认为它甚至会给你一些性能提升.
如果你真的需要这样做,丹告诉了如何.但我还想指出这个genvarname功能.它将确保您的字符串是有效的变量名称.
编辑:genvarname是核心matlab的一部分,而不是统计工具箱的一部分