[問題] 從矩陣取最大值和相同Index的值

看板MATLAB作者 (leo)時間12年前 (2012/04/25 20:36), 編輯推噓7(704)
留言11則, 2人參與, 最新討論串1/1
A = [20.38, 30, 7] 假如直接打 >> A ans = 20.38 30 7 但是假如打A(1) 會出現下列訊息 ??? Index exceeds matrix dimensions. 請問我要怎麼修改 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.15.168

04/25 20:41, , 1F
應該沒問題吧
04/25 20:41, 1F
忘記提到一件事 A 出現在while loop裡面 第一次出現的值是空值([]) 接下來出現的ans都是正常的 我本來猜測會不會因為遇到空值,所以出現錯誤 但是從第二次進入迴圈取值,還是會出現錯誤 ※ 編輯: leo750812 來自: 140.120.15.168 (04/25 21:04)

04/25 21:06, , 2F
空值([])?? 同學你寫了什麼呢?
04/25 21:06, 2F
有個21*3的矩陣B A(1)是B矩陣中第一列的最大值 假設最大值是B(10,1),我希望A的內容是(B(10,1),B(10,2),B(10,3)) 但是因為不知道要怎麼取A(2), A(3) 所以是用最大值的index指向B的值,再存回A ※ 編輯: leo750812 來自: 140.120.15.168 (04/25 21:16)

04/25 21:17, , 3F
不知道大大能不能看懂這樣的敘述方式
04/25 21:17, 3F
剛剛條件設定錯了,現在直接從第二次進入迴圈取值,可以順利的抓到 但是對於最大值部分,各位有什麼建議嗎 ※ 編輯: leo750812 來自: 140.120.15.168 (04/25 21:34)

04/25 21:48, , 4F
最大值部分 ??取最大值嗎
04/25 21:48, 4F
是除了取最大值以外,還要一起取跟最大值同列的資料 我現在的做法是用Index指向,但是覺得可能有其他的處理方式 ※ 編輯: leo750812 來自: 140.120.15.168 (04/25 22:05)

04/25 22:57, , 5F
你要取的是B矩陣的每一行的最大值還是每一列的???
04/25 22:57, 5F

04/25 23:20, , 6F
或者你告訴我們 你怎麼作的??? 因為我不太懂
04/25 23:20, 6F

04/25 23:20, , 7F
不好意思
04/25 23:20, 7F
不好意思,我的敘述能力太弱了,我直接用例子來說明問題好了 B = 10 6 3 50 4 1 23 1 7 17 9 2 我希望得到的結果是:50 4 1 (也就是第一行的最大值,以及同一列的資料) 目前的做法是 [OUT INDEX] = MAX(B(:,1)); A(2) = B(INDEX,2); A(3) = B(INDEX,3); 雖然可以得到我要的結果,但是想知道各位先進有沒有別的做法 ※ 編輯: leo750812 來自: 140.120.15.168 (04/26 00:27)

04/26 00:35, , 8F
A= B(INDEX,:); 這樣可以
04/26 00:35, 8F

04/26 00:44, , 9F
A(1) = B(INDEX,1) 這行也可以ㄟ???
04/26 00:44, 9F

04/26 01:10, , 10F
感謝vincent59,你給了我很大的幫助
04/26 01:10, 10F

04/26 01:17, , 11F
不客氣 教學相長嘛
04/26 01:17, 11F
文章代碼(AID): #1Fb-_WEy (MATLAB)