MATLAB计算结果可视化.docx

上传人:b****2 文档编号:11407520 上传时间:2023-05-31 格式:DOCX 页数:15 大小:158.19KB
下载 相关 举报
MATLAB计算结果可视化.docx_第1页
第1页 / 共15页
MATLAB计算结果可视化.docx_第2页
第2页 / 共15页
MATLAB计算结果可视化.docx_第3页
第3页 / 共15页
MATLAB计算结果可视化.docx_第4页
第4页 / 共15页
MATLAB计算结果可视化.docx_第5页
第5页 / 共15页
MATLAB计算结果可视化.docx_第6页
第6页 / 共15页
MATLAB计算结果可视化.docx_第7页
第7页 / 共15页
MATLAB计算结果可视化.docx_第8页
第8页 / 共15页
MATLAB计算结果可视化.docx_第9页
第9页 / 共15页
MATLAB计算结果可视化.docx_第10页
第10页 / 共15页
MATLAB计算结果可视化.docx_第11页
第11页 / 共15页
MATLAB计算结果可视化.docx_第12页
第12页 / 共15页
MATLAB计算结果可视化.docx_第13页
第13页 / 共15页
MATLAB计算结果可视化.docx_第14页
第14页 / 共15页
MATLAB计算结果可视化.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB计算结果可视化.docx

《MATLAB计算结果可视化.docx》由会员分享,可在线阅读,更多相关《MATLAB计算结果可视化.docx(15页珍藏版)》请在冰点文库上搜索。

MATLAB计算结果可视化.docx

MATLAB计算结果可视化

第六章MATLAB计算结果可视化

6.1连续函数和离散函数的可视化

【例6-1】用图形表示离散函数

n=0:

12;%产生一组自变量数据

y=1./abs(n-6);%计算相应点的函数值

plot(n,y,'r*','MarkerSize',20)%用红花标出数据点

gridon%画坐标方格

Warning:

Dividebyzero.

图6-1离散函数的可视化

【例6-2】用图形表示连续调制波形

t1=(0:

11)/11*pi;

y1=sin(t1).*sin(9*t1);

t2=(0:

100)/100*pi;

y2=sin(t2).*sin(9*t2);

subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图

(1)')

subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图

(2)')

subplot(2,2,3),plot(t1,y1,t1,y1,'r.')

axis([0,pi,-1,1]),title('子图(3)')

subplot(2,2,4),plot(t2,y2)

axis([0,pi,-1,1]),title('子图(4)')

图6-2连续函数的图形表现方法

6.2二维曲线绘图的基本操作

6.2.1plot的基本调用格式

【例6-3】用图形表示连续调制波形

及其包络线。

t=(0:

pi/100:

pi)';%长度为101的时间采样列向量

y1=sin(t)*[1,-1];%包络线函数值,是(101x2)的矩阵

y2=sin(t).*sin(9*t);%长度为101的调制波列向量

t3=pi*(0:

9)/9;

