Error: Input grid is not a valid Meshgrid

橙三吉。 提交于 2019-12-23 02:27:13

问题


I have a question. So I have a 3D matrix of XxYxZ = 10x5x20. I want to plot this matrix with the help of isosurface. So first I need to create a mesh grid, but here comes the first problem when I say: [X,Y,Z] = meshgrid(1:10,1:5,1:20) I get a grid of 5x10x20, but I want 10x5x20. Why is this? My idea was to just change the X and Y [Y,X,Z] = meshgrid(1:10,1:5,1:20) When I try to plot the matrix with the help of this grid: isosurface(X,Y,Z,M) I get the error "Input grid is not a valid MESHGRID"

What is the problem?

Thank you


回答1:


You got screwed by matlab, the X-Dimension is the second and the Y-Dimension is the first. Use it as documented:

[m,n,p] = size(V)
[X,Y,Z] = meshgrid(1:n,1:m,1:p)
isosurface(X,Y,Z,V)

Please notice the swapped order of n and m in the first and second line.



来源:https://stackoverflow.com/questions/28418095/error-input-grid-is-not-a-valid-meshgrid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!