2012-10-04 7 views
1

위도, 경도, 특정 위치의 고도 등 3 가지 데이터 벡터가 있습니다. 각 벡터 (lat, lon, elev)는 약 63 개의 요소가있는 열 벡터이며 각 요소의 요소 1은 주어진 위치를 나타냅니다. 내가하고 싶은 일은 토폴로지 맵을 작성하거나 히트 맵 (원하는 위치로 지정)을 사용하여 이러한 위치를 맵핑하는 것입니다. 나는 (lon vs lat와 같이) 그것들을 플로팅 할 수는 있지만 아무런 문제없이 볼 수있다.하지만 토폴로지 맵을 만들 곳을 모르겠습니다. surf 함수를 사용하여 살펴 보았습니다. 그러나 높이를 2 차원 행렬로하면 그만큼 누락 된 데이터가 많이 생길 수 있습니다.Matlab 히트 맵/토폴로지 맵

누군가가 나에게 약간의 안내를 제공 할 수 있습니까?

답변

1

TriScatteredInterp을 사용하여 데이터를 일반 격자에 보간 한 다음 surf을 사용하여 서페이스를 플롯하거나 contourf을 사용하여 히트 맵을 사용할 수 있습니다.

정확히 당신이 필요로 할 것입니다 TriScatteredInterp의 링크 된 문서의 예는, 당신이해야 할 모든 데이터에 의해 x, yz를 교체하고 meshgrid에 대한 적절한 제한을 정의합니다.

+0

그래서 ** 매개 변수 ** V **와 약간 혼란 스럽습니다. 함수를 올바르게 이해했다면 F = TriScatteredInterp (lon, lat, elev, V)라고 입력하면됩니다. 나는 올바른 길을 가고 있는가? – rwb7041

+0

@ rwb7041 : 귀하의 예제에서'V'는'elev'이므로,'F = TriScatteredInterp (lon, lat, elev)' – Jonas