y3=sin(t3).*sin(9*t3);plot(t,y1,'r:

',t,y2,'b',t3,y3,'bo')

axis([0,pi,-1,1])%控制轴的范围

图6-3

6.2.2泛函绘图指令fplot

【例6-4】fplot与一般绘图指令的绘图效果比较。

[x,y]=fplot('cos(tan(pi*x))',[-0.4,1.4],0.2e-3);n=length(x);

subplot(1,2,1),plot(x,y)

title('\fontsize{20}\fontname{隶书}泛函绘图指令效果')

t=(-0.4:

1.8/n:

1.4)';

subplot(1,2,2),plot(t,cos(tan(pi*t)))

title('\fontsize{20}\fontname{隶书}等分采样绘图')

图6-4右图曲线中底部有明显绘图缺陷

注:

min(diff(x))=(b-a)*tol;

6.2.3曲线的色彩、线型和数据点形

【例6-5】用图形演示平面上一个方块四个顶点在仿射投影(AffineProjection)下的位置、形状变化。

%平面上的四个点和它们构成的方块

p1=[-0.5,0,1]';p2=[-0.5,1,1]';p3=[0.5,1,1]';p4=[0.5,0,1]';

Sq=[p1,p2,p3,p4,p1];

%平移投影:

沿x轴移动0.5,沿y轴移动1。

dx=0.5;dy=1;T=[1,0,dx;0,1,dy;0,0,1];

%旋转投影:

逆时针旋转30度。

th=pi/6;R=[cos(th),-sin(th),0;sin(th),cos(th),0;0,0,1];

%刻度投影:

x方向放大到2倍,y方向放大到3倍。

alpha=2;beta=3;S=[alpha,0,0;0,beta,0;0,0,1];

E=eye(3,3);%为编程方便,设计一个单位阵。

在它投影下,任何形状都不变。

TRS={E,T,R,S};%用元胞数组存放四个变换矩阵

ss={'r^','rd','rp','rh'};%用元胞数组存放数据点形设置值

tt={'OriginalSquare','Translation','Rotation','Scaling'};

%用元胞数组存放四张子图的图名

fori=1:

4

W=TRS{i}*Sq;%进行仿射变换

subplot(2,2,i)

fork=1:

4

plot(W(1,k),W(2,k),ss{k});%用不同点形标志四个顶点

axis([-3,3,-1,5]),axisequal

holdon%使以后图形画在当前子图上

end

plot(W(1,:

),W(2,:

))%连接四个顶点使图形封闭

gridon%画过坐标格线

title(tt{i})%给子图题写图名

holdoff%使以后图形不再画在当前子图上

end

图6-5仿射投影演示

6.2.4坐标控制

【例6-6】观察各种轴控制指令的影响。

演示采用长轴为3.25,短轴为1.15的椭圆。

注意:

采用多子图表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。

t=0:

2*pi/99:

2*pi;

x=1.15*cos(t);y=3.25*sin(t);%y为长轴,x为短轴

subplot(2,3,1),plot(x,y),axisnormal,gridon,

title('NormalandGridon')

subplot(2,3,2),plot(x,y),axisequal,gridon,title('Equal')

subplot(2,3,3),plot(x,y),axissquare,gridon,title('Square')

subplot(2,3,4),plot(x,y),axisimage,boxoff,title('ImageandBoxoff')

subplot(2,3,5),plot(x,y),axisimagefill,boxoff

title('ImageandFill')

subplot(2,3,6),plot(x,y),axistight,boxoff,title('Tight')

图6-6各种轴控制指令的不同影响

6.2.5刻度、分格线和坐标框

【例6-7】绘制二阶系统阶跃响应。

clf;t=6*pi*(0:

100)/100;y=1-exp(-0.3*t).*cos(0.7*t);

tt=t(find(abs(y-1)>0.05));ts=max(tt);

subplot(1,2,1),plot(t,y,'r-','LineWidth',3),gridon

axis([0,6*pi,0.6,max(y)])

title('y=1–exp(-alpha*t)*cos(omega*t)')

text(11,1.25,'alpha=0.3');text(11,1.15,'omega=0.7')

holdon;plot(ts,0.95,'bo','MarkerSize',10);holdoff

text(ts+1.5,0.95,['ts='num2str(ts)])

xlabel('t-->'),ylabel('y-->')

subplot(1,2,2),plot(t,y,'r-','LineWidth',3)

axis([-inf,6*pi,0.6,inf])

set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])

gridon

title('\ity=1-e^{-\alphat}cos{\omegat}')

text(13.5,1.2,'\fontsize{12}{\alpha}=0.3')

text(13.5,1.1,'\fontsize{12}{\omega}=0.7')

holdon;plot(ts,0.95,'bo','MarkerSize',10);holdoff

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)

xlabel('\fontsize{14}\bft\rightarrow')

ylabel('\fontsize{14}\bfy\rightarrow')

图6-7二阶阶跃响应图用MATLAB4.x和5.x版标识时的差别

6.2.6多次叠绘

【例6-8】利用hold绘制离散信号通过零阶保持器后产生的波形。

t=2*pi*(0:

20)/20;y=cos(t).*exp(-0.4*t);

stem(t,y,'g');holdon;stairs(t,y,'r');holdoff

图6-8离散信号的重构

6.2.7双纵坐标图

【例6-9】受热压力容器的期望温度是120度,期望压力是0.25Mpa。

在同一张图上画出它们的阶跃响应曲线。

S1=tf([11],[1321]);%温度的传递函数对象模型。

S2=tf(1,[111]);%压力的传递函数对象模型。

[Y1,T1]=step(S1);%计算阶跃响应

[Y2,T2]=step(S2);%计算阶跃响应

plotyy(T1,120*Y1,T2,0.25*Y2,'stairs','plot')

图6-9双纵坐标图演示

6.2.8多子图

【例6-10】演示subplot指令对图形窗的分割。

clf;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);axis([0,pi,-1,1])

subplot(2,2,2),plot(t,y2);axis([0,pi,-1,1])

subplot('position',[0.2,0.05,0.6,0.45])

plot(t,y12,'b-',t,[y1,-y1],'r:

');axis([0,pi,-1,1])

图6-10多子图的布置

6.2.9三维线图指令plot3

【例6-11】简单例题。

t=(0:

0.02:

2)*pi;x=sin(t);y=cos(t);z=cos(2*t);

plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),boxon,legend('链','宝石')

图6-11宝石项链

6.2.10网线图、曲面图基本指令格式

