2017-03-27 1 views
0

빙하의 모양을 나타내는 포인트 (X, Y 좌표)가있는 데이터 세트가 있습니다. 그러나, 나는matlab에서 scatter point 연결하기

% 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 좌표는 일련의 연속이며, 내용 등의 관리없이 모든 음모.

포인트 분배에 대해 몇 가지 가정을 할 수 있다면이를 사용하여 실패한 포인트를 제거 할 수 있습니다. 예를 들어, 시리즈의 한 점은 항상 이전 점에서 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 좌표를 그릴 것이며 인간의 뇌가 연결을 잘하도록 할 수 있습니다.

다음은 연결되지 않은 이미지입니다. 상단에는 구멍 인 두 개의 영역이있는 것처럼 보이므로 모든 점을 연결하는 것이 문제가 될 수 있습니다.

enter image description here