2017-03-27 14 views
0

私は、氷河の形状を表すポイント(X、Y座標)を持つデータセットを持っています。私はmatlabのスキャッタポイントを接続する

% Import glacier shape 

Glaciershape = readtable('dem_glacierlocation.txt'); 

figure(1); 
S = Glaciershape(:,1); 
T = Glaciershape(:,2); 
plot(S,T,'-') 

enter image description here

でそれらをプロットする場合しかし、彼らが(形状の左上隅に、添付ファイルを参照)する必要がないときのポイントは、接続しているようです。これを修正する方法はありますか?以下のリンクでデータセットをダウンロードできます

ありがとうございました!

Download text file glacier

+1

plot'のは、シーケンシャル点を結ぶ '、それが接続されるべきかどうかのポイント「必要性」の概念がありません。データの内部を分離し、別々にプロットしたいと思うでしょう。 – excaza

答えて

0

plot xのすべてのセットを想定し、Y COORDSは、直列にシーケンシャルであり、コンテンツへなど気にせずにすべてをプロットします。

ポイントの分布についていくらか仮定することができれば、それを使って失敗したポイントを打ち破ることができます。たとえば、シリーズ内のポイントは、前のポイントから常に100単位未満です。それ以外の場合は、新しいシリーズリストが開始されます。

% assume data stored in xcoord,ycoord 
% check for distance greater than 100 
idx = find(sqrt(diff(xcoords).^2 + diff(ycoords).^2) > 100); 
% in this particular data set there are 3 disjoint sections 
% plot out each section - here each done explicitly for illustration 
plot(xcoords(1:idx(1)),ycoords(1:idx(1))); 
hold on; 
plot(xcoords(idx(1)+1:idx(2)),ycoords(idx(1)+1):idx(2)); 
plot(xcoords(idx(2)+1:idx(3)),ycoords(idx(2)+1):idx(3)); 
plot(xcoords(idx(3)+1:end),ycoords(idx(2)+1):end); 

編集:あなたはのようにdiffを使用して、後続の点間の距離のチェックを行うことができることを使用してデータファイルを見た後、他のプロットのを追加することができます

希望...

0

の場合を提供しましたループ内のすべての点を結ぶ最短経路を探しています。これは、移動することが非常に困難なsalesman problemです。

あなただけの試みを視覚化する簡単な方法を探している場合:

plot(S,T,'.') 

あなたは置き換える「 - 」あなたが上記の持っていました「」。これは、xとyの座標を未接続でプロットし、人間の脳に接続を行うことができます。

ここには接続されていない画像があります。一番上に穴がある2つの領域があるように見えます。なぜなら、すべての点を接続することが問題になる可能性があるからです。

enter image description here

関連する問題