0

我有以下代码:

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; 

没有帮助。很感谢任何形式的帮助。

谢谢

4

1 回答 1

1

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

B = cell(10, 1);

并且在循环的每次迭代中,您n1B像这样存储:

B{c} = n1;

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

于 2013-09-16T16:25:30.393 回答