2014-09-20 37 views
0

我在一篇論文中發現了這一點,並一直試圖做同樣的事情。目標是將所有工作站連接到線上,然後指出線密度高或低的區域。根據線密度生成圖像

注:紅色圓點表示站

是否有軟件,該軟件能做到這一點? 我在Maltab試過這個,但是結果對於3個以上的站點是不正確的。

+1

你在matlab中做過什麼?顯示代碼,否則我們可能無法爲你提供幫助 – ASantosRibeiro 2014-09-20 20:01:31

回答

0

在第一部分,你要尋找的功能是gplot:http://www.mathworks.com/help/matlab/ref/gplot.html (你可以看到一個asnwer到類似的問題here)。

這個想法是:如果你有一個n個點的列表,你需要一個n-by-2矩陣來定義每個點的座標,另一個矩陣定義哪個節點應該被鏈接。例如:

A=[0 1 1;1 0 0;1 0 0]; 
c=[1 1; 2 2; 3 1]; 
gplot(A,c) 

對於第二個圖,我不太熟悉的:我通常看到的是人們使用類似第一張圖用更少的粗線和更多的空間,這樣你就可以得到密度,同時的感覺實際上能夠看到它存在的原因(例如,鏈接到許多其他節點)。如果你想繪製類似於第二個圖形的東西,那麼它不是一個Matlab編碼問題,而是更多關於哪個函數產生「密度」的問題。完成之後,您可以使用countour。您需要一個函數,對於每個(x,y)座標,計算到所有線的距離並以參數化方式聚合此向量(例如,給定向量d,對於某些常數Z,您可以使用sum(exp(-Z*d))或嘗試不同的函數)。還要注意的是,從你所顯示的圖表來看,如果存在這樣的情況,密度也可能由每個鏈接的「強度」加權。

+0

第一部分對應於我已有的數據類型。我更關心第二部分。 – shrey 2014-09-20 23:46:45

+0

論文是否可以說出圖表是如何繪製的,可能在(在線)附錄中?通過這個,我的意思不一定是他們使用的代碼/工具,但也許是如何計算密度函數的解釋。 正如上面提到的其他評論,知道你的代碼會有幫助(就是一個小例子,它顯示了你在Matlab中要做的事情)。 – 2014-09-21 16:36:23