有没有办法在matlab中有效地定义多个变量?我找到的一切都不是我想要的。情况如下:
parstrs = {'a','b','c'};
parvals = [1 2 3];
我想要一个有效的命令,它实际上可以执行以下操作;
parstrs = parvals;
结果是数字 1 存储在变量a
中,2 存储在 中b
,3 存储在 中c
,依此类推。
我愿意用单元格或结构来做这件事。
有什么建议么?
更多说明:正如我在下面提到的,我想编写不关心变量名称列表用于曲线拟合多长时间的代码。我发现的最好方法是使用结构,如下所示:
parstrs = {'a','b','c'};
parvals = num2cell([1 2 3]);
partmp = {parstrs{:};parvals{:}};
pars = struct(partmp{:});
这样做的问题是无法以相同的方式编辑 pars 结构。那是,
pars = setfield(pars,partmp{:});
将抛出以下错误:
Error using setfield (line 48)
Inputs must be either cell arrays or strings.