【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」

【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」meshgrid函数用来生成网格矩阵,可以是二维网格矩阵,也可以是三维。对于生成二维网格,用法为:[xy]=meshgrid(ab); %a和b是一维数组,如a=[123];b=[234];则生成的x和y都是二维的矩阵,x的每行都是123,共三行,y每列都是234,共三列。举个实例:Forexample, toevaluateth

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

——————————————————————

 meshgrid 函数用来生成网格矩阵,可以是二维网格矩阵。

  • exp1_1:生成二维网格,用法为:[x y]=meshgrid(a b);  % a 和b是一维数组,如a=[1 2 3]; b= [2 3 4]; 则生成的 X 和 Y 都是为 3X3 维的矩阵,

>> [x y]=meshgrid(a,b)
x =
    1     2     3
    1     2     3
    1     2     3
y =
  2     2     2
  3     3     3
  4     4     4
    

  • exp1_2:生成二维网格,用法为:[x y]=meshgrid(a b);  % a 和b是一维数组,如a=[1 2 3]; b= [2 3]; 则生成的 X 和 Y 都是为 3X2 维的矩阵,

>> [x y]=meshgrid(a,b)
x =
     1     2     3
   
 1     2     3
y =
     2     2     2
     3     3     3

  • exp1_3:生成二维网格,用法为:[x y]=meshgrid(a b);  % a 和b是一维数组,如a=[1 2]; b= [2 3 4]; 则生成的 X 和 Y 都是为 2X3 维的矩阵,

>> [x y]=meshgrid(a,b)
x =
     1     2
     1     2
     1     2
y =
      2     2
      3     3
      4     4

——————————————————————
 meshgrid 函数用来生成网格矩阵,可以是三维网格矩阵。
  • exp2_1:生成三维网格,

x 的每行都是 1 2 3,共三行,y 每列都是2 3 4,共三列。

举个实例:估计函数:x*exp(-x^2-y^2),取值范围 -2 < x < 2, -2 < y < 2,

                [X,Y] = meshgrid(-2:.2:2, -2:.2:2);

                 Z = Y .* exp(-X.^2 – Y.^2);

                 mesh(X,Y,Z)

对于三维网格,生成方式与二维一样 :[x y z]=meshgrid(a b c) ; %算出的结果根据二维的类推

附件:二维网格例子的结果图。

 【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」

——————————————————————

meshgrid和ndgrid的区别及用法

实例:z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y), 用三次样条插值方法得到三维数据网格的样条插值拟合,并绘制曲面
  x0=-3:.6:3;
  y0=-2:.4:2;
  [x,y]=ndgrid(x0,y0);
%{
>> x0=-3:.6:3;y0=-2:.4:2;
  [x,y]=ndgrid(x0,y0)
x =
  Columns 1 through 6
   -3.0000   -3.0000   -3.0000   -3.0000   -3.0000   -3.0000
   -2.4000   -2.4000   -2.4000   -2.4000   -2.4000   -2.4000
   -1.8000   -1.8000   -1.8000   -1.8000   -1.8000   -1.8000
   -1.2000   -1.2000   -1.2000   -1.2000   -1.2000   -1.2000
   -0.6000   -0.6000   -0.6000   -0.6000   -0.6000   -0.6000
    0       0       0       0       0       0
    0.6000   0.6000   0.6000   0.6000   0.6000    0.6000
    1.2000   1.2000   1.2000   1.2000   1.2000    1.2000
    1.8000   1.8000   1.8000   1.8000   1.8000    1.8000
    2.4000   2.4000   2.4000   2.4000   2.4000    2.4000
    3.0000   3.0000   3.0000   3.0000   3.0000    3.0000
  Columns 7 through 11
   -3.0000   -3.0000   -3.0000   -3.0000   -3.0000
   -2.4000   -2.4000   -2.4000   -2.4000   -2.4000
   -1.8000   -1.8000   -1.8000   -1.8000   -1.8000
   -1.2000   -1.2000   -1.2000   -1.2000   -1.2000
   -0.6000   -0.6000   -0.6000   -0.6000   -0.6000
    0       0       0       0       0
    0.6000    0.6000    0.6000    0.6000    0.6000
    1.2000    1.2000    1.2000    1.2000    1.2000
    1.8000    1.8000    1.8000    1.8000    1.8000
    2.4000    2.4000    2.4000    2.4000    2.4000
    3.0000    3.0000    3.0000    3.0000    3.0000
y =
  Columns 1 through 6
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
   -2.0000   -1.6000   -1.2000   -0.8000   -0.4000         0
  Columns 7 through 11
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
    0.4000    0.8000    1.2000    1.6000    2.0000
%}
  z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);
  sp=csapi({x0,y0},z);
  fnplt(sp);
