matlab中 meshgrid 函数的用法

matlab中 meshgrid 函数的用法转自:https://blog.csdn.net/foreverhuylee/article/details/32731349meshgrid是MATLAB中用于生成网格采样点的函数。在使用MATLAB进行3-D图形绘制方面有着广泛的应用。函数功能生成绘制3-D图形所需的网格数据。在计算机中进行绘图操作时,往往需要一些采样点,然后根据这些采样点来绘制出整个图形。在进行3-D绘图操作时,涉及到x、…

大家好,又见面了,我是你们的朋友全栈君。

meshgrid是MATLAB中用于生成网格采样点的函数。在使用MATLAB进行3-D图形绘制方面有着广泛的应用。

函数功能

生成绘制3-D图形所需的网格数据。在计算机中进行绘图操作时, 往往需要一些采样点,然后根据这些采样点来绘制出整个图形。
在进行3-D绘图操作时,涉及到x、y、z三组数据,而x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x, y)。

例如, 要在“3<=x<=5,6<=y<=9,z不限制
区间” 这个区域内绘制一个3-D图形,如果只需要整数坐标为
采样点的话。我们可能需要下面这样一个坐标构成的
矩阵

(3,9),(4,9),(5,9);

(3,8),(4,8),(5,8);

(3,7),(4,7),(5,7);

(3,6),(4,6),(5,6);   //
这些都是XOY平面的坐标点

在matlab中我们可以这样描述这个坐标
矩阵

把各个点的x坐标独立出来,得:

3,4,5;

3,4,5;

3,4,5;

3,4,5;

可以把这个矩阵设为X~~

再把各个点的y坐标也独立出来:

9,9,9;

8,8,8;

7,7,7;

6,6,6;

可以把这个矩阵设为Y~~

这样对应的x、y结合,便表示了上面的坐标
矩阵
meshgrid就是产生这样两个
矩阵,来简化我们的操作。然后根据(x, y)计算获得z,并绘制出三维图形。



语法

[X,Y] = 
meshgrid(x,y)    //
这个语句是用的最多的语句

上面的描述,我们可以知道,meshgrid返回的两个矩阵X、Y必定是行数、列数相等的
(即X、Y两个矩阵都有相同的行数,和相同的列数)

且X、Y的行数都等于输入参数y中元素的总个数,X、Y的列数都等于输入参数x中元素总个数(这个结论可以通过查看
meshgrid的源代码得到,可以通过示例程序得到验证)。(我们自己也可以体会到)

[X,Y]=
meshgrid(x)与[X,Y]=
meshgrid(x,x)是等同的

[X,Y,Z]=
meshgrid(x,y,z)生成三维
数组,可用来计算三
变量的函数和绘制三维立体图

相关函数: plot3、
mesh
surf、automesh、
ndgrid




我们自己也可以测试一下:

在MATLAB命令行中,输入一下内容~

x = rand(3, 4);
       y = rand(2, 3);
      [X, Y] = meshgrid(x, y)

回车后,会产生如下数据:

x =

    0.4039    0.9421    0.0598    0.8212
    0.0965    0.9561    0.2348    0.0154
    0.1320    0.5752    0.3532    0.0430

y =

    0.1690    0.7317    0.4509
    0.6491    0.6477    0.5470

X=

    0.4039    0.0965    0.1320    0.9421    0.9561    0.5752    0.0598    0.2348    0.3532    0.8212    0.0154    0.0430
    0.4039    0.0965    0.1320    0.9421    0.9561    0.5752    0.0598    0.2348    0.3532    0.8212    0.0154    0.0430
    0.4039    0.0965    0.1320    0.9421    0.9561    0.5752    0.0598    0.2348    0.3532    0.8212    0.0154    0.0430
    0.4039    0.0965    0.1320    0.9421    0.9561    0.5752    0.0598    0.2348    0.3532    0.8212    0.0154    0.0430
    0.4039    0.0965    0.1320    0.9421    0.9561    0.5752    0.0598    0.2348    0.3532    0.8212    0.0154    0.0430
    0.4039    0.0965    0.1320    0.9421    0.9561    0.5752    0.0598    0.2348    0.3532    0.8212    0.0154    0.0430

