#MATLAB三维图形绘制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、绘制三维旋转体
1、球面图
语法: sphere (n) %产生单位球面,n为旋转圆周上的分 格线条数,默认n=20。 [x,y,z]=sphere (n) %生成三个(n+1)*(n+1 )阶的矩阵 利用surf或mesh命令产生单位球面。
2、柱面图
语法:
cylinder (r,n)
%以母线向量r生成单位柱面,
2. feather命令
feather绘制的是起点为(k,0)的复向量图,又称为羽毛图。
语法:
feather(u,v)
%画羽毛图
feather (Z)
4.4 对话框
• ——用于计算机与用户进行交互的界面
1. 输入信息对话框
输入对话框为用户的输入信息提供了界面, 使用inputdlg命令创建。 语法: answer = inputdlg(prompt,title,lineno,defans,addopts)
的中间值
三、饼图
饼图是用于显示向量中的各元素占向量元素总和的百分比。
语法: pie(x,explode,’label’) pie3(x,explode,’label’)
%画二维饼图 %画三维饼图
说明:x是向量;explode是与x同长度的向量,用来决定是 否从饼图中分离对应的一部分块,非零元素表示该部分需 要分离;’label’是用来标注饼图的字符串数组。
【例】使用几种绘制离散数据的命令来显示 ye2xsin(x) 的离散数据。
五、等高线图
语法:
contour3(Z,n)
%绘制Z矩阵的三维等高线
contour(x,y,z,n)
%绘制以x和y指定x、y坐标的二维等高线 说明:n为等高线的条数,省略时为自动条数。
x=0:0.1:2*pi; y=sin(x).*exp(-2*x); subplot(3,1,1) stem(x,y,'filled') subplot(3,1,2) stairs(x,y) subplot(3,1,3) scatter(x,y)
%画条形图
bar3(y,z,width,'参数')
%画三维条形图
【例】用条形图表示某年一月份中3日~6日连续四天的温 度数据,y矩阵的各列分别表示平均温度、最高温度和最低 温度,用条形图和三维条形图分别表示。
>>x=3:6;
>>y=[5.3000 13.0000 0.4000
5.1000 11.8000 -1.7000
为了绘制三维立体图形,MATLAB的方法是将x方向 划分为m份,将y方向划分为n份,meshgrid命令是以x、y 向量为基准,产生在x-y平面的各栅格点坐标值的矩阵。
语法: [X,Y]=meshgrid(x,y)
说明:X、Y是栅格点的坐标,为矩阵;x、y为向量。 例如,将x(1×m)向量和y(1×n)向量转换为(n×m)的矩阵:
三维图形绘制
一、绘制三维线图命令plot3
plot3是用来绘制三维曲线的,它的使用格式与二维绘 图的plot命令很相似。
plot3(x,y,z,'s')%绘制三维曲线 plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…) %绘制多条三维曲线
二、绘制三维网格图和曲面图
1. meshgrid命令
表4.8 预定义色图的函数表 说明 HSV的颜色对照表(默认值),以红色开始和结束 代表暖色对照表,黑、红、黄、白浓淡色 代表冷色对照表,青、品红浓淡色 代表夏天色对照表,绿、黄浓淡色 代表灰色对照表,灰色线性浓淡色 代表铜色对照表,铜色线性浓淡色 代表秋天颜色对照表,红、黄浓淡色 代表冬天色对照表,蓝、绿浓淡色 代表春天色对照表,青、黄浓淡色 代表“X光片”的颜色对照表 代表粉红色对照表,粉红色线性浓淡色 代表“旗帜”的颜色对照表,红、白、蓝、黑交错色 HSV的变形,以蓝色开始和结束 代表三棱镜对照表,红、橘黄、黄、绿、蓝交错色
%绘制极坐标图
说明:theta为相角,radius为离原点的距离。

【例4.23】求传递函数为
G(s)

