用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=zeros(632,1);
mdl(:,i)=fitlm(x,a) %x对y做回归
end
报错:从 LinearModel 转换为 double 时出现以下错误:
错误使用 double
无法从 LinearModel 转换为 double。
想请教各位究竟要怎样改才能存储每一次过程啊?谢谢谢谢! 展开
代码:
for i=1:632
a=y(:,i);
mdl=zeros(632,1);
mdl(:,i)=fitlm(x,a) %x对y做回归
end
报错:从 LinearModel 转换为 double 时出现以下错误:
错误使用 double
无法从 LinearModel 转换为 double。
想请教各位究竟要怎样改才能存储每一次过程啊?谢谢谢谢! 展开
3个回答
展开全部
可以定于好一个用来存储循环结果的数组,将每次循环的结果送到这个数组中。
例子:
a=ones(1,10);
for k=1:10
a(k)=k;
end
例子:
a=ones(1,10);
for k=1:10
a(k)=k;
end
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把mdl
设成632行的矩阵,每一行对应y每列的线性回归结果。mdl(i,:)=fitlm(a,y)
设成632行的矩阵,每一行对应y每列的线性回归结果。mdl(i,:)=fitlm(a,y)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询