Matlab画三维图像

如果我们的函数存在两个自变量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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 来源: http://www.douban.com/group/topic/14820131/ 调整变量格式: f...
    MC1229阅读 11,867评论 0 5
  • (转自http://www.douban.com/group/topic/14820131/,转自人大论坛) 调整...
    f382b3d9bdb3阅读 13,700评论 0 8
  • thiele插值算法 1点插值算法 function [C,c]=thiele(X,Y,Z)%X为插值点横坐标,Y...
    00crazy00阅读 6,298评论 0 4
  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 13,850评论 0 7
  • 小感慨,一代为下一代付出,我的妈妈忍着头疼来帮我看孩子,整理家务,我为了我的孩子开展社交,人的精力是有限的,如何一...
    毛毛咻咻萌萌阅读 1,472评论 0 0

友情链接更多精彩内容