数据和函数的可视化Word格式.docx
《数据和函数的可视化Word格式.docx》由会员分享,可在线阅读,更多相关《数据和函数的可视化Word格式.docx(27页珍藏版)》请在冰点文库上搜索。
tt=tt(:
);
%变序排列自变量
xx=sin(tt);
yy=cos(tt);
subplot(1,2,1),plot(x,y)
title('
(1)正常排序图形'
),axisequaloff,shg
subplot(1,2,2),plot(xx,yy)
(2)非正常排序图形'
.2二维曲线和图形
表5.2-1MATLAB提供的二维图形绘制指令
指令名
含义和功能
arer
面域图;
主用于表现比例、成份
plot
基本二维曲线图形指令
bar
直方图;
主用于统计数据
quiver
二维箭头图;
主用于场强、流向
compass
射线图;
主用于方向和速度
rose
频数扇形图;
主用于统计
feather
羽毛图;
主用于速度
stairs
阶梯图;
主用于采样数据
hist
频数直方图;
stem
二维杆图;
主用于离散数据
pie
二维饼图;
统计数据极坐标形式
.2.1二维曲线绘制的基本指令plot
10一基本调用格式plot(x,y,'
s'
这是plot指令的最典型、最基本的调用格式。
该指令的输入量(x,y,'
)称谓平面绘线三元组。
它们分别指定平面曲线的几何位置、点形线型和色彩。
●x,y是长度相同的一维数组。
x,y分别指定采样点的横坐标和纵坐标。
●第三个输入量'
是字符串,用来指定“离散点形”、“连续线型”、“点线色彩”。
●没第三个输入量,plot将使用缺省设置——“蓝色细实线”。
表5.2-1离散数据点形允许设置值
符号
含义
d
菱形符diamond
x
叉字符
^
朝上三角符
h
六角星符hexagram
<
朝左三角符
o
空心圆圈
.
实心黑点
>
朝右三角符
p
五角星符pentagram
+
十字符
v
朝下三角符
s
方块符square
*
米字符
表5.2-2连续线型允许设置值
-
细实线
-.
点划线
:
虚点线
--
虚划线
表5.2-3点线色彩允许设置值
符号
b
g
r
c
m
y
k
w
含义
蓝
绿
红
青
品红
黄
黑
白
10二plot的衍生调用格式
(1)单色或默认多色绘制多条曲线
plot(X,Y,'
)用s指定的点形线型色彩绘制多条曲线
plot(X,Y)采用默认的色彩次序用细实线绘制多条曲线
〖说明〗
●当X,Y均为
数组时,将绘制出
条曲线。
每条曲线的几何位置由X,Y对应的列确定。
(2)多三元组绘制多条曲线
plot(X1,Y1,'
s1'
X2,Y2,'
s2'
...,Xn,Yn,'
sn'
●该指令输入量由多个“三元组”(Xn,Yn,'
)组成。
●每个三元组是独立的,它的工作方式与plot(X,Y,'
)完全相同。
(3)单输入量绘线
plot(Y)
●当Y是一维数组时,则以该数组的下标为横坐标、Y为纵坐标绘制一条曲线。
●当Y二维数组时,则以该数组的“行下标”为横坐标、Y为纵坐标绘制“列数”条曲线。
10三plot的属性可控调用格式
plot(x,y,'
'
PropertyName'
PropertyValue,…)
●运用属性名(PropertyName)和属性值(PropertyValue)可以对“线”对象的属性进行设置,使所绘曲线更具个性化。
●MATLAB出于使用频率和方便考虑,采用'
字符串方式设置点形线型及几种常用色彩。
表5.2-4线对象的常用属性名和属性值
属性名
属性值
说明
点、线色彩
Color
,RGB三元组中每个元素可在
取任意值。
●最常用的色彩可通过表5.2-3中的字母表示。
●常用色彩可通过'
设置。
蓝色为默认色彩。
线型
LineStyle
四种线型见表5.2-2
●可通过'
细实线为默认线型。
线宽
LineWidth
正实数
●默认线宽为0.5
数据点形
Marker
十四种点形见表5.2-1
点的大小
MarkerSize
●默认大小为6.0
点边界色彩
MarkerEdgeColor
点域色彩
MarkerFaceColor
【例5.2-1】二维曲线绘图指令演示之一。
clf
t=(0:
pi/50:
2*pi)'
%生成(101*1)的列向量
k=0.4:
0.1:
1;
%生成(1*7)的行向量
Y=cos(t)*k;
%Y是向量?
矩阵?
(101*7)的矩阵
subplot(1,2,1),plot(t,Y,'
LineWidth'
1.5)
Byplot(t,Y)'
),xlabel('
t'
subplot(1,2,2),plot(Y,'
Byplot(Y)'
rowsubscriptofY'
图5.2-1plot(t,Y)与plot(Y)所绘曲线的区别
【例5.2-2】用图形表示连续调制波形
及其包络线。
pi/100:
pi)'
%时间采样列向量<
1>
y1=sin(t)*[1,-1];
%包络线,(101x2)的矩阵<
2>
y2=sin(t).*sin(9*t);
t3=pi*(0:
9)/9;
plot(t,y1,'
r:
'
t,y2,'
-bo'
holdon
plot(t3,y3,'
10,'
MarkerEdgeColor'
[0,1,0],'
MarkerFaceColor'
[1,0.8,0])
axis([0,pi,-1,1])
holdoff
%以下指令供读者比较用。
使用时,指令前的%号要去除。
%属性影响该指令中的所有线对象中的离散点。
%plot(t,y1,'
t3,y3,'
[1,0.8,0])
.2.2坐标控制和图形标识
10一坐标轴的控制
表5.2-5常用的坐标控制指令
坐标轴控制方式、取向和范围
坐标轴的高宽比
指令
axisauto
使用缺省设置
纵、横轴采用等长刻度
axismanual
使当前坐标范围不变
axisfill
在manual方式下起作用,使坐标充满整个绘图区。
axisoff
取消轴背景
axisimage
纵、横轴采用等长刻度,且坐标框紧贴数据范围。
axison
使用轴背景
axisnormal
缺省矩形坐标系
axisij
矩阵式坐标,原点在左上方。
axissquare
产生正方形坐标系
axisxy
普通直角坐标,原点在坐下方。
axistight
把数据范围直接设为坐标范围
axis(V)
V=[x1,x2,y1,y2];
V=[x1,x2,y1,y2,z1,z2];
人工设定坐标范围。
设定值:
二维,4个;
三维,6个。
axisvis3d
保持高宽比不变,用于三维旋转时避免图形大小变化。
〖说明〗坐标范围设定向量V中的元素必须服从:
x1<
x2,y1<
y2,z1<
z2。
V的元素允许取inf或-inf,那意味着上限或下限是自动产生的,即坐标范围“半自动”确定。
10二分格线和坐标框
grid是否画分格线的双向切换指令(使当前分格线状态翻转)
gridon画出分格线
gridoff不画分格线
box坐标形式在封闭式和开启式之间切换指令
boxon使当前坐标呈封闭形式
boxoff使当前坐标呈开启形式
10三图形标识指令
title(S)书写图名
xlabel(S)横坐标轴名
ylabel(S)纵坐标轴名
legend(S1,S2,...)绘制曲线所用线型、色彩或数据点形图例
text(xt,yt,S)在图面(xt,yt)坐标处书写字符注释
●legend所画图例的缺省位置在图形窗的右上角。
假如要通过指令改变图例的位置,那末可以通过相应的属性进行控制。
例如legend(S1,S2,'
Location'
SouthEast'
)将把图例设置在图形窗的右下角。
10四标识指令中字符的精细控制
【例5.2-5】通过绘制二阶系统阶跃响应,综合演示图形标识。
clf;
t=6*pi*(0:
100)/100;
y=1-exp(-0.3*t).*cos(0.7*t);
plot(t,y,'
r-'
3)
holdon
tt=t(find(abs(y-1)>
0.05));
ts=max(tt);
plot(ts,0.95,'
bo'
10)
holdoff
axis([-inf,6*pi,0.6,inf])
set(gca,'
Xtick'
[2*pi,4*pi,6*pi],'
Ytick'
[0.95,1,1.05,max(y)])
XtickLabel'
{'
2*pi'
4*pi'
6*pi'
})
YtickLabel'
0.95'
1'
1.05'
max(y)'
gridon
text(13.5,1.2,'
\fontsize{12}{\alpha}=0.3'
text(13.5,1.1,'
\fontsize{12}{\omega}=0.7'
cell_string{1}='
\fontsize{12}\uparrow'
cell_string{2}='
\fontsize{16}\fontname{隶书}镇定时间'
cell_string{3}='
\fontsize{6}'
cell_string{4}=['
\fontsize{14}\rmt_{s}='
num2str(ts)];
text(ts,0.85,cell_string,'
Color'
b'
HorizontalAlignment'
Center'
\fontsize{14}\ity=1-e^{-\alphat}cos{\omegat}'
\fontsize{14}\bft\rightarrow'
ylabel('
\fontsize{14}\bfy\rightarrow'
.2.3多次叠绘、双纵坐标和多子图
10一多次叠绘
holdon使当前轴及图形保持而不被刷新,接受此后绘制的新曲线。
holdoff使当前轴及图形不再具备不被刷新的性质。
hold当前图形是否具备刷新性质的双向切换开关。
【例5.2-6】利用hold绘制离散信号通过零阶保持器后产生的波形。
t=2*pi*(0:
20)/20;
y=cos(t).*exp(-0.4*t);
stem(t,y,'
g'
k'
stairs(t,y,'
r'
legend('
\fontsize{14}\itstem'
\fontsize{14}\itstairs'
boxon
10二双纵坐标图
plotyy(X1,Y1,X2,Y2)
以左、右不同纵轴绘制X1-Y1、X2-Y2两条曲线。
plotyy(X1,Y1,X2,Y2,'
FUN'
)
以左、右不同纵轴把X1-Y1、X2-Y2绘制成FUN指定形式的两条曲线。
FUN1'
FUN2'
以左、右不同纵轴把X1-Y1、X2-Y2绘制成FUN1、FUN2指定的不同形式的两条曲线。
【例5.2-7】画出函数
和积分
在区间
上的曲线。
dx=0.1;
x=0:
dx:
4;
y=x.*sin(x);
s=cumtrapz(y)*dx;
a=plotyy(x,y,x,s,'
stem'
plot'
text(0.5,1.5,'
\fontsize{14}\ity=xsinx'
sint='
{\fontsize{16}\int_{\fontsize{8}0}^{x}}'
ss=['
\fontsize{14}\its='
sint,'
\fontsize{14}\itxsinxdx'
];
text(2.5,3.5,ss)
set(get(a
(1),'
Ylabel'
),'
String'
被积函数\ity=xsinx'
set(get(a
(2),'
ss)
x'
10三多子图
subplot(m,n,k)使
幅子图中的第
幅成为当前图
subplot('
position'
[leftbottomwidthheight])
在指定位置上开辟子图,并成为当前图。
【例5.2-8】演示subplot指令对图形窗的分割(图5.2-8)。
t=(pi*(0:
1000)/1000)'
y1=sin(t);
y2=sin(10*t);
y12=sin(t).*sin(10*t);
subplot(2,2,1),plot(t,y1);
subplot(2,2,2),plot(t,y2);
[0.2,0.1,0.6,0.40])
plot(t,y12,'
b-'
t,[y1,-y1],'
axis([0,pi,-1,1])
.2.4获取二维图形数据的指令ginput
[x,y]=ginput(n)用鼠标从二维图形上获取n个点的数据坐标(x,y)。
.3三维曲线和曲面
.3.1三维线图指令plot3
plot3(X,Y,Z,'
)用s指定的点形线型色彩绘制曲线
plot3(X1,Y1,Z1,'
X2,Y2,Z2,'
...)
用s1,s2指定的点形线型色彩绘制多类曲线
●plot3的使用方法与plot相似。
【例5.3-1】三维曲线绘图。
本例演示:
三维曲线的参数方程;
线型、点形和图例。
(图5.3-1)
0.02:
2)*pi;
z=cos(2*t);
%三维曲线的参数方程
plot3(x,y,z,'
x,y,z,'
bd'
view([-82,58]),boxon
),ylabel('
y'
),zlabel('
z'
链'
宝石'
图5.3-1宝石项链
.3.2三维曲面/网线图
10一三维曲面/网线可视化的数据准备
画函数
所代表的三维空间曲面,需要做以下数据准备:
(1)确定自变量
的取值范围和取值间隔。
x=x1:
x2;
y=y1:
dy:
y2;
(2)构成xy平面上的自变量“格点”矩阵。
[X,Y]=meshgrid(x,y);
(3)计算在自变量采样“格点”上的函数值,即Z=f(X,Y)。
10二绘制曲面/网线图的基本指令
surf(Z)以Z矩阵列、行下标为
轴自变量,画曲面图。
surf(X,Y,Z)最常用的曲面图调用格式
surf(X,Y,Z,C)最完整调用格式,画由C指定用色的曲面图。
mesh(Z)以Z矩阵列、行下标为
轴自变量,画网线图。
mesh(X,Y,Z)最常用的网线图调用格式
mesh(X,Y,Z,C)最完整调用格式,画由C指定用色的网线图。
【例5.3-2】用曲面图表现函数
x=-4:
y=x;
%确定自变量的取值范围和采样间隔
%x-y平面上的自变量“格点”矩阵
Z=X.^2+Y.^2;
%计算格点上的函数值
surf(X,Y,Z);
%绘制曲面图
colormap(hot)%采用hot色图
stem3(X,Y,Z,'
)%用来表现x-y平面格点,及对应的函数值
axis([-5,5,-5,5,0,inf])%设置坐标范围
view([-84,21])%控制视角
.3.3曲面/网线图的精细修饰
10一视角控制view
view([az,el])通过方位角、俯视角设置视点
view([vx,vy,vz])通过直角坐标设置视点
图5.3-3视点设置参数示意
(注意:
有时指令[az0,el0]=view给出的el0数据比真实的俯视角大30度左右。
10二色图colormap
colormap(CM)设置当前图形窗的着色色图为CM
10三浓淡处理shading
shadingoptions图形对象着色的浓淡处理
【例5.3-3】三种浓淡处理方式比较。
surf(X,Y,Z)
colormap(jet)
subplot(1,3,1),surf(Z),axisoff
subplot(1,3,2),surf(Z),axisoff,shadingflat
subplot(1,3,3),surf(Z),axisoff,shadinginterp
set(gcf,'
w'
)%设置图形窗的底色为白
10四透明度控制alpha
alpha(v)对面、块、象三种图形对象的透明度加以控制
【例5.3-4】半透明的表面图。
surf(peaks)
shadinginterp
alpha(0.5)
colormap(summer)
10五灯光设置light
light('
color'
option1,'
style'
option2,'
option3)灯光设置
10六照明模式lighting
lightingoptions设置照明模式
10七控制光反射的材质指令material
materialoptions使用预定义反射模式
【例5.3-5】灯光、照明、材质指令所表现的图形。
(图5.3-6)
[X,Y,Z]=sphere(40);
subplot(1,2,1),surf(X,Y,Z),axisoff,shadinginterp
light('
[0-101.5],'
infinite'
lightingphong
materialshiny
subplot(1,2,2),surf(X,Y,Z,-Z)
axisoff,shadingflat;
light;
lightingflat
[-1,-1,-2],'
[-1,0.5,1],'
local'
)%设置图形窗的底色为白
.3.4透视、镂空和裁切
10一图形的透视
hiddenoff透视被叠压的图形
hiddenon消隐被叠压的图形
【例5.3-6】透视演示(图5.3-7)。
[X0,Y0,Z0]=sphere(30);
%产生单位球面的三维坐标
X=2*X0;
Y=2*Y0;
Z=2*Z0;
%产生半径为2的球面的三维坐标
surf(X0,Y0,Z0);
shadinginterp
holdon,mesh(X,Y,Z),colormap(hot)
%alpha(0),%观察不同
hiddenoff%产生透视效果
axisequal,