Surface Plot using excel file as a source

Hello,
I am a new user to Matlab and I am trying to create a surface plot for data analysis, so it would be great if you can assist a fellow newbie.
Attached you will find a sample xls file .
When I am running the below script I am getting an error with the message "Data dimensions must agree."
Did I miss something? Thanks in advance and any help will be much appreciated.
filename = PlotData.xlsx';
num = xlsread(filename) ;
x = num(2:end,1) ;
y = num(1,2:end) ;
Z = num(2:end,2:end) ;
surf(x,y,Z)

1 Comment

Thanks for your swift reply Mathieu, it worked like a charm.
Cheers.

Sign in to comment.

 Accepted Answer

hello Andreas
simply , you inverted x and y vectors
this is correct :
filename = 'PlotData.xlsx';
num = xlsread(filename) ;
x = num(1,2:end) ;
y = num(2:end,1) ;
Z = num(2:end,2:end) ;
surf(x,y,Z)

More Answers (1)

x = A(1,2:end) ;
y = A(2:end,1) ;
Z = A(2:end,2:end) ;
surf(x,y,Z) ;

2 Comments

surf(x,y,Z')
or
surf(y,x,Z)
The above also will work along with the answer given.
Thanks for your swift reply KSSV, both your answer and Mathieu's worked.
Cheers.

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!