[討論] 每連結一點尋找最近座標點

看板MATLAB作者 (芒果哥)時間13年前 (2012/12/10 02:00), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/4 (看更多)
還是MATLAB新手... 一切都是自學 所以寫的內容不好看請見諒 ------------------------------------------------------ 下面是寫得很醜的CODE function node x_node = 100*rand(10,1); %取X軸的亂數 y_node = 100*rand(10,1); %取Y軸的亂數 result = cat(2,x_node,y_node); %合併X軸與Y軸座標點 [u,v] = max(sqrt((x_node-50).^2+(y_node-250).^2)); %找出離BS最遠的NODE距離並儲 存到U,V,V為第幾位 disp('Leader座標點 = '); disp(result(v,:)); %leader座標 disp('Leader順序為 = '); disp(v); %leader順序 %disp(u);離BS最遠距離 node_number = length(x_node); for x = 1:node_number %計算任意兩點之間的距離 for y = 1:node_number any_two_distance(x,y) =(sqrt((x_node(x) - x_node(y)).^2 + (y_node(x) - y_node(y) ).^2)); %將結果寫入對應的矩陣 end end disp(any_two_distance); end 目前已經可以找出各個點之間彼此的距離 接下來是想要從leader點開始連接最近的點 首要是先找出除了leader外另外九點離leader最近的點進行連線 連到第二個點後,尋找第三個未被連接過的最近點進行連線 目前卡在這邊有點沒頭緒 卡住的問題有 1. 如何判定點並未連接過? 2.動態調整一開始先連結一到二 再來從二到三 知道連線是用plot 但是也得照順序輸入值才可以.... 有搜尋過一些關鍵字 但沒有找到作法 會做這個也是為了幫助朋友,但發現自己真的還有待加強 囧 還煩請一些關鍵字指點或小片段的程式提示了 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.165.134.117

12/10 03:08, , 1F
用一個矩陣來存有沒有連過。
12/10 03:08, 1F

12/10 06:13, , 2F
看敘述很像是 Prim's Algorithm
12/10 06:13, 2F
文章代碼(AID): #1GnD6joG (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1GnD6joG (MATLAB)