我需要迭代大量的LinearModel拟合对象,并以逻辑方式存储它们,最好通过索引方法,例如: model{x,y}
。不太优选的是eval()
,我已经尝试过并且在任何情况下都不起作用。我收到错误Index exceeds matrix dimensions.
- 尽管字符串表达式在eval之外工作正常。
counter = 48;
str=strcat('model',+num2str(counter)); % Dynamic variable name
str1 = strcat(str,'=fitlm(tbl,modelspec)'); % Full string to be evaluated
eval(str1)
理想情况下,我希望这样做,同时迭代x
model{x,y} = fitlm(tbl,modelspec) % This is the equivalent expression
但我得到的错误是
"Assignment using {} is not allowed for a FitObject."
我认为这与这个问题相似 - 没有答案: Dynamic Objects in Matlab
答案 0 :(得分:0)
通过分配单元结构来管理解决此问题。 e.g。
model = cell(3,3) % Pre-assign a cell structure
for x=1:3
for y=1:3
model{x,y} = fitlm(tbl,modelspec);
end
end