matlab中的meshgrid和生成网格是什么意思?

我试了下简单绘图,两个代码如下
theta=linspace(0,2*pi,100);fai=linspace(0,pi/2,100);
x=2.*sin(fai).*cos(theta);y=2.*sin(fai).*sin(theta);z=2.*cos(fai);
surf(x,y,z)
这样就有N个警报。改成
theta=linspace(0,2*pi,100);fai=linspace(0,pi/2,100);
[theta,fai]=meshgrid(theta,fai);
x=2.*sin(fai).*cos(theta);y=2.*sin(fai).*sin(theta);z=2.*cos(fai);
surf(x,y,z)
就OK了,书上说meshgrid是生成X-Y平面上的网格?搞不懂什么意思。。烦请各位大侠赐教。。

就是说你要画那种三维的图(就是z随着x和y变化的那种),要先把x和y向量变成矩阵才能画图。否则会报错。

meshgrid函数的作用是生成绘制3-D图形所需的网格数据。在计算机中进行绘图操作时, 往往需要一些采样点,然后根据这些采样点来绘制出整个图形。在进行3-D绘图操作时,涉及到x、y、z三组数据,而x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x, y)。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-30
surf你可以这样想。
一张坐标纸,当你知道每一个坐标点的高度数据时,是不是就有一个地形的立体形状。

所以你的坐标x,必须是这个坐标纸里面所有点的横坐标,

一般这样弄:
theta=linspace(0,2*pi,100);fai=linspace(0,pi/2,100);
[t,f]=meshgrid(theta,fai); %这个是画坐标纸上的点(当然这个是球坐标的)

x=2.*sin(f).*cos(t);y=2.*sin(f).*sin(t);z=2.*cos(f);

surf(x,y,z)本回答被提问者采纳
第2个回答  2019-12-11
_问题描述:我试了下简单绘图,两个代码如下
theta=linspace(0,2*pi,100);fai=linspace(0,pi/2,100);x=2.*sin
(fai).*cos(theta);y=2.*sin(fai).*sin(theta);z=2.*cos(fai);su
rf(x,y,z)这样就有N个警报。改成
theta=linspace(0,2*pi,100);fai=linspace(0,pi/2,100);[theta,f
ai]=meshgrid(theta,fai);x=2.*sin(fai).*cos(theta);y=2.*sin(f
ai).*sin(theta);z=2.*cos(fai);surf(x,y,z)就OK了,书上说
meshgrid是生成X-Y平面上的网格?搞不懂什么意思。。烦请各位大侠赐教。。答案1::
surf你可以这样想。一张坐标纸,当你知道每一个坐标点的高度数据时,是不是就有一个地形的立体形状。所以你的坐标x,必须是这个坐标纸里面所有点的横坐标,一般这样弄:
theta=linspace(0,2*pi,100);fai=linspace(0,pi/2,100);
[t,f]=meshgrid(theta,fai);
%这个是画坐标纸上的点(当然这个是球坐标的)
x=2.*sin(f).*cos(t);y=2.*sin(f).*sin(t);z=2.*cos(f);
surf(x,y,z)
提问者的评价:明白了~太感谢啦~
:::::::::::::::::::请参考以下相关问题::::::::::::::::::::
MATLAB中随机点的meshgrid
:::::::::::::::::::请参考以下相关问题::::::::::::::::::::
在matlab中meshgrid(-pi:0.1:pi)是什么意思?谢谢

matlab中的meshgrid和生成网格是什么意思?
meshgrid函数的作用是生成绘制3-D图形所需的网格数据。在计算机中进行绘图操作时, 往往需要一些采样点,然后根据这些采样点来绘制出整个图形。在进行3-D绘图操作时,涉及到x、y、z三组数据,而x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x, y)。MATLAB是美国MathWorks公司出品的...

meshgrid在matlab是什么意思
meshgrid在matlab是生成网格采样点的函数的意思。meshgrid是MATLAB中用于生成网格采样点的函数。在使用MATLAB进行3-D图形绘制方面有着广泛的应用。meshgrid()函数适用于n维数据。它的目的就是根据x值数组和y值数组创建一个矩形坐标。类似于x轴和y轴,但是这个x轴、y轴的范围和精度都是自己设定的。Python和...

matlab中的meshgrid和生成网格是什么意思?
一张坐标纸,当你知道每一个坐标点的高度数据时,是不是就有一个地形的立体形状。所以你的坐标x,必须是这个坐标纸里面所有点的横坐标,一般这样弄:theta=linspace(0,2*pi,100);fai=linspace(0,pi\/2,100);[t,f]=meshgrid(theta,fai);这个是画坐标纸上的点(当然这个是球坐标的)x=2.*sin(...

MATLAB中meshgrid是什么函数
meshgrid是生成网格空间;由x、y坐标轴上的点生成平面的交叉点 如x是1、2、3;y是1、2、3;meshgrid后,就是9个交叉点,(1,1),(1,2),(1,3),(2,1),(2,2)...

请问matlab函数中mesh函数是什么意思?与meshgrid有什么不同?
meshgrid是生成网格空间;mesh是在该空间画网线图的;

matlab如何生成网格图像?
在MATLAB中,可以通过使用`meshgrid`函数生成网格图像。详细解释:在MATLAB中,生成网格图像是一个常见的需求,特别是在进行三维图形绘制或数据处理时。`meshgrid`函数是MATLAB中用于生成网格点矩阵的函数,它可以方便地创建出二维或三维的网格,为进一步的数据分析或图形绘制提供基础。具体来说,`meshgrid`函数...

meshgrid在matlab是什么意思
meshgrid在matlab是用于生成网格采样点的函数。在使用MATLAB进行3-D图形绘制方面有着广泛的应用。MATLAB(矩阵实验室),全称为MatrixLaboratory,是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。MATLAB具有数值分析、数值和符号计算、工程与科学...

MATLAB中的meshgrid具体实例?
meshgrid是MATLAB中用于生成网格采样点的函数。在使用MATLAB进行3-D图形绘制方面以及画矢量图方面有着广泛的应用。下面就来介绍一下该命令。1. meshgrid meshgrid用于从数组a和b产生网格。生成的网格矩阵A和B大小是相同的。它也可以是更高维的。[A,B]=Meshgrid(a,b)生成size(b)Xsize(a)大小的矩阵A...

matlab中,meshgrid的作用是什么啊?小白,求指教
meshgrid的作用是生成X-Y平面上的网格数据,也可以这么说相当于将X、Y表格化,横向为X向量,纵向为Y向量。而Z=X.*exp(X-cos(X)+sin(Y))用来计算X-Y平面上的各值网格点的z高度值。应用过程:x=0:0.1:10;y=0:0.1:10;[X,Y]=meshgrid(x,y);Z=X.*exp(X-cos(X)+sin(Y));mesh(...

meshgrid在matlab是什么意思?
mesh()是matlab中的一个函数,用来绘制由线条框构成的曲面。1、mesh()语法格式:mesh(X,Y,Z)X、Y、Z中Z通常是X,Y的函数,即Z(X,Y)。X、Y通常是通过调用meshgrid函数生成的数据网格。2、函数功能:生成由X,Y和Z指定的网线面,由C指定的颜色的三维网格图。网格图是作为视点由view(3)设定的...

相似回答