【发布时间】:2016-05-18 13:51:29
【问题描述】:
我正在使用 fitglm 在 matlab 中拟合一个统计模型,它返回一个结构 mdl。我想将许多这样的结构存储在一个单元格数组中,以便以后重用它们,但这似乎不起作用。代码如下:
models = cell(size(quarterList,1)-lag-1,1);
for i=1:size(quarterList,1)-lag-1
%indicesTemp = find(and(annQuarters(:,2) <= quarterList(i+11,2),annQuarters(:,2) >= quarterList(i,2)));
memberTemp = ismember(annQuarters(:,:), quarterList(i:i+lag,:));
indicesTemp = find(memberTemp(:,2));
fprintf('Perdiod: Q%i %i to Q%i %i - Nb samples: %i \n',annQuarters(i,1),annQuarters(i,2),annQuarters(i+lag,1),annQuarters(i+lag,2),size(indicesTemp,1));
[Xtemp Ytemp] = categorizeVariables(X(indicesTemp,:),Y(indicesTemp,:));
mdl = fitglm(Xtemp,Ytemp-1,'Distribution','binomial', 'Link','logit');
models(i,1) = mdl;
end
现在,当我尝试将这样的结构分配给单个单元格时,它可以工作:
temp = cell(1,1);
mdl = fitglm(Xtemp,Ytemp-1,'Distribution','binomial', 'Link','logit');
temp = mdl;
为什么在这种情况下单元格数组中的赋值不起作用?关于如何解决这个问题的任何建议?
【问题讨论】:
标签: arrays matlab memory structure