Understanding how to use the function griddata
이전 댓글 표시
graph = xlsread('Path3.xlsx');
x=graph(:,1);
y=graph(:,2);
z=graph(:,3);
[X,Y]= meshgrid(x,y);
Z = griddata(x,y,z,X,Y);
A = mesh(X,Y,Z);
hold on
surf(A);
hold off
xlabel('x'),ylabel('y'),zlabel('z'),title('title')
I have an excel file which I have imported with latitude, longitude and elevation in 3 columns. I'm trying to use the function meshgrid with the latitude and longitude values, and then the function griddata to fit the elevation data points to the meshgrid to develop a surface plot for latitude, longitude, and elevation. I keep getting the following two errors:
Error using surf (line 71)
Z must be a matrix, not a scalar or vector.
Error in (line 49)
surf(A);
>>
댓글 수: 3
Geoff Hayes
2020년 4월 5일
Paul - what is A? Is that the handle to or the chart surface object returned by the call to mesh? Should you be calling surf(X,Y,Z) instead?
Stephen23
2020년 4월 5일
Original function by Paul Ramirez, from Google Cache:
"Understanding how to use the function griddata"
graph = xlsread('Path3.xlsx');
x=graph(:,1);
y=graph(:,2);
z=graph(:,3);
[X,Y]= meshgrid(x,y);
Z = griddata(x,y,z,X,Y);
A = mesh(X,Y,Z);
hold on
surf(A);
hold off
xlabel('x'),ylabel('y'),zlabel('z'),title('title')
I have an excel file which I have imported with latitude, longitude and elevation in 3 columns. I'm trying to use the function meshgrid with the latitude and longitude values, and then the function griddata to fit the elevation data points to the meshgrid to develop a surface plot for latitude, longitude, and elevation. I keep getting the following two errors:
Error using surf (line 71)
Z must be a matrix, not a scalar or vector.
Error in (line 49)
surf(A);
>>
Rena Berman
2020년 5월 14일
(Answers Dev) Restored edit
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Geographic Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!