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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm2021.11激活码_在线激活

    (pycharm2021.11激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    48
  • PHP条件语句if的使用

    PHP条件语句if的使用

    2021年10月9日
    45
  • Windows下RStudio的下载与安装教程

    Windows下RStudio的下载与安装教程一、下载与安装R注意:R是RStudio的基础,必须先安装R,再安装RStudio。因为RStudio自身并不附带R程序。R的下载与安装可见博客:Windows下安装R二、下载RStudio安装包进入RStudio下载官网:添加链接描述点击“RStudioDesktopFree”下的“DOWNLOAD”开始下载对应自己的系统,选择合适的版本(我这里选择win10),等待安装包下载完成即可。三、安装RStudio双击运行下载好的安装包点击“下一步”选择好安装目录后点击“下

    2022年6月29日
    24
  • java properties读取配置文件_jdk的path变量应该怎么设置

    java properties读取配置文件_jdk的path变量应该怎么设置JettywarNamewarWEB-INFjetty-webxmlTomcatMETA-INFcontextxmlServerxml默认contextxmlURL:http://hostname.com/contextPath/servletPath/pathInfoJetty如果没有contextPath,则默认使用root上下文,root上下文的路

    2022年9月17日
    3
  • Java异常面试题(2020最新版)

    Java异常面试题(2020最新版)文章目录Java异常架构与异常关键字Java异常简介Java异常架构1.Throwable2.Error(错误)3.Exception(异常)运行时异常编译时异常4.受检异常与非受检异常受检异常非受检异常Java异常关键字Java异常处理声明异常抛出异常捕获异常如何选择异常类型常见异常处理方式直接抛出异常封装异常再抛出捕获异常自定义异常try-catch-finallytry-with-r…

    2022年5月19日
    27
  • Linux重启网卡失败_centos7重启后网卡不启动

    Linux重启网卡失败_centos7重启后网卡不启动重启网卡报错:Restartingnetwork(viasystemctl):Jobfornetwork.servicefailedbecausethecontrolprocessexitedwitherrorcode.本人解决办法:去windows里面查找一下关于网卡的服务是否打开如果没有则手动开启这两个服务。有可能是UUID冲突,这里j简单介绍一…

    2022年9月22日
    3

发表回复

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

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