【例6-12】用曲面图表现函数

clf,x=-4:

4;y=x;[X,Y]=meshgrid(x,y);%生成x-y坐标“格点”矩阵

Z=X.^2+Y.^2;%计算格点上的函数值

surf(X,Y,Z);holdon,colormap(hot)

stem3(X,Y,Z,'bo')%用来表现在格点上计算函数值

图6-12曲面图和格点

6.2.11各种直方图bar,barh,bar3,bar3h

【例6-13】二维直方图有两种图型:

垂直直方图和水平直方图。

而每种图型又有两种表现模式:

累计式:

分组式。

本例选其两种加以表现。

x=-2:

2;%注意:

自变量要单调变化

Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5];%各因素的相对贡献份额

subplot(1,2,1),bar(x',Y','stacked')%“累计式”直方图

xlabel('x'),ylabel('\Sigmay'),colormap(cool)%控制直方图的用色

legend('因素A','因素B','因素C')

subplot(1,2,2),barh(x',Y','grouped')%“分组式”水平直方图

xlabel('y'),ylabel('x')

图6-13二维直方图

6.2.12饼图pie,pie3

【例6-14】饼图指令pie,pie3用来表示各元素占总和的百分数。

该指令第二输入宗量为与第一宗量同长的0-1向量,1使对应扇块突出。

a=[1,1.6,1.2,0.8,2.1];

subplot(1,2,1),pie(a,[10100]),legend({'1','2','3','4','5'})

subplot(1,2,2),pie3(a,a==min(a)),colormap(cool)

图6-14饼形统计图

6.3图形窗的图形编辑功能

【例6-15】运行以下指令

clf;shg,t=(pi*(0:

1000)/1000)';y1=sin(t);y12=sin(t).*sin(10*t);

plot(t,y12,'b-',t,[y1,-y1],'r:

'),axis([0,pi,-1,1])

图6-15MATLAB5.3版图形窗

【例6-16】编辑图形

图6-16经交互编辑后的图形

6.4函数绘图的简捷指令

【例6-17】绘制

和它的积分

间的图形。

symsttao;

y=2/3*exp(-t/2)*cos(sqrt(3)/2*t);%定义符号函数

s=subs(int(y,t,0,tao),tao,t);%获得积分函数

subplot(1,2,1),ezplot(y,[0,4*pi]);grid%一元函数简捷绘图指令

subplot(1,2,2),ezplot(s,[0,4*pi]);grid

title('s=\inty(t)dt')%重写右子图图名

图6-17ezplot使用示例

注:

subs(S)表示:

用数值替代所有的符号变量

【例6-18】画出

所表示的三维曲面。

的取值范围是

解:

clear;%清内存

x=-8:

0.5:

8;%定义自变量x的一维刻度向量

y=x';%定义自变量y的一维刻度向量,“’”为矩阵转置

X=ones(size(y))*x;%计算自变量平面上取值点

坐标的二维数组

Y=y*ones(size(x));%计算自变量平面上取值点

坐标的二维数组

R=sqrt(X.^2+Y.^2)+eps;%计算中间变量

Z=sin(R)./R;%计算与自变量二维数组相应的函数值

mesh(Z);%绘制三维网格图

colormap(hot)%指定网格图用hot色图绘制

图6-18三维网线图

●常用绘图函数

plot

绘制二维图形

viewmtx

定义观察点的矩阵

Plot3

绘制三维图形

contour

等高线图

fplot

绘图函数

Contour3

三维等高线图

subplot

将当前图分为若干子图

meshgrid

产生网格

semilogx,semilogy

对数绘图

Surf

曲面图

view

观察点的位置或角度

Mesh

网格曲面图

waterfall

曲面图

Figure

设为当前图或创建图

surfl,surfc,surfnorm

带有特殊光照,等高线和法线的曲面图

surface

曲面对象

fill,fill3

填充多边形

Line

线对象

colormap

读或设置颜色表

Text

文本对象

newplot

设定下一个图的属性

whitebg

背景颜色

slice

三个变量的绘图函数

Clf

清除图形

hold

保留当前图形

Axis

坐标轴刻度

grid

显示或隐藏网格线

comet,comet3

动态绘制二维、三维图形

polar

在极坐标中绘图

semilogx,semilogy,loglog

对数绘图

习题

1.绘制函数

时的曲线。

2.绘制函数y=sin(t)的曲线。

3.编写程序作图:

函数y=2*sin(3*x)+cos(x),区间:

0≤x≤4π,-5≤y≤5。

(参考:

fplot)

4.利用peaks函数产生矩阵x、y、z,在一个图形窗中作出曲面图和等值线图(曲面图位于界面上部,等值线图位于界面下部)。

(参考:

peaks,subplot,surf,contour)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2