我有以下代码:
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;
没有帮助。非常感谢任何帮助。
由于
答案 0 :(得分:1)
您应该在循环之前预先分配B
,如下所示:
B = cell(10, 1);
并且在循环的每次迭代中,您将n1
存储在B
中,如下所示:
B{c} = n1;
然后您可以使用相同的语法访问n1
计算任何迭代。例如,在第三次迭代中计算的矩阵n1
为B{3}
。