我有以下代碼:保存矩陣在for循環MATLAB
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且N 2 = 49 * 80等等。我需要在每次迭代結束時看到保存n1,以便我可以使用n1(1)... n1(10)進行進一步計算。請幫忙。我試過以下
B = cell(1, c); B(n) = n1(1, c+1); and
B{n} = n1;
沒有幫助。很感謝任何形式的幫助。
感謝
你得到了什麼錯誤信息?你在循環中放置第二塊代碼的位置? – kkuilla
我把它放在「c = c + 1」語句的正上方。我在使用B {n}時沒有遇到錯誤,而是得到一個1 * 10的矩陣,其中每個單元由n(n1..n10,10個單元)組成。它像整個n1矩陣在B {n}的一個單元中 –