Y =

    0.1690    0.1690    0.1690    0.1690    0.1690    0.1690    0.1690    0.1690    0.1690    0.1690    0.1690    0.1690
    0.6491    0.6491    0.6491    0.6491    0.6491    0.6491    0.6491    0.6491    0.6491    0.6491    0.6491    0.6491
    0.7317    0.7317    0.7317    0.7317    0.7317    0.7317    0.7317    0.7317    0.7317    0.7317    0.7317    0.7317
    0.6477    0.6477    0.6477    0.6477    0.6477    0.6477    0.6477    0.6477    0.6477    0.6477    0.6477    0.6477
    0.4509    0.4509    0.4509    0.4509    0.4509    0.4509    0.4509    0.4509    0.4509    0.4509    0.4509    0.4509
    0.5470    0.5470    0.5470    0.5470    0.5470    0.5470    0.5470    0.5470    0.5470    0.5470    0.5470    0.5470


因为rand(3, 4)会自动生成一个3行4列的矩阵,且矩阵中的元素大小在0~1之间

rand(2, 3)会自动生成一个2行3列的矩阵,且矩阵中的元素大小在0~1之间~~

这样就相当于x轴有3*4即有12个元素,y轴有6个元素,

所以,在调用meshgrid时,X、Y矩阵会有6行12列,

在XOY平面,会产生 72 个点。。。


[X,Y]=meshgrid(-4:0.5:22,-11:0.5:10);

调用这个语句时,X轴方向会有26*2=52个点

Y轴方向会有21*2=42个点, 

所以,我们绘制的三维图像网格中,会有52*42=2184个点

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133054.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • singTask和FLAG_ACTIVITY_CLEAR_TOP的区别

    singTask和FLAG_ACTIVITY_CLEAR_TOP的区别假设所有的activity启动方式是standard,两者的区别就是1.intent中的flag为FLAG_ACTIVITY_CLEAR_TOP时,将指定activity上面的其他activity出栈,指定activity位于栈顶,但是可以使用已有的实例或者重新创建一个实例,取决于是否加一个FLAG_ACTIVITY_SINGLE_TOP标志如果加了,则不会重建实例,在onNewIntent()

    2022年7月17日
    13
  • Java中String转换为JSONArray发生错误[通俗易懂]

    Java中String转换为JSONArray发生错误[通俗易懂]直入主题:一个Map里面,有两种String:第一种解析的字符串结构keywords:[{keyword=关键字,matchType=1},{keyword=关键字,matchType=1}]这里假设Stringstr1=[{keyword=关键字,matchType=1},{keyword=关键字,matchType=1}]第二种解析的字符串结构keywords:[{…

    2022年6月20日
    80
  • offsetof 例子「建议收藏」

    offsetof 例子「建议收藏」
    /*offsetofexample*/
    #include”stdafx.h”
    #include
    #include
    /************************************************************************/
    /*MacroOBJECT_HEAD_ADDRESS:calculatethestruct’saddress

    2022年8月22日
    1
  • JVM调优工具

    JVM调优工具JVM调优工具Jconsole:jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。JProfiler:商业软件,需要付费。功能强大。VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。如何调优观察内存释放情况、集合类检查、对象树上面这些调优工具都提供了强大的功能,但是总的来说一般分为以下几类功能堆信息查…

    2022年6月1日
    34
  • 思科静态路由配置_思科交换机trunk配置命令

    思科静态路由配置_思科交换机trunk配置命令1.配置静态路由路由器可以将不同网段之间的网络连接到一起,当路由器接收到数据包后要查看数据包中的目标IP,再检查自己的路由表,如果路由表中有和目标IP相匹配的路由条目,路由器才能将数据包按照该路由条目所指定的端口转发出去,实现不同网络之间的通信,那么路由器中的路由表是如何实现的呢?配置了路由器接口IP并为UP状态路由表中自动生成直连路由,对于非直连的路由,需通过静态路由管理员手工添加或通过配置动…

    2022年9月24日
    0
  • MySQL基金会-基本数据库操作

    MySQL基金会-基本数据库操作

    2021年12月30日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号