用Matlab做for循环,如何存储每一次循环结果?
x是121*4的矩阵,y是121*632的矩阵,我写的代码是x对y的每列做线性回归,并且得到t统计量和他对应的p值。在这个过程中因为要对应632列分别回归,所以用for循...
x是121*4的矩阵,y是121*632的矩阵,我写的代码是x对y的每列做线性回归,并且得到t统计量和他对应的p值。在这个过程中因为要对应632列分别回归,所以用for循环。但是循环后给出的变量里面只包含了最后一次循环的结果,但是我需要每一次循环得到的结果。
代码:
for i=1:632
a=y(:,i);
mdl=fitlm(a,y)
end
跪求各位大侠!!!!
刚刚代码有一个地方输入错了,应该是
for i=1:632
a=y(:,i);
mdl()=fitlm(x,a);
end
继续求问 展开
代码:
for i=1:632
a=y(:,i);
mdl=fitlm(a,y)
end
跪求各位大侠!!!!
刚刚代码有一个地方输入错了,应该是
for i=1:632
a=y(:,i);
mdl()=fitlm(x,a);
end
继续求问 展开
1个回答
展开全部
把mdl 设成632行的矩阵,每一行对应y每列的线性回归结果。mdl(i,:)=fitlm(a,y)
追问
for i=1:632
a=y(:,i);
mdl(i,:)=fitlm(x,a);
end
按照你的改动后,给出错误提示
Error using classreg.regr.FitObject/subsasgn (line 748)
Assignment using () is not allowed for a FitObject.
追答
a=y(i,:); 这句修改一下试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询