How to plot a 3 dimensional matrix against its last independent variables?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Udit Srivastava
le 12 Jan 2017
Commenté : Udit Srivastava
le 15 Jan 2017
suppose that I have a variable 'u' which depends on 3 independent variables 'x', 'y' and 'z'.
If i,j,k indicate x,y,z steps respectively, like suppose that
n=10;
x=linspace(0,1,n);y=linspace(0,1,n);z=linspace(0,1,n);
for i=1:n
for j=1:n
for k=1:n
u(i,j,k)=x(i)+y(j)+z(k);
end
end
end
I want to see the variation of 'u' with 'z'. How can I do that?
I know it will be a straight line in this case but how to plot the graph as plot command plots graphs by considering only first 2 independent variables.
5 commentaires
John BG
le 13 Jan 2017
Udit
wouldn't it be easier to start with a concise definition of u=f(x,y,z)?
is it possible for you to code, if only approximately, the function you write about?
Réponse acceptée
John Chilleri
le 13 Jan 2017
Modifié(e) : John Chilleri
le 13 Jan 2017
Hello,
A simple solution to get around your problem is:
for i = 1:size(u,3)
uplot(i) = u(3,5,i);
end
plot(z,uplot)
I believe that the reason it is encountering trouble is because you can think of a 3d array as sheets of 2d arrays, and although it can call x and y across a sheet, it would need to call one z value from each sheet ("2 dimensions") which it can't do, I would take this explanation with a grain of salt.
Hope this helps!
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!