栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

网格数据生成函数meshgrid

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

网格数据生成函数meshgrid

想要画三维图,得到网格坐标非常重要,matlab提供了一个叫做meshgrid的函数,很容易就可根据参数生成网格化坐标,当然,这些网格化坐标是以一种特定的计算方法生成的。

语法:

[X,Y] = meshgrid(x,y)

[X,Y] = meshgrid(x)

说明:在这里第一种方式,x,y都是向量,而生成的X,Y则是矩阵。其中X的每一行是由x中的数按顺序构成,Y的每一列由y中的数按顺序构成。

第二种方式本质上是x与y相等情况下的一种简写。

来看一些例子:

>> x=1:4

x =

1     2     3    4

>> y=1:5

y =

1     2     3    4     5

>> [X,Y]=meshgrid(x,y)

X =

1     2     3    4

1     2     3    4

1     2     3    4

1     2     3    4

1     2     3    4

Y =

1     1     1    1

2     2     2    2

3     3     3    3

4     4     4    4

5     5     5    5

可以看出,生成的X,Y维数相同,相同位置数据构成一组数(坐标),这样就构成了一个网格。

当然,还有另一种网格数据生成方式,

>> x=1:4

x =

1     2     3    4

>> y=(1:5)'   

y =

1

2

3

4

5

>> X=ones(size(y))*x

X =

1     2     3    4

1     2     3    4

1     2     3    4

1     2     3    4

1     2     3    4

>> Y=y*ones(size(x))

Y =

1    1     1     1

2     2     2    2

3     3     3    3

4     4     4    4

5     5     5    5

两种方式结果相同,当然,meshgrid函数要复杂得多,有兴趣的可以在matlab命令行输入edit meshgrid,打开meshgrid函数看看。得到网格数据之后,那么便可进行三维图形绘制了。

>> Z=X.^2+Y

Z =

2     5    10   17

3     6    11   18

4     7    12   19

5     8    13   20

6     9    14   21

>> surf(X,Y,Z)

这样一个三维图形就已经画好了,本质上也就是将二维坐标与第三维坐标结合形成三维坐标,然后连线,填充生成曲面。

我的公众号:简单编程之旅

欢迎关注!

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1029643.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号