How to plot a 3 dimensional matrix against its last independent variables?
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
John BG
2017 年 1 月 13 日
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?
採用された回答
John Chilleri
2017 年 1 月 13 日
編集済み: John Chilleri
2017 年 1 月 13 日
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!
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!