三维绘图

1 三维绘图指令

网状图

mesh, ezmesh

绘制立体网状图

meshc, ezmeshc

绘制带有等高线的网状图

meshz

绘制带有“围裙”的网状图

曲面图

surf, ezsurf

立体曲面图

surfc, ezsurfc

绘制带有等高线的曲面图

surfl

绘制带有光源的曲面图

曲线图

plot3, ezplot3

绘制立体曲线图

底层函数

surface

Surf函数用到的底层指令

line3

plot3函数用到的底层指令

等高线

contour3

绘制等高线

水流效果

waterfall

在x方向或y方向产生水流效果

影像表示

pcolor

在二维平面中以颜色表示曲面的高度

2 基本XYZ立体绘图命令

l  mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。下列命令可画出由函数 形成的立体网状图:

x=linspace(-2, 2, 25); % x轴上取25

y=linspace(-2, 2, 25); % y轴上取25

[xx,yy]=meshgrid(x, y); % xxyy都是25x25的矩阵

zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵

mesh(xx, yy, zz); % 画出立体网状图

l  surf和mesh的用法类似:

x=linspace(-2, 2, 25); % x轴上取25

y=linspace(-2, 2, 25); % y轴上取25

[xx,yy]=meshgrid(x, y); % xxyy都是25x25的矩阵

zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是25x25的矩阵

surf(xx, yy, zz); % 画出立体曲面图

l  peaks

为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:

要画出此函数的最快方法即是直接键入peaks:

peaks

z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) - 1/3*exp(-(x+1).^2 - y.^2)

l  我们亦可对peaks函数取点,再以各种不同方法进行绘图。meshz可将曲面加上围裙:

[x,y,z]=peaks;

meshz(x,y,z);

l  waterfall可在x方向或y方向产生水流效果:

[x,y,z]=peaks;

waterfall(x,y,z);

l  下列命令产生在y方向的水流效果:

[x,y,z]=peaks;

waterfall(x',y',z');

l  meshc同时画出网状图与等高线:

[x,y,z]=peaks;

meshc(x,y,z);

l  surfc同时画出曲面图与等高线:

[x,y,z]=peaks;

surfc(x,y,z);

l  contour3画出曲面在三度空间中的等高线:

contour3(peaks, 20);

l  contour画出曲面等高线在XY平面的投影:

contour(peaks, 20);

l  plot3可画出三度空间中的曲线:

t=linspace(0,20*pi, 501);

plot3(t.*sin(t), t.*cos(t), t);

亦可同时画出两条三度空间中的曲线:

t=linspace(0, 10*pi, 501);

plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);

1.x,y都属于[-8,8],画出下列式子的三维图像

Z=

程序:

x=linspace(-8, 8, 125); % 在x轴上取25点

y=linspace(-8, 8, 125); % 在y轴上取25点

peaks

z=sin(sqrt(x.*x+y.*y))/sqrt(x.*x+y.*y);

Matlab三维绘图的更多相关文章

  1. Matlab 三维绘图与统计绘图

    一. 三维绘图 p = : pi/: *pi; x = cos(p); y = sin(p); z = p; plot3(x,y,z) x = -:.:; %有-2为起点,2为递增步长,2为终止点 y ...

  2. matlab的三维绘图和四维绘图

    一.三维绘图1.曲线图plot3(X1,Y1,Z1,...):以默认线性属性绘制三维点集(X1,Y1,Z1)确定的曲线plot3(X1,Y1,Z1,LineSpec):以参数LineSpec确定的线性 ...

  3. matlab学习笔记8 基本绘图命令-三维绘图

    一起来学matlab-matlab学习笔记8 基本绘图命令_6 三维绘图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等著 ...

  4. matlab的绘图保存

      matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的.Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工 ...

  5. matlab 三维绘制

    1. mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数 ...

  6. MATLAB三维散点图的绘制(scatter3、plot3)

    MATLAB三维散点图的绘制(scatter3.plot3) (1)函数scatter3 用法:scatter3(x,y,z,'.',c) % c 为颜色,需和x,y,z长度相同 例子: x=[422 ...

  7. MATLAB——PLOT绘图

    MATLAB——PLOT绘图 格式化绘图: 1.color: b g  r c m y k w blue green red  cyan magenta yellow black white 2.ty ...

  8. 使用C语言实现二维,三维绘图算法(1)-透视投影

    使用C语言实现二维,三维绘图算法(1)-透视投影 ---- 引言---- 每次使用OpenGL或DirectX写三维程序的时候, 都有一种隔靴搔痒的感觉, 对于内部的三维算法的实现不甚了解. 其实想想 ...

  9. 使用C语言实现二维,三维绘图算法(3)-简单的二维分形

    使用C语言实现二维,三维绘图算法(3)-简单的二维分形 ---- 引言---- 每次使用OpenGL或DirectX写三维程序的时候, 都有一种隔靴搔痒的感觉, 对于内部的三维算法的实现不甚了解. 其 ...

随机推荐

  1. 为运行SQL Server的虚拟机切换装有DB Logs的最佳实践

    上一篇说到虚拟机启动不了, 原因是有一块VHDX的文件找不到了. 解决了这个问题之后, 又遇到了另一个问题, 那就是我的这台SQL Server的虚机启动之后, 我的几个重要database变成了su ...

  2. [ES6] 05. The leg keyword -- 3. Block Scope

    In ES6, IIFE is not necessary: // IIFE写法 (function () { var tmp = ...; ... }()); // 块级作用域写法 { let tm ...

  3. Android MVP 构架初试

    目前讨论MVP MVVM 的架构也来越多,这种构架也很适合Android.研究MVP记录如下 源码地址RxMVP分支Tag02 原有的MVC构架 刚开始接触Android的时候会觉得Android的整 ...

  4. C# int与string转化

    1.int-->string ; string s1 = a.ToString(); string s2 = Convert.ToString(a); 2.string -->int &q ...

  5. PHP超过三十秒怎么办Maximum execution time of 30 seconds exceeded

    1 如图所示, Maximum execution time of 30 seconds exceeded 2 在php.ini文件中查找"max_execution_time"把 ...

  6. 用thinkphp连接mysql数据库

    一.设置mysql数据库的参数 thinkphp\Application\Home\Conf\config.php <?php return array( //'配置项'=>'配置值' ' ...

  7. HDU 1595 find the longest of the shortest【次短路】

    转载请注明出处:http://blog.csdn.net/a1dark 分析:经典的次短路问题.dijkstra或者SPFA都能做.先找出最短路.然后依次删掉没条边.为何正确就不证明了.了解思想直接A ...

  8. ios开发-调用系统自带手势

    在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touchesEnded 这组方法来控制使用者的手指触控外,也可以用 UIGestureR ...

  9. android java 设计模式详解 Demo

    android java 设计模式详解 最近看了一篇设计模式的文章,深得体会,在此基础我将每种设计模式的案例都写成Demo的形式,方便读者研究学习, 首先先将文章分享给大家: 设计模式(Design ...

  10. js&jquery获取指定table指定行里面的内容

      js&jquery获取指定table指定行里面的内容 CreateTime--2018年5月18日11:46:04 Author:Marydon 1.展示 代码展示 <table s ...