看板 MATLAB 關於我們 聯絡資訊
A = [20.38, 30, 7] 假如直接打 >> A ans = 20.38 30 7 但是假如打A(1) 會出現下列訊息 ??? Index exceeds matrix dimensions. 請問我要怎麼修改 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.15.168
vincent59:應該沒問題吧 04/25 20:41
忘記提到一件事 A 出現在while loop裡面 第一次出現的值是空值([]) 接下來出現的ans都是正常的 我本來猜測會不會因為遇到空值,所以出現錯誤 但是從第二次進入迴圈取值,還是會出現錯誤 ※ 編輯: leo750812 來自: 140.120.15.168 (04/25 21:04)
vincent59:空值([])?? 同學你寫了什麼呢? 04/25 21:06
有個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)
leo750812:不知道大大能不能看懂這樣的敘述方式 04/25 21:17
剛剛條件設定錯了,現在直接從第二次進入迴圈取值,可以順利的抓到 但是對於最大值部分,各位有什麼建議嗎 ※ 編輯: leo750812 來自: 140.120.15.168 (04/25 21:34)
vincent59:最大值部分 ??取最大值嗎 04/25 21:48
是除了取最大值以外,還要一起取跟最大值同列的資料 我現在的做法是用Index指向,但是覺得可能有其他的處理方式 ※ 編輯: leo750812 來自: 140.120.15.168 (04/25 22:05)
vincent59:你要取的是B矩陣的每一行的最大值還是每一列的??? 04/25 22:57
vincent59:或者你告訴我們 你怎麼作的??? 因為我不太懂 04/25 23:20
vincent59:不好意思 04/25 23:20
不好意思,我的敘述能力太弱了,我直接用例子來說明問題好了 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)
vincent59:A= B(INDEX,:); 這樣可以 04/26 00:35
vincent59: A(1) = B(INDEX,1) 這行也可以ㄟ??? 04/26 00:44
leo750812:感謝vincent59,你給了我很大的幫助 04/26 01:10
vincent59:不客氣 教學相長嘛 04/26 01:17