Help with the surf function

3 views (last 30 days)
Falon Treis
Falon Treis on 28 Apr 2021
Commented: Falon Treis on 28 Apr 2021
I am trying to create a surface plot of a matrix I created, but I need to make lattitude and longitue in to 180x360 matrices as well in order for the function to work. My code is below:
%Plot Slopematrix
addpath('C:\Users\Falon Treis\Documents\MATLAB\CE1_2C_slopematrix.mat');
%addpath('C:\Users\Falon Treis\Documents\MATLAB\CE2_2C_slopematrix.mat');
load('CE1_2C_slopematrix.mat')
k = 1:180; %lat make have 180x 360 matrix
m = 1:360; %long
z = slopematrix; %180x360
surf(k, m, z)
%surf(k, m, z)
save CE1_2C_slope_plot.mat
%save CE2_2C_slope_plot.mat

Answers (1)

Walter Roberson
Walter Roberson on 28 Apr 2021
surf(k, m, z.')
Remember that the rows correspond to y not to x
  5 Comments
Walter Roberson
Walter Roberson on 28 Apr 2021
lat is vertical, not horizontal, so you should not be using it as your x.
k = 1:180; %lat make have 180x 360 matrix
m = 1:360; %long
slopematrix = sort(rand(length(k), length(m)));
size(slopematrix)
ans = 1×2
180 360
z = slopematrix;
surf(m, k, z)
xlabel('long')
ylabel('lat')
zlabel('slope')
Falon Treis
Falon Treis on 28 Apr 2021
Ok. I see that now. Thank you very much for your time and patience.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!