• 图像处理之matlab中meshgrid函数用法详解


    一、meshgrid()函数基本调用格式

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

    1、[X,Y] = meshgrid(x,y) :基于向量x和y中包含的坐标返回二维网格坐标。X是一个矩阵,每一行是x的一个副本,Y也是一个矩阵,每一列是y的一个副本。坐标X和Y表示的网格有length(y)个行和length(x)个列。

    2 、[X,Y] = meshgrid(x) 与 [X,Y] = meshgrid(x,x)相同,返回网格大小为length(x)*length(x)的方形网格矩阵。

    3、 [X,Y,Z] = meshgrid(x,y,z),返回由向量x,y,z定义的三维网格坐标,X,Y和Z表示的网格大小为length(x)*length(y)*length(z)。

    二、meshgrid()函数应用实例

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

    >> m=1:5;
    >> n=2:7;
    >> [A,B]=meshgrid(m,n)
    
    • 1
    • 2
    • 3

    运行结果:

    A是一个6*5矩阵, B 是一个 6 * 5矩阵,注意A的行是m的值,B的列是n的值。

    A =
    
         1     2     3     4     5
         1     2     3     4     5
         1     2     3     4     5
         1     2     3     4     5
         1     2     3     4     5
         1     2     3     4     5
    B =
    
         2     2     2     2     2
         3     3     3     3     3
         4     4     4     4     4
         5     5     5     5     5
         6     6     6     6     6
         7     7     7     7     7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    即A中的每个点对应的是x轴的坐标点,B中的每个点对应的是y轴的坐标点,即有(1,2),(2,2),(3,2),(4,2),(5,2),…,(1,7),(2,7),(3,7),(4,7),(5,7)。

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

    >> m=1:3;
    >> [A,B]=meshgrid(m)
    
    • 1
    • 2

    注意[A,B]=meshgrid(m)d等同于[A,B]=meshgrid(m,m)。
    运行结果:

    A =
    
         1     2     3
         1     2     3
         1     2     3
    B =
    
         1     1     1
         2     2     2
         3     3     3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    (3)[X,Y,Z] = meshgrid(x,y,z)

    >>x = 0:2:6;
    >>y = 0:1:6;
    >>z = 0:3:6;
    >>[X,Y,Z] = meshgrid(x,y,z)
    
    • 1
    • 2
    • 3
    • 4

    运行结果:

    X(:,:,1) =
    
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
    X(:,:,2) =
    
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
    X(:,:,3) =
    
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
         0     2     4     6
    Y(:,:,1) =
    
         0     0     0     0
         1     1     1     1
         2     2     2     2
         3     3     3     3
         4     4     4     4
         5     5     5     5
         6     6     6     6
    Y(:,:,2) =
    
         0     0     0     0
         1     1     1     1
         2     2     2     2
         3     3     3     3
         4     4     4     4
         5     5     5     5
         6     6     6     6
    Y(:,:,3) =
    
         0     0     0     0
         1     1     1     1
         2     2     2     2
         3     3     3     3
         4     4     4     4
         5     5     5     5
         6     6     6     6
    
    
    Z(:,:,1) =
    
         0     0     0     0
         0     0     0     0
         0     0     0     0
         0     0     0     0
         0     0     0     0
         0     0     0     0
         0     0     0     0
    Z(:,:,2) =
    
         3     3     3     3
         3     3     3     3
         3     3     3     3
         3     3     3     3
         3     3     3     3
         3     3     3     3
         3     3     3     3
    Z(:,:,3) =
    
         6     6     6     6
         6     6     6     6
         6     6     6     6
         6     6     6     6
         6     6     6     6
         6     6     6     6
         6     6     6     6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83

    (4)在二维网格上画图

    [x,y] = meshgrid(1:0.5:10,1:20);  
    z = sin(x) + cos(y);
    surf(x,y,z);  % surf() 函数用于绘制三维阴影曲面图
    
    • 1
    • 2
    • 3

    运行效果:
    在这里插入图片描述

  • 相关阅读:
    相对路径(下级,同级)
    Element登录+注册
    【数学篇】08 # 如何利用三角剖分和向量操作描述并处理多边形?
    docker安装Prometheus+Grafana监控系统(SpringBoot集成监控)
    Spring高手之路——深入理解与实现IOC依赖查找与依赖注入
    [人脸算法]技术方向综述
    【Linux】基本指令合集
    移动端微信浏览器调试工具整理eruda,微信x5调试工具无法使用,推荐新工具eruda和debugxweb
    推荐系统三十六式学习笔记:原理篇.模型融合13|经典模型融合办法:线性模型和树模型的组合拳
    MySQL视图
  • 原文地址:https://blog.csdn.net/qq_44111805/article/details/126273214