[問題]矩陣每幾行取一最大值,並輸出其列之位置

看板MATLAB作者時間9年前 (2014/11/21 16:38), 編輯推噓1(1011)
留言12則, 4人參與, 最新討論串1/3 (看更多)
請問各位大大~ 若我有一矩陣A A= 1 4 5 3 6 8 9 4 2 3 7 6 5 1 4 2 例如:想每兩行取一最大值,並輸出其列之位置 輸出結果為 [8,9]以及[2,2] 我試過 [C,I] = max(A) 似乎只能針對每一行取最大值並輸出其相對之列位置 也試過將A轉置後 B=A' [C,I] = max(B,[],2) 得到的結果跟上面如出一轍 請問是我哪裡沒注意到嗎~~ 請各位大大賜教,感恩!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.1.136 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1416559092.A.4C5.html

11/21 23:38, , 1F
您可以試看看 find 這指令。
11/21 23:38, 1F

11/22 00:22, , 2F
好的謝謝您
11/22 00:22, 2F

11/22 00:51, , 3F
你的矩陣是只有四列嗎?還是你只是舉例而已?如果有很
11/22 00:51, 3F

11/22 00:52, , 4F
多列,例如幾十列幾百列甚至上千列的話,請告訴我你
11/22 00:52, 4F

11/22 00:53, , 5F
想每隔幾行找出其最大值和所在的列數,我寫程式碼出
11/22 00:53, 5F

11/22 00:53, , 6F
11/22 00:53, 6F

11/22 00:55, , 7F
[maxnum, iMax] = max(reshape(2, 2*size(A, 1), []))
11/22 00:55, 7F

11/22 00:55, , 8F
iMax = mod(iMax, size(A, 1))
11/22 00:55, 8F

11/22 00:56, , 9F
更正
11/22 00:56, 9F

11/22 00:56, , 10F
[maxnum, iMax] = max(reshape(A, 2*size(A, 1), []))
11/22 00:56, 10F

11/22 01:12, , 11F
回三樓大大,有好幾千列好幾千行,想兩百行取一個最大值
11/22 01:12, 11F

11/22 01:13, , 12F
~真的很感謝各位:)
11/22 01:13, 12F
文章代碼(AID): #1KRldqJ5 (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1KRldqJ5 (MATLAB)