[問題] 5個點,取3個點距離較小的已回收

看板MATLAB作者 (光明之子)時間15年前 (2010/03/29 17:06), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
小弟在做有關三點定位的程式 現在卡在一個關卡,想問問大家 目前總共有5個已知的固定點,然後算出未知節點距離固定點的值(這部份寫出來了) 接著我想由這5個固定點,取出其中距離較短的3個值,接著在由三個點,做出三點定位 而目前就卡在這裡 雖然有辦法取出3個較小的值,但3個較小的值所對應的固定點座標就無法判定是哪一個 舉例:目前我有5個定位點,分別是A(1,1) B(2,2) C(3,3) D(4,4) E(5,5) 然後算出A到未知節點是d1=1公尺 B是d2=2公尺 C是d3=3公尺 D是d4=4公尺 E是d5=5公尺 而我想取的是距離較小的3個值及其他所對應的點 如例題分別會取到A(1,1) d1 B(2,2) d2 C(3,3) d3 而小弟目前是想到我自已造一個矩陣K=[距離, 固定點的X軸, 固定點的Y軸] 像是固定點A即可以表示成[1,1,1] 然後在由第一個距離值去排序,接著在取出較小的三者 請問有類似這種語法,或是這個該怎麼寫才好的想法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.54.154

03/29 17:16, , 1F
假設你排好的matrix 是 A, sort(A(:,1))
03/29 17:16, 1F

03/29 17:17, , 2F
這樣就可以對你的距離排序 看你要取前幾個
03/29 17:17, 2F

03/29 17:17, , 3F
sort的output 第二項有index 拿去用就可以了
03/29 17:17, 3F
文章代碼(AID): #1Bi6sYL1 (MATLAB)