我有一个问题。所以我有一个XxYxZ = 10x5x20的3D矩阵。我想借助isosurface绘制这个矩阵。所以首先我需要创建一个网格网格,但是当我说:[X,Y,Z] = meshgrid(1:10,1:5,1:20)
我得到一个5x10x20的网格时出现了第一个问题,但我想要10x5x20。为什么是这样?我的想法只是更改X和Y [Y,X,Z] = meshgrid(1:10,1:5,1:20)
当我尝试使用此网格绘制矩阵时:isosurface(X,Y,Z,M)
我收到错误"输入网格不是有效的MESHGRID&# 34;
有什么问题?
谢谢
答案 0 :(得分:5)
你被matlab搞砸了,X-Dimension是第二个,Y-Dimension是第一个。按照记录使用它:
[m,n,p] = size(V)
[X,Y,Z] = meshgrid(1:n,1:m,1:p)
isosurface(X,Y,Z,V)
请注意第一行和第二行中n和m的交换顺序。