看板 MATLAB 關於我們 聯絡資訊
還是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
sunev:用一個矩陣來存有沒有連過。 12/10 03:08
forloricever:看敘述很像是 Prim's Algorithm 12/10 06:13