# MATLAB 3D Plot assistance needed

• MATLAB
maxtor101
Hi guys! Kinda stuck here..

I'm trying to plot the temporal temperature distribution across a metal rod of length 1 meter. The rod is heated at one end and the temperature is measured every 5 cm along the meter rod every 10 minutes for an hour.

Basically I have 6 text files, each containing 20 temperature values. This will go on the z-axis.
Then I have a vector y = [0:5:100]; for the position along the rod. Then I have another vector t containing the times at which i measured the temperature.

So far I've used the load command to read in the data from the text files into 6 vectors. And I have the "position" vector y = [0:5:100]; . I'm not sure how to make this into a three dimensional plot though, I'm very new to matlab.

Any help would be greatly appreciated!
Thanks!
Max

## Answers and Replies

Gold Member
http://www.mathworks.com/help/techdoc/learn_matlab/f3-40352.html

You need to create a meshgrid and use surf.

maxtor101
Thanks for your reply, however I'm still unsure as to handle the 6 different text files.

Code:
load plot1.txt

for i=1:6,
[X] = meshgrid(0:10:60);
[Y] = meshgrid(0:5:100);
[Z] = plot(i);
mesh(X,Y,Z,'EdgeColor','black')
end

I'm guessing it will be something along the lines of this....?

maxtor101
But this throws up an error
Code:
 ??? Error using ==> mesh at 80
Z must be a matrix, not a scalar or vector.

Error in ==> plots at 14
mesh(X,Y,Z,'EdgeColor','black')

Any ideas?