matlab三维绘图
2015-09-09 14:29
597 查看
转自:http://blog.csdn.net/liuwei1987729/article/details/6591435
matlab三维绘图主要有三个命令:plot3命令、mesh命令和surf命令。
plot3
plot3是三维绘图的基本函数,绘制的是最为基本的3D曲线图,最基本的调用格式是:
plot3(X,Y,Z)
当X,Y,Z为长度相同的向量时,plot3命令将绘得一条分别以向量X,Y,Z为(x,y,z)坐标值的曲线
当X,Y,Z均为m*n的矩阵时,plot3命令将绘得m条曲线,每条曲线均为X,Y,Z列向量为(x,y,z)坐标值的曲线
mesh
mesh与plot3不同的是它可以绘出在某一区间内完整的曲面(网格图)。最基本的调用格式是:
mesh(X,Y,Z)
需要注意的是X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m*n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))
surf
surf的调用方法与mesh命令类似,不同的是mesh函数绘制的图像是一个网格图,而surf命令绘制得到的是着色的三维曲面。着色的方法时在得到相应的网格后,对每个网格依据该网格所代表的节点的色值来定义这一网格的颜色。最基本得调用格式是:
surf(X,Y,Z)
需要注意的是:第一,surf只支持笛卡尔坐标系(直角坐标系)。第二,如果要让曲面圆滑,去掉网格,只需要在绘图命令后加入:shading interp。这样matlab就会进行相应插值。第三如果想做成两维图模拟三维图效果,现在想到的方法是手动旋转将三维图旋转成两维图,再加入colorbar。
下面的图是去掉网格的surf命令效果
手动旋转,并加入colorbar后的两维图:
matlab三维绘图主要有三个命令:plot3命令、mesh命令和surf命令。
plot3
plot3是三维绘图的基本函数,绘制的是最为基本的3D曲线图,最基本的调用格式是:
plot3(X,Y,Z)
当X,Y,Z为长度相同的向量时,plot3命令将绘得一条分别以向量X,Y,Z为(x,y,z)坐标值的曲线
当X,Y,Z均为m*n的矩阵时,plot3命令将绘得m条曲线,每条曲线均为X,Y,Z列向量为(x,y,z)坐标值的曲线
mesh
mesh与plot3不同的是它可以绘出在某一区间内完整的曲面(网格图)。最基本的调用格式是:
mesh(X,Y,Z)
需要注意的是X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m*n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))
surf
surf的调用方法与mesh命令类似,不同的是mesh函数绘制的图像是一个网格图,而surf命令绘制得到的是着色的三维曲面。着色的方法时在得到相应的网格后,对每个网格依据该网格所代表的节点的色值来定义这一网格的颜色。最基本得调用格式是:
surf(X,Y,Z)
需要注意的是:第一,surf只支持笛卡尔坐标系(直角坐标系)。第二,如果要让曲面圆滑,去掉网格,只需要在绘图命令后加入:shading interp。这样matlab就会进行相应插值。第三如果想做成两维图模拟三维图效果,现在想到的方法是手动旋转将三维图旋转成两维图,再加入colorbar。
下面的图是去掉网格的surf命令效果
手动旋转,并加入colorbar后的两维图:
相关文章推荐
- Matlab中出现:尝试将SCRIPT SVD作为函数执行:C:\User\lc\...问题的解决方法
- Matlab 生成mexwin64文件时遇到的问题
- Matlab中 "csrot 找不到指定的模块"的解决方案
- Matlab 中"csrot 找不到指定的模块"的解决方案
- FIT文件格式解析及MATLAB读取程序
- Matlab 启动时,加载失败的问题 Encountered unexpected end-of-file
- matlab基础学习——向量与矩阵
- matlab基础学习——标号、符号、运算符号
- Matlab中如何将(自定义)函数作为参数传递给另一个函数
- Windows10 + Matlab2013 mex C++ 调用gsl
- MATLAB脚本图片格式eps转pdf
- MATLAB:读取文本数据并排序
- MATLAB中对视频进行提取图像
- Matlab启动时大量java错误的处理方法
- MATLAB 图像处理小实践
- MATLAB中inputdlg的使用
- matlab 在图像处理中常用的函数使用(2)
- matlab 在图像处理中常用的函数使用(1)
- 模拟退火算法2(实例分析)--Matlab算法
- matlab map