Understanding how to use the function griddata
Ältere Kommentare anzeigen
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 Kommentare
Geoff Hayes
am 5 Apr. 2020
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
am 5 Apr. 2020
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
am 14 Mai 2020
(Answers Dev) Restored edit
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Geographic Plots finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!