我尝试使用the slice command中描述的Exploring Volumes with Slice Planes之类的内容,但我想要显示的函数是以下标量字段:
F(X,Y,Z)=分钟(1.x中,2.Y,3.Z)
我做:
[x,y,z]=meshgrid(0:10,0:10,0:10);
我不确定它是否正确,但我尝试过:
v=min([x.*1,y.*2,z.*3]);
问题是(我不知道为什么)这会产生一个1x33x11阵列,在运行切片时逻辑上会导致错误(因为v需要与x,y和z相同,即11x11x11) 。
如何根据切片生成v?
答案 0 :(得分:3)
问题在于代码的这一部分:
[x.*1,y.*2,z.*3]
在这里,您只需附加三个矩阵,得到一个[11 33 11]矩阵,而不是将它们叠加到[11 11 11 3]矩阵中。为此,请使用cat
将三个3D矩阵堆叠在第四维中。
v=min(cat(4,x.*1,y.*2,z.*3),[],4);