2013-06-18 79 views
-3

假設我們有以下矩陣:查找每一行的最大值和重塑矩陣

2 5 
5 3 
6 3 
6 4 

我試圖做的是:

1查找每個最大值行 對於這部分,我認爲我們可以做到以下幾點:

[r,c] = size(u); 
for i=1:c 
for j=1:r 
index=1; 
for i=1:c 
    for j=1:r 
     [value,position]=max(u(j,:)); 
     membershipMatrix(index)=value; 
     index=index+1; 
    end 
end 

2-然後,我想把上述基質重塑爲2x2矩陣。 我想我們可以在這裏做以下幾點?

reshape(I,2,2) 

在開始時聽起來微不足道。我試了65536x2矩陣執行步驟以上,但結束了一個131072x1矩陣,其中我本來打算reshape256x256矩陣,因爲我認爲我會最終有一個65536x1矩陣的第一步。

可能會出現什麼問題?

謝謝。

+3

@MedSWEng - 我有興趣聽取關於這個[元問題(http://meta.stackexchange.com/questions/184802/ban-user-for-continuously-asking-questions-您的意見這秀,無工作)。 – Shai

回答

5

在Matlab中 - 矢量化!

mx = max(u, [], 2); % find max along rows of u 
reshape(mx, 256, 256); 
+0

感謝您的回覆。當你在'max'中使用'[]'時,那會表示什麼? – Simplicity

+1

@Med-SWEng看看[matlab doc](http://www.mathworks.com/help/matlab/ref/max.html)不得不說:第三個用例。 – Shai

+0

它提到了明確顯示的內容,它在特定維度上找到最大值,但沒有描述插入'[]'的原因。謝謝 – Simplicity