Matlab 如何保存for循环每次迭代的值?

Matlab 如何保存for循环每次迭代的值?,matlab,Matlab,我有一个for循环,但每次迭代都会覆盖变量,只剩下最后的数据 如何保存for循环每次迭代中的其他值 以下是我尝试的代码: 以下是我得到的结果: 您可以使q成为二维矩阵或单元格 二维矩阵: q=zeros(numel(p),10); %better to pre-allocate if you know the dimensions beforehand. count=0; for x=.1:.1:1 count=count+1; q(:,count)=x.*p; end 单元格

我有一个for循环,但每次迭代都会覆盖变量,只剩下最后的数据

如何保存for循环每次迭代中的其他值


以下是我尝试的代码:

以下是我得到的结果:


您可以使
q
成为二维矩阵或单元格

二维矩阵:

q=zeros(numel(p),10); %better to pre-allocate if you know the dimensions beforehand.
count=0;

for x=.1:.1:1
   count=count+1;
   q(:,count)=x.*p;
end
单元格:


您可以使
q
成为二维矩阵或单元格

二维矩阵:

q=zeros(numel(p),10); %better to pre-allocate if you know the dimensions beforehand.
count=0;

for x=.1:.1:1
   count=count+1;
   q(:,count)=x.*p;
end
单元格:


这里有一个替代解决方案,使用
bsxfun()
它在一行中将每个
x
索引与
p'
相乘

p = [1:1:20]';
x = 0.1:0.1:1;
q = bsxfun(@times,x,p)

这里有一个替代解决方案,使用
bsxfun()
它在一行中将每个
x
索引与
p'
相乘

p = [1:1:20]';
x = 0.1:0.1:1;
q = bsxfun(@times,x,p)

@AbdulAsad请通过单击左侧的“检查”来接受答案,这样它就不会出现在未回答列表中。@AbdulAsad请通过单击左侧的“检查”来接受答案,这样它就不会出现在未回答列表中。
p = [1:1:20]';
x = 0.1:0.1:1;
q = bsxfun(@times,x,p)