1 s(0.5s1)
的对数幅频特性
曲线,横坐标为w,按对数坐标。
w=logspace(-2,3,20); Aw=1./(w.*sqrt((0.5*w).^2+1)); Lw=20*log10(Aw); semilogx(w,Lw) title('对数幅频特性曲线')
%创建输入对话框
说明:answer 返回用户的输入,为元胞数组;prompt为提示信息字符 串,用引号括起来,为元胞数组;title为标题字符串,用引号括起来, 可以省略;lineno用于指定输入值的行数,可以省略;defans为输入项 的默认值,用引号括起来,是元胞数组可以省略;addopts指定对话框 是否可以改变大小,取on或off,省略时为off表示不能改变大小 。
%频率w为0.01到1000 %计算幅频 %计算对数幅频
七、复向量图
1. compass命令
图 4.31 (a)罗盘图
(b)羽毛图
compass绘制的是以原点为起点的一组复向量,因此又称为
罗盘图。
语法: compass(u,v)
%画罗盘图
compass(Z) 说明:u、v分别为复向量的实部和虚部;当只有一个参数 Z时,则相当于compass(real(Z),imag(Z))。
• colormap( [R,G,B])—— 色图设定函数
• colormap 色图函数—— 色图设定函数
• colormap 色图函数(m)——产生m×3的色图矩阵 缺省64×3。
颜色
Black(黑) White(白) Red(红) Green(绿) Blue(蓝) Yellow(黄) Magenta(品红) Cyan(青) Gray(灰) Dark red(暗红) Copper(铜色) Aquamarine(碧绿)
默认用色矩阵是z的数据。如果x、y、z、c四个参数都有,
则应该都是维数相同的矩阵。
3. 三维曲面图
语法:
surf (z)
%画三维曲面图
surf (x,y, z,c)
说明:参数设置与mesh命令相同,c也可以省略。
4. 其它立体网线图和曲面图
meshc命令为立体网状图加等高线;meshz为立体网 状图加“围裙”。
2. 三维网格图
三维网格图是由一些四边形相互连接在一起所构成的 一种曲面。
语法:
mesh(z)
%画三维网线图
mesh(x,y,z,c)
说明:当只有参数z时,以z矩阵的行下标作为x坐标轴,把z
的列下标当作y坐标轴;x、y分别为x、y坐标轴的自变量;
当有x、y、z参数时,c是指定各点的用色矩阵,当c省略时
表4.7 常用颜色的RGB成分 RGB成分
Red(红色) Green(绿色)
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0.5
0.5
0.5
0
1
0.62
0.49
1
Blue(蓝色) 0 1 0 0 1 0 1 1 0.5 0 0.4 0.83
命令 hsv hot cool summer gray copper autumn winter spring bone pink flag jet prim
3.7000 8.1000 0.6000
1.5000 7.7000 -4.5000]
>>bar(x,y) >>bar3(x,y)
%画条形图 %画三维条形图
图4.23 (a) 条形图
(b) 三维条形图
二、直方图
语法:
分段的个数, 默认为10
hist(y,m) %统计每段的元素个数并画出直方图
hist(y,x) % x是向量,用于指定所分每个数据段
【例】使用浓淡处理peaks函数曲面图。
(3) 亮度处理brighten
语法: brighten(a)
说明:当0<=a<=1时,色图加亮,当-1<=a<0时,色图变暗。
4.3 MATLAB的特殊图形绘制
一、条形图
——条形图常用于对统计的数据进行作图,特别适用于 少量且离散的数据。
语法:
bar(x,y)
默认n=20,r=[1,1]。
[x,y,z]= cylinder (r,n) %生成柱面的x,y,z数据矩阵,
利用surf或mesh命令产生单位高度柱面。
四、立体图形与图轴的控制
1.网格的隐藏
语法:
hidden off hidden on
%显示被遮盖的网格 %隐藏被遮盖的网格
2.改变视角
语法: view([az,el])
2.色图的显示和处理
(1) 色图的显示
• rgbplot命令
语法: rgbplot(map)
说明:map是表4.8中的各预定义色图函数,rgbplot命令 可画出以行数为自变量红、绿、蓝相对亮度分量的直线 图,反映R、G、B三色比重的变化。
• colorbar命令
以不同颜色来代表曲面的高度,垂直显示颜色标尺。
• 【例4.21】绘制四个季度支出额的饼图。
y=[200 100 250 400];
%四个季度支出额
explode=[0 0 1 0]; pie(y,explode,{'第一季度','第二季度','第三季度','第四季度'})
四、离散数据图
MATLAB提供了多个绘制离散数据的命令,有stem、 stem3、stairs和scatter等。
%通过方位角和俯仰角改变视角
说明:az表示方位角(azimuth),el表示俯仰角(elevation)
默认值:az=-37.5°,el=30°
五、色彩的控制
1.色图(colormap)
(1) RGB三元组
RGB三元数组每行表示一种色彩,数组元素R、G、B在 0~1之间取值,分别表示红、绿、蓝基色的相对亮度,如 下表所示。
【例】利用输入对话框输入二阶系统的系数。 >>prompt={'请输入阻尼系数','请输入无阻尼振荡频率'}; >>defans={'0.707','1'}; >>p=inputdlg(prompt,'输入参数',1,defans)
程序分析:prompt、defans和p都是元胞数组。如果单击 “Cancel”按钮,则返回空的元胞数组。
【上例续】使用消息框显示当阻尼系数大于1时的警告 信息,如图所示。
>>msgbox('阻尼系数输入范围出错','警告','warn')
(2)其它对话框
【例续】使用警告对话框显示当阻尼系数大于1时的警告 信息。 >>warndlg('阻尼系数输入范围出错','警告')
【例续】使用出错提示框显示当阻尼系数小于0时出错 信息。 >>errordlg('阻尼系数输入出错','出错')
(2) 浓淡处理shading
表4.9 shading命 令 的 用 法
命 令 shadinginterp
shadingflat shadingfaceted
功 能 使 小 片 根 据 四 顶 点 的 颜 色 产 生 连 续 的 变 化 , 或 根 据 网 线 的 线ቤተ መጻሕፍቲ ባይዱ段 两 端 产 生 连 续 的 变 化 , 这 种 方 式 着 色 细 腻 但 最 费 时 。 小 片 或 整 段 网 线 的 颜 色 是 一 种 颜 色 。 在flat着 色 的 基 础 上 , 同 时 在 小 片 交 接 的 边 勾 画 黑 色 , 这 种 方 式 立 体 表 现 力 最 强 (默 认 方 式 )。
2. 输出信息对话框
(1) 消息框
语法:
msgbox(message,title,icon,icondata,iconcmap,…
CreateMode)
%创建消息框
说明:message为显示的信息,可以是字符串或数组;title为标题,是 字符串可省略;icon为显示的图标,可取值为“none”(无图标)、 “error”(出错图标)、“help”(帮助图标)、“warn”(警告图标)或 “custom”(自定义图标),也可省略;当使用“custom”时,用icondata 定义图标的数据,用iconcmap定义图标的颜色映象;CreateMode为对 话框的产生模式可省略,取值为“modal”(有模式)、“replace”(无模式 可代替同名的对话框)、“non-modal”(默认为无模式)。 (有模式对话框是指在对话框关闭之前,用户无法进行其它程序的运行)
%画火柴杆图 %画阶梯图 %画点图
六、对数坐标和极坐标图
1. 对数坐标图形
语法: semilogx(x,y,‘参数’) %绘制x为对数坐标的曲线 semilogy(x,y,‘参数’) %绘制y为对数坐标的曲线 loglog(x,y,‘参数’) %绘制x、y都为对数坐标的曲线
2. 极坐标图
语法:
polar(theta,radius,‘参数’)
相关文档
最新文档