美文网首页
Matlab画三维图像

Matlab画三维图像

作者: 学而时习之_不亦说乎 | 来源:发表于2017-06-17 13:06 被阅读159次

    如果我们的函数存在两个自变量z=f(x,y),那么我们可以利用三维图像来表示这个函数。如果我们的x变量在x轴上存在x1x2x3......xn个取值,y变量在y轴上有y1y2y3......ym个取值,在坐标系中构成了n x m的网格。如果对于任意f(xi,yj)要在Matlab中计算其对应的值z,首先就是要构建两个m x n的网格,其中一个包含所有可能的x值,一个包含所有可能的y值。这两个网格看起来应该像这样:

    x1, x2, x3, ... xn
    x1, x2, x3, ... xn
    x1, x2, x3, ... xn
    x1, x2, x3, ... xn
    x1, x2, x3, ... xn
    .
    .
    x1, x2, x3, ... xn
    
    y1, y1, y1, ... y1
    y2, y2, y2, ... y2
    y3, y3, y3, ... y3
    y4, y4, y4, ... y4
    y5, y5, y5, ... y5
    .
    .
    ym, ym, ym, ... ym
    

    这样,在任意的(i, j)坐标,就可以得到xiyj。在Matlab中,meshgrid函数用于产生上述两个矩阵。

    [x y] = meshgrid(xgv, ygv)
    

    上述xgv就是x1,x2,...xn向量,ygv就是y1,y2,y3...ym向量。xy就是上述两个矩阵。下面展示一个小例子:

    xgv = [0:0.01:1];
    ygv = 1:10;
    [x,y] = meshgrid(xgv,ygv);
    z= x.^y;    
    surf(x,y,z);
    

    得到的三维图像为:

    x.^y

    相关文章

      网友评论

          本文标题:Matlab画三维图像

          本文链接:https://www.haomeiwen.com/subject/muivqxtx.html