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个点

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 三种方法求逆矩阵_列举出求逆矩阵的三个方法

    三种方法求逆矩阵_列举出求逆矩阵的三个方法求出逆矩阵的2种手算方法:待定系数法、伴随矩阵法待定系数法求逆矩阵:首先,我们来看如何使用待定系数法,求矩阵的逆。举例:矩阵A=12-1-3假设所求的逆矩阵为abcd则从而可以得出方程组a+2c=1b+2d=0-a-3c=0-b-3d=1解得a=3b=2c=-1d=-1所以A的逆矩阵A⁻¹=32-1-1伴随矩阵求逆矩阵:伴随矩阵是矩阵元素所对应的代数余子式,所构成的矩阵,转置后得到的新矩阵。我们先求出伴随矩阵A*=-3-211接下来,

  • python Fake 安装使用

    python Fake 安装使用安装Faker使用pip安装pipinstallFaker或者去Faker的PyPI页面下载Wheel或者Source文件进行安装:基本用法fromfakerimportFaker#1fake=Faker()#2fake.name()#3DonnaKellyfake.address()#4519DonnaRiverPortNatalie,SD87384从faker

    2022年10月16日
  • 2021.5.2 idea 激活码(最新序列号破解)[通俗易懂]

    2021.5.2 idea 激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • java与python那个更好_java和python哪个更好用?

    java与python那个更好_java和python哪个更好用?互联网上的许多文章都举例论证了Python和Java之间的比较。但是没有人给出“java和python哪个更好用?”的明确理由。我们都知道,如今Python正在与几乎每种编程语言竞争。甚至它还在与世界上最强大的编程语言-Java竞争,Java是创建桌面应用程序的最佳编程语言之一。同时它也用于数据科学领域。因此,这两种编程语言在各个行业中都在相互竞争。在进行比较之前,让我们看一下这两种语言的概述。…

  • 推荐系统中的常用算法——Wide & Deep

    推荐系统中的常用算法——Wide & Deep这篇文章是阅读《Wide&amp;DeepLearningforRecommenderSystems》后的总结,该文章中提出结合Wide模型和Deep模型的组合方法,对于提升推荐系统(RecommendationSystem)的性能有很重要的作用。1、背景本文提出Wide&amp;Deep模型,旨在使得训练得到的模型能够同时获得记忆(memorization)…

  • linux如何卸载jdk版本并重装_centos卸载jdk

    linux如何卸载jdk版本并重装_centos卸载jdklinuxcentos7自带了openjdk,这个版本的jdk是缺少一部分功能的,最好重新安装oraclejdk。但在没有卸载openjdk就安装oraclejdk时,部分依赖包装不上,后期程序运行时会出现问题。以下为卸载jdk的步骤(openjdk或oraclejdk)和安装步骤。#1.查看目前系统中包含的jdk版本rpm-qa|grepjdk#2.得到的结果如下:java-1.8.0-openjdk-1.8.0.322.b06-1.e

发表回复

您的电子邮箱地址不会被公开。

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