[問題] 從矩陣取最大值和相同Index的值
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
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
04/26 00:35, 8F
推
04/26 00:44, , 9F
04/26 00:44, 9F
→
04/26 01:10, , 10F
04/26 01:10, 10F
推
04/26 01:17, , 11F
04/26 01:17, 11F