MATLAB Answers

Bora Tek

X Y Z Surface Plot Problem

Asked by Bora Tek
on 20 Apr 2012

Hello Friends,

I need your assistance about plotting x y z axis surface graphic

I have tunnel data on excel; Tunnel lenght, Temperature, Time

I want to show these datas on matlab

here is my datas

Thank you so much



No products are associated with this question.

3 Answers

Answer by Matt Tearle
on 20 Apr 2012
 Accepted answer
data = xlsread('filename.xlsx');  % read in everything (numeric)
t = data(1,2:end);                % first row (except first element)
l = data(2:end,1);                % first column (except first element)
temp = data(2:end,2:end);         % actual data in the table
surf(t,l,temp)                    % make surface plot


Bora Tek
on 20 Apr 2012

Thank you so much Matt Tearle :)

I'm a rookie on matlab by the way :)

Matt Tearle
on 20 Apr 2012

Welcome. No problem, we all start somewhere :)

Answer by Bora Tek
on 20 Apr 2012

Thank you so much for your help Matt, This link will help me im sure :) I have one more question, can i change x axis position with y axis? if i can do that, do i have to change my excel data? i want to show my datas like this.

Here is the link :

Thank you

  1 Comment

Matt Tearle
on 23 Apr 2012

You mean exchange the x and y axes? Yes, just transpose your data matrix:

temp = data(2:end,2:end)';

Answer by Bora Tek
on 29 Apr 2012

Hi Matt,

I changed the code as you said;

data = xlsread('sıcaklık100mw.xlsx'); 
t = data(1,2:end);                
l = data(2:end,1);                
temp = data(2:end,2:end);        

But i got this error message:

Error using surf (line 75)
Data dimensions must agree.

  1 Comment

Matt Tearle
on 30 Apr 2012

Note the transpose operator (') at the end of the command temp = data(2:end...

temp is a matrix with m rows and n columns. When making a surface plot, the m rows are taken to be the values at m y locations; the n columns are taken to be the values at n x locations. So when you do surf(x,y,temp), the x vector should have n elements, and y should have m elements. To switch x and y, you need to flip (transpose) the matrix *and* the x and y vectors in the surf command.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today