zoukankan      html  css  js  c++  java
  • meshgrid方法

    meshgrid

    meshgrid 和 mesh 方法的差别在于是否会画出栅格线

    绘制曲面图

    • 生成绘制3D图形所需的网格数据。因为在计算机中进行绘图操作时,往往需要一些采样点,然后根据这些采样点来绘制出整个图形。

    • 涉及到x、y这两组数据可以看做是在 Oxy 平面内对坐标进行采样得到的坐标对(x, y)。

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

      • 解释:输出 X 的每一行的数值都是复制的x的值;输出 Y 的每一列的数值都是复制的y的值。
      • 所以,若x-1xm维, y-1xn维,则[X,Y]为 mxn 维
      • 也就是说,在 XOY 平面上,用m个x和n个y,通过不断做垂线,产生交点从而生成小的矩形网格的方法,生成网格图。
    • [X,Y]=meshgrid(x)[X,Y]=meshgrid(x,x) 是等同的

      % meshgrid--draw 2D figure.
      >> a=[1 2 3]; b= [2 3];
      >> [x y]=meshgrid(a,b)
      x =
           1     2     3
           1     2     3
      y =
           2     2     2
           3     3     3
      % shape(x)=shape(y)=2x3
      
      % Draw 3D figure
      [X,Y] = meshgrid(-2:.2:2, -2:.2:2);
      Z = Y .* exp(-X.^2 - Y.^2);
      mesh(X,Y,Z)
      
      • 结果图片:Meshgrid-1.jpgMeshgrid-1.jpg
    • 从 R2016b 开始,操作网格之前并不总是需要先创建网格,可以直接使用 surf 语句 surf(x, y, z)

    三维网络

    • [X,Y,Z]=meshgrid(x,y,z) 生成三维数组

    • 在区间 [0,6] 内使用定义的 x、y 和 z 坐标创建三维网格坐标,并计算表达式 (x^2+y^2+z^2)

      x = 0:2:6;
      y = 0:1:6;
      z = 0:3:6;
      [X,Y,Z] = meshgrid(x,y,z);
      F = X.^2 + Y.^2 + Z.^2;
      
    • 确定网格的大小。三个坐标向量具有不同的长度,构成一个网格点矩形框。

      gridsize = size(F)
      
      % 结果
      gridsize = 1×3
      
       7     4     3
      
      • 输出的 gridsize 是 x-y-z 的三个维度。
      • 也就是说,X,Y,Z都是 7x4。每个都是3层,即X[:,:,1-3]
        • X 的每行都是0,2,4,6;
        • Y 的每列都是0-6;
        • Z 的所有元素都是0,3,6;
      • 可以理解成 z 层 x-y 平面。比如本题 3层7x4 平面。
    • 使用单输入语法,基于 x 中定义的坐标生成均匀分布的三维网格。新网格构成一个网格点正方体。

      [X,Y,Z] = meshgrid(x);
      G = X.^2 + Y.^2 + Z.^2;
      gridsize = size(G)
      
      % 结果
      gridsize = 1×3
      
       4     4     4
      
      • 此时只输入 x,因为 x 只有4个元素,则 X-Y-Z 皆是 4x4维矩阵,共有4层。X的每行都是0,2,4,6; Y的每列都是0,2,4,6; Z的所有元素都是0,2,4,6。
  • 相关阅读:
    Android安全机制
    service不死之身
    图片加载机制比较
    handler机制面试
    SharedPreferences封装类
    文字太长自动缩小
    ANR
    onCreate源码分析
    线程池的启动策略
    Oauth认证协议
  • 原文地址:https://www.cnblogs.com/rongyupan/p/12662534.html
Copyright © 2011-2022 走看看