使用Matlab绘制三维图的几种方法
以下六个函数都可以实现绘制三维图像:
- 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绘制三维图的几种方法的更多相关文章
- Matlab绘制三维曲面(以二维高斯函数为例)
		原文地址为:Matlab绘制三维曲面(以二维高斯函数为例) 寒假学习了一下Python下的NumPy和pymatlab,感觉不是很容易上手.来学校之后,决定继续看完数字图像处理一书.还是想按照上学期的 ... 
- Matlab中数组元素引用——三种方法
		Matlab中数组元素引用——三种方法 1.Matlab中数组元素引用有三种方法 1 2 3 1.下标法(subscripts) 2.索引法(index) 3.布尔法(Boolean) 注意:在使 ... 
- matlab读取cvs文件的几种方法
		matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename')2.M = csvread('fi ... 
- matlab绘制三维图形
		原文地址:种三维曲面图. 程序如下: [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2, ... 
- Matlab中图片保存的5种方法
		matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的. Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工具 ... 
- Matlab中图片保存的四种方法
		matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的.Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工具箱 ... 
- java实现甘特图的2种方法:SwiftGantt和Jfree (转)
		http://blog.sina.com.cn/s/blog_50a7c4a601009817.html 第一种方法使用SwiftGantt实现甘特图(进度图推荐这个) import java.a ... 
- Matlab 绘制三维立体图(以地质异常体为例)
		前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ... 
- python绘制三维图
		作者:桂. 时间:2017-04-27 23:24:55 链接:http://www.cnblogs.com/xingshansi/p/6777945.html 本文仅仅梳理最基本的绘图方法. 一. ... 
随机推荐
- kubefuse  让Kubernetes 资源成为fuse 文件系统
			kubefuse 是基于fuse 开发的文件系统,我们可以像访问文件系统一样访问Kubernetes 资源,使用python开发 支持以下特性: 可以使用方便的linux tools: ls. vim ... 
- Luogu5349 幂
			题面 题解 首先考虑对于一个单项式怎么做,多项式就是单项式的答案的和. 就求一下\(\mathbf f(n) = n^k\)吧.(下面设\(t = \dfrac 1r\)) 设\(\mathbf S_ ... 
- ICEM-蜗壳
			原视频下载地址:https://yunpan.cn/cY8XxpyLN4QaE 访问密码 a792 
- Linux 搜索查找类指令
			一.find 指令 find 指令将从指定目录向下递归遍历其各子目录,将满足条件的文件或者目录显示在终端. 基本语法 find [搜索范围] [选项] 选项说明 -name ... 
- SpringCloud服务Gradle本地jar配置
			1. 将jar包移到与src平级的目录内,并在build.gradle文件中配置如下: dependencies{ compile fileTree(dir:'libs/',include:" ... 
- 三大框架 之 Struts2
			目录 Struts2 Struts2简介 Struts2框架的作用 常见web层的框架 web框架特点 Struts2基本使用 Struts2执行流程 Struts2配置 struts2的加载顺序 P ... 
- python模块中__init__.py的作用
			基本概念先上结论举例解释实验一:不包含__init__.py实验二:A中包含__init__.py实验三:A.A_A中也包含__init__.py进阶基本概念概念 解释import 即导入,方式就是在 ... 
- Apollo源码打包及部署
			1. 通过源码打包 到携程Apollo地址 https://github.com/ctripcorp/apollo 下载Apollo源码,可在源码中进行自定义配置日志路径及端口等,之后打包. 打包完成 ... 
- 006 GET API
			1.说明 The get API allows to get a JSON document from the index based on its id. GET通过基于id的索引获取JSON文档. ... 
- hyper-v启动虚拟机时提示“The application encountered an error while attempting to change the state of the machine ‘虚拟机名称'”如何处理?
			1. 找出发生这一问题的事件代号 1.1 在开始菜单中搜索程序Event Viewer并点击进入 1.2 点击路径如下: “Applications and Services Logs > Mi ... 
