这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » matlab中双变量函数的可视化

共1条 1/1 1 跳转至

matlab中双变量函数的可视化

院士
2011-03-03 11:02:49     打赏
要显示以下双变量函数z = f (x,y)的图像:

分别对函数的定义域生成含有重复行与列的X和Y矩阵。
用X和Y来计算函数的图像。
函数meshgrid把由单向量或双向量x,y指定的定义域变换成矩阵X和Y,以用于计算双变量函数。X的行和Y的列分别是x和y向量的复制。

举例-sinc函数图像


此例计算并作出sinc函数sin(r)/r的在x和y方向间的图象。R是到原点的距离,出现在矩阵中心。添加eps(在系统中返回最小值的MATLAB命令)以避免在原点处出现0/0的不定型。

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z,'EdgeColor','black')

 

在默认的情况下, MATLAB用通用流行的颜色对网孔进行着色 ,不过,这例子只使用单一的颜色着色网孔并且选定了EdgeColor 的表面属性。 查看surface参考页可以看到全部的表面属性。

可以通过把原来的隐藏线显露出来建立一个透明的网孔。

hidden off

查看hidden参考页可以得到更多的关于这个操作的信息。

例子—为表面小块着色Example - Colored Surface Plots


表面小块和网孔小块的情形是相似的,除了表面小块的矩形的外观是有色的.它的颜色是由Z和colormap(colormap是一个颜色的顺序列表)的值所确定的 . 这些陈述用表面图来表示sinc函数的图像, 选择一种颜色, 然后添加颜色条使表示映射数据的图象得到颜色。

surf(X,Y,Z)
colormap hsv
colorbar

 

看colormap参考页以得到颜色图的信息。

带光照的表面图


光照是一种利用方向光源照亮物体的技术。在某些情况下,这技术能使表面微妙的差异更容易的看到。光照也能用来对三维的图象增加现实感。

这例子使用同前一个例子一样的表面,但是涂上了红色并且移除了网孔线。一个发光的物体被加到了"镜头"的左边(那是你从空间观看那个表面的位置)。

增加光源和设置好照明方式到phong后,使用view命令去改变视角,因而你从空间的另一个不同的点在观看表面(方位角-15和仰角65度). 最后, 用工具栏缩放方式放大外观。

surf(X,Y,Z,'FaceColor','red','EdgeColor','none');
camlight left; lighting phong
view(-15,65)

 




关键词: matlab     中双     变量     函数     可视化     表面    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]