以下六个函数都可以实现绘制三维图像:

  • surf(xx,yy,zz);
  • surfc(xx,yy,zz);
  • mesh(xx,yy,zz);
  • meshc(xx,yy,zz);
  • meshz(xx,yy,zz);
  • waterfall(xx,yy,zz);
  • plot3(xx,yy,zz);

其中值得说明的是如何构造出对应的数据出来(xx, yy, zz)出来。下面通过一段标准的代码段进行展示如何构造出相应的数据。

x=-1:0.1:1;
y=-1:0.1:1;
[xx,yy]=meshgrid(x,y);
zz=xx.*exp(-xx.^2-yy.^2);
surf(xx,yy,zz);

其中meshgrid的作用就是生成网格(矩阵)数据xx,yy。观察xx,yy的数据为:


从图中可以看到实际上xx是将x复制了y的长度份,也就是将二维平面(x,y)按照x, y设定的步长分割成网络,自然对应的zz也应该是对应有网格x,y的各自长度的乘积个,如下图所示:

最后上段代码绘制出来的图像为:

其中还有一个值得说明的是plot3函数与plot函数用法类似,同样的按照类似mesh等的构造数据的方法,如果仅仅绘制在mesh图像中的某些数据点,就可以采用plot3函数实现。比如下段代码就可以实现绘制点,并且连线的功能:

x0 = 0; y0 = 0; z0 = 0;
plot3(x0,y0,z0,'*k','linewidth',2,'markersize',10);
plot3(indexcol,indexrow,z0,'*k','linewidth',2,'markersize',10);
plot3(indexcol,indexrow,maxScore,'*k','linewidth',2,'markersize',10);
xx2(1) = x0; xx2(2) = indexcol;
yy2(1) = y0; yy2(2) = indexrow;
zz2(1) = z0; zz2(2) = z0;
plot3(xx2, yy2, zz2, 'r','linewidth',2);

结果如下图所示:


2015-8-18
艺少

使用Matlab绘制三维图的几种方法相关推荐

  1. Matlab画三维图的两种方法

    2010-11-07  21:20:30 zz: http://hi.baidu.com/mynana/blog/item/3c79c1ce6b65cb0393457e7a.html 这几天看到Ras ...

  2. 用matlab绘制P三曲线,知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线...

    导航:网站首页 > 知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线 知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画 ...

  3. 数学建模更新13(MATLAB绘制三维图【上】)

    MATLAB绘制三维图 一.mesh函数以及拓展函数 1.mesh(X,Y,Z)的用法 [1]X是n维向量,Y是m维向量,Z是m*n维的矩阵 [2]X.Y和Z都是m*n维的矩阵 2.mesh(Z)的用 ...

  4. matlab绘制三维图

    matlab绘制三维图 1.1绘制三维图命令 plot3(x,y,z,'s'); plot3(x,y,z,'s',x1,y1,z1,'s1'-.); % 绘制多条三维图 s指定线形,色彩,数据点形状的 ...

  5. matlab创建三维数组的三种方法

    在Matlab中习惯性的会将二维数组中的第一维称为"行"第二维称为"列",而对于三维数组的第三位则是习惯性的称为"页".在Matlab中将三 ...

  6. matlab 绘制三维图并标注每个点的坐标

    1.前言 基本原理是先绘制三维图,通过plot3,然后通过text函数在每个点标注出坐标,但由于点的数量多,标注会比较密集,不一定看得清楚,可以适当减少标注的点数来提高清晰度 2.代码实现 clc c ...

  7. Python可视化 | Matplotlib绘制圆环图的两种方法!

    人生苦短,快学Python!今天给大家介绍Python可视化之环形图的绘制. 环形图,也被称为圆环图.它在功能上与饼图相同,只是中间有一个空白,并且能够同时支持多个统计数据.与标准饼图相比,环形图提供 ...

  8. Matplotlib 绘制圆环图的两种方法!

    作者 | 快快 来源 | 快学Python 人生苦短,快学Python!今天给大家介绍Python可视化之环形图的绘制. 环形图,也被称为圆环图.它在功能上与饼图相同,只是中间有一个空白,并且能够同时 ...

  9. 使用matlab绘制分段函数的三种方法

    找到了三种绘制分段函数的方法,绘制如下函数  第一种方法: %第一种分段函数 t1=0:0.1:10; v1=t1; t2=10:0.1:20; v2=0*t2+10; t3=20:0.1:30; v ...

最新文章

  1. php定义一个名为Vehicles,php的扩展和嵌入--c++类的扩展开发
  2. java servlet 跳转_Servlet跳转方式sendReDirect()和forward()
  3. 计算(信息学奥赛一本通-T1356)
  4. 【Kafka】Flink kafka 报错 Failed to send data to Kafka: Failed to allocate memory within the config
  5. 【语法】iOS(一)ObjectC的语法
  6. FRR BGP协议分析 1 --- BGP 初始化
  7. np.roll的用法
  8. python达梦数据库_Python 封装 DM 达梦 数据库操作(使用类封装基本的增删改查)...
  9. python numpy库下载_Numpy库的下载与安装总结
  10. 禅道和JIRA大对比
  11. Unity移动---朝向并移动到鼠标点击位置
  12. 大数据和人工智能的概念
  13. HTML基础常识问答(一)
  14. 随笔(一)—2018-1-23-ANU暑期学校-无题
  15. BouncyCastle使用注意事项
  16. 百度地图SDK导航(路径规划+实时导航)
  17. 自考学前教育专业可以考幼师资格证吗?
  18. ArcBlock ⑫ 月报 | ABT 平台正式对外开放 2019年产品路线图亮相
  19. 广东省vb计算机二级证书,广东省2019下半年计算机二级考试教程:VB语言程序设计...
  20. FL Studio技巧之混音器讲解

热门文章

  1. html中文本框的readonly属性和disabled属性的区别
  2. 【Axure视频教程】预览时打开本地文件(播放视频、引用html、打开pdf…)
  3. Nor 和NAND Flash 比较
  4. java中的值传递和引用传递的区别?
  5. 企业WEB项目实现商品详情页面展示功能
  6. XX云应用 nextcloud lychee
  7. 小程序笔记(9)调用腾讯api获取周边饮食店信息
  8. python嵌入式开发实战_嵌入式Qt实战教程 PDF 高清版
  9. Servlet中的Session使用方法
  10. ferret 爬取动态网页