第6章MATLAB计算结果可视化

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

42第六章MATLAB计算结果可视化6.1连续函数和离散函数的可视化【例6-1】用图形表示离散函数1)6(ny。n=0:12;%产生一组自变量数据y=1./abs(n-6);%计算相应点的函数值plot(n,y,'r*','MarkerSize',20)%用红花标出数据点gridon%画坐标方格Warning:Dividebyzero.0246810120.10.20.30.40.50.60.70.80.91图6-1离散函数的可视化【例6-2】用图形表示连续调制波形)9sin()sin(tty。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)')0123-1-0.500.51子子(1)0123-1-0.500.51子子(2)0123-1-0.500.51子子(3)0123-1-0.500.51子子(4)图6-2连续函数的图形表现方法436.2二维曲线绘图的基本操作6.2.1plot的基本调用格式【例6-3】用图形表示连续调制波形)9sin()sin(tty及其包络线。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])%控制轴的范围00.511.522.53-1-0.8-0.6-0.4-0.200.20.40.60.81图6-36.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{隶书}等分采样绘图')-1012-1-0.8-0.6-0.4-0.200.20.40.60.81泛函绘图指令效果-1012-1-0.8-0.6-0.4-0.200.20.40.60.81等分采样绘图图6-4右图曲线中底部有明显绘图缺陷6.2.3曲线的色彩、线型和数据点形【例6-5】用图形演示平面上一个方块四个顶点在仿射投影(AffineProjection)下的位置、形状变化。%平面上的四个点和它们构成的方块44p1=[-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:4W=TRS{i}*Sq;%进行仿射变换subplot(2,2,i)fork=1:4plot(W(1,k),W(2,k),ss{k});%用不同点形标志四个顶点axis([-3,3,-1,5]),axisequalholdon%使以后图形画在当前子图上endplot(W(1,:),W(2,:))%连接四个顶点使图形封闭gridon%画过坐标格线title(tt{i})%给子图题写图名holdoff%使以后图形不再画在当前子图上end-4-2024024OriginalSquare-2024024Translation-4-2024024Rotation-4-2024024Scaling图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,boxoff45title('ImageandFill')subplot(2,3,6),plot(x,y),axistight,boxoff,title('Tight')-202-4-2024NormalandGridon-202-202Equal-202-4-2024Square-101-202ImageandBoxoff-101-1-0.500.51ImageandFill-101-202Tight图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),gridonaxis([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);holdofftext(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)])gridontitle('\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);holdoffcell_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')0510150.60.70.80.911.11.2y=1–exp(-alpha*t)*cos(omega*t)alpha=0.3omega=0.7ts=9.6133t--y--6.283212.566418.84960.9511.051.2843y=1-e-atcoswta=0.3w=0.7?镇定时间ts=9.6133ty46图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');holdoff01234567-0.4-0.200.20.40.60.81图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')024681012141618010020002468101214161800.20.4图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])47plot(t,y12,'b-',t,[y1,-y1],'r:');axis([0,pi,-1,1])0123-1-0.500.510123-1-0.500.5100.511.522.53-1-0.500.51图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('链','宝石')-1-0.500.51

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功