在for循环matlab中保存矩阵

时间:2013-09-16 16:03:13

标签: matlab for-loop

我有以下代码:

for c=1:10;
D = maximin(n2,n1,'euclidean');
M = min(D,[],2); ;
C=[D M]; 
[maxValue, rowIdx] = max(C(:,end),[],1); %max value and the row index
n1(end+1,:) = n2(rowIdx,:); %Copy selected row to bottom of n1
n2(rowIdx,:) = []; %Delete the row from n2 that has the maximin
c=c+1;
end

n1是50 * 80并且n2是100 * 80在第一次迭代结束时n1 = 51 * 80并且n2 = 49 * 80,依此类推。我需要在每次迭代结束时看到保存n1,这样我就可以使用n1(1)... n1(10)进行进一步的计算。请帮忙。我尝试了以下

B = cell(1, c); B(n) = n1(1, c+1); and
B{n} = n1; 

没有帮助。非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:1)

您应该在循环之前预先分配B,如下所示:

B = cell(10, 1);

并且在循环的每次迭代中,您将n1存储在B中,如下所示:

B{c} = n1;

然后您可以使用相同的语法访问n1计算任何迭代。例如,在第三次迭代中计算的矩阵n1B{3}