附件:san维网格例子的结果图。
【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」
            
  • 其实,对于2D,3D使用meshgrid和ndgrid都可以,但要注意:
  • [X1,X2,X3] = NDGRID(x1,x2,x3)<=>[X2,X1,X3] = MESHGRID(x2,x1,x3)
  • x和y轴要反向
            
  • 为何呢?帮助说的很清楚:因为NDGRID适用于n维空间,而meshgrid适用于笛卡尔空间。
  • meshgrid和ndgrid的用法不同之处在于:2D、3D都可以使用(区别是x轴,y轴的转换),但对于4D、5D...只能使用ndgrid.
  • 为什么要使用meshgrid?
  • matlab使用矩阵的方式进行运算,对于2D而言,如果采样10个点(指x,y轴),那么对于x=第一个采样点,反映到矩阵就是10个,即不管y是哪个值,x的第一采样点保持不变;对y是同理。因此,2D产生的x和y都是两维矩阵。
  • 最后给一个实例,说明两者在这里是通用的:
x0=-3:.6:3; y0=-2:.4:2; [x,y]=ndgrid(x0,y0); [Y,X]=meshgrid(y0,x0); z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); Z=(X.^2-2*X).*exp(-X.^2-Y.^2-X.*Y); SP1=csapi({x0,y0},z); SP2=csapi({x0,y0},Z); subplot(121),fnplt(SP1); subplot(122),fnplt(SP2);

附件:meshgrid和ndgrid网格例子的结果比较图

【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」

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

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

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

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

(0)


相关推荐

  • 网管员常用工具(二)「建议收藏」

    网管员常用工具(二)「建议收藏」EVERESTeverest中文版是一款系统硬件检测工具。everest中文版可以对上千种主板和硬件进行检测,可以有效地检测出用户电脑硬件的所有信息,尤其可以对各种型号处理器进行检测,让用户对自己电脑总体性能有个直观了解。HDTuneHDTunePro是一款小巧易用的硬盘工具软件,其主要功能有硬盘传输速率检测,健康状态检测,温度检测及磁盘表面扫描等。另外,还能检测出硬盘的固件版本、…

  • rabbitmq集群安装_java实现消息队列

    rabbitmq集群安装_java实现消息队列rabbitmq集群搭建失败解决随记1现象:2原因:3解决方法:1现象:1、各节点已改hosts,各节点ping节点名正常。2、md5sum.erlang.cookie各节点值一样。按以下步骤加入失败:$rabbitmqctlstop_app #停止rabbitmq服务$rabbitmqctlreset #清空节点状态$rabbitmqctljoin_clusterrabbit@rabbitmq3$rabbitmqctlstart_app

  • Linux TC(Traffic Control)框架原理解析

    Linux TC(Traffic Control)框架原理解析

  • python中griddata的外插值_python中griddata的外插值_griddata二维插值

    python中griddata的外插值_python中griddata的外插值_griddata二维插值”””SimpleN-Dinterpolation..versionadded::0.9″””##Copyright(C)PauliVirtanen,2010.##DistributedunderthesameBSDlicenseasScipy.###Note:thisfileshouldberunthroughtheMakotemplateeng…

  • Js保留两位小数_小数点保留两位方法

    Js保留两位小数_小数点保留两位方法javascript语言,因为是弱类型语言,没有java那么多类型,所以在处理浮点数保留两位小数上,没有那么多办法,su但是字符串和整数,浮点数还是有区别的,

  • Spring整合SpringDataJpa的乐观锁与悲观锁详情

    Spring整合SpringDataJpa的乐观锁与悲观锁详情Spring整合SpringDataJpa的乐观锁与悲观锁详情一、概述上一篇《Spring和SpringDataJpa整合详解》介绍了Spring如何结合Spring-data-jpa进行数据库访问操作。这一篇介绍下springmvc环境下spring-data-jpa如何进行乐观锁、悲观锁的使用。悲观锁和乐观锁的概念:悲观锁:就是独占锁,不管读写都上锁了。传统的关系型数据库里边就用到…

发表回复

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

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