Re: [問題] 怎在矩陣中取值已回收
※ 引述《zxcvb7700 (毒人)》之銘言:
: 建立一個magic(20)
: 預取第7ROW前3大的數值
: 且對應在矩陣中的座標(row col)
: 想很久還是撰寫不出來
: 請大家幫幫忙
針對你的問題我修改成
對於任意矩陣mat所指定的某列r中,找出前n個最大值所的行ci
在此給你一個建議
價如你要在MATLAB中找出某數的index
你可以是用函數find
對於修改後的問題,程式如下:
function [ mval , ci ] = zxcvb7700( mat , r , n )
%
%
%
%
%
ci = zeros( 1 , 3) ;
srow = sort( mat( r , : ) , 'descend' ) ;
mval = srow( 1 : n ) ;
for i = 1 : n
ci( i ) = find( mval( i ) == mat( r , : ) ) ;
end
你可以在Command Window中鍵入
>> [ mval , ci ] = zxcvb7700( magic(20) , 7 , 3 )
答案如下:
mval =
279 278 275
ci =
2 3 6
亦即在magic(20)裡第7列中前3大的數值為
279 278 275 所在的行為2 3 6
希望對你的問題有幫助,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.66.52
討論串 (同標題文章)