zoukankan      html  css  js  c++  java
  • matlab画3维meshgrid/plot3/mesh/surf的用法

    MATLAB三维绘图基础meshgrid函数的用法解析:见参考网址1

    介绍3类(plot3/mesh/surf)7种三维图像绘制的方法。见参考网址2 

    plot3 三维曲线图;

    mesh 三维网格图;

    meshc 除了生成网格图外,还在xy平面生成曲面的等高线;

    meshz 除了生成网格图外,还在曲线下面加上个矩形垂帘;

    surf   三维着色曲面图;

    surfc  同时画出三维着色曲面图与等高线;

    surfl   带光照的三维着色曲面图。

      MATLAB中meshgrid函数是用来生成网格的,函数用法是:
      [X,Y] = meshgrid(x,y);这种是最常用的一种用法。x和y分别是两个向量。使用示例:

     

     结果:

     A中的每个点对应的是x轴的坐标点,B中的每个点对应的是y轴的坐标点,讲的有点抽象,下面画图来说明一下。
    绘制出来的坐标是:

     坐标所对应的点是:

    其实A表示将从第一行开始到最后一行的x轴的坐标值为A矩阵的行,所以按照上图所示A矩阵就是:

    B表示将从第一列开始到最后一列的y轴的坐标值为B矩阵的列,按照上图所示B矩阵就是:

     所以可以知道meshgrid函数的本质是确定x,y坐标轴上每个位置的值。这个在绘制三维图的时候非常重要,因为三维图其实就是根据x,y平面的每个位置上对应着一个特定的z,然后将它绘制出来,就是所谓的三维图。
    根据以上原理简单绘制一个三维图,示例:

    1 %% 学习画三维图形
    2 % meshgrid 函数是用来生成一个网格
    3 clear; clc; close all;
    4 [x,y] = meshgrid(1:0.5:10,1:20);  % 生成网格
    5 z = sin(x) + cos(y);
    6 surf(x,y,z);  % 画图函数

    效果显示:

     参考网址:1.(MATLAB三维绘图基础meshgrid函数的用法解析)https://blog.csdn.net/CHQC388/article/details/104735236/

                  2.(MATLAB学习与使用:三维图形绘制plot3/mesh/surf)https://jingyan.baidu.com/article/46650658c65361f549e5f89d.html

                   3.(Matlab绘图-详细,全面(二维&三维等))https://blog.csdn.net/xuxinrk/article/details/82883078

     

  • 相关阅读:
    云原生技术实践,起步k8s
    线程,同步构造
    线程,限制的异步操作
    DotNet Core管道通信
    打下设计模式
    739--Daily Temperatures
    1021--RemoveOutermostParentheses
    Java并行程序基础。
    155--MinStack
    1047--Remove All Adjacent Duplicates In String
  • 原文地址:https://www.cnblogs.com/chuqianyu/p/13450192.html
Copyright © 2011-2022 走看看