MATLAB 3D Plot assistance needed

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 5K views
maxtor101
Messages
22
Reaction score
0
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
 
Physics news on Phys.org
http://www.mathworks.com/help/techdoc/learn_matlab/f3-40352.html

You need to create a meshgrid and use surf.
 
Thanks for your reply, however I'm still unsure as to handle the 6 different text files.

Code:
load plot1.txt
load plot2.txt
load plot3.txt
load plot4.txt
load plot5.txt
load plot6.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...?
 
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?