MATLAB计算机的可视化和程序设计_第1页
MATLAB计算机的可视化和程序设计_第2页
MATLAB计算机的可视化和程序设计_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验4MATLAB计算机的可视化和程序设计目的和要求熟练掌握MATLAB熟练掌握图形的修饰。掌握三维图形的绘制。熟练掌握各种特殊图形的绘制。熟练掌握MATLAB熟练掌握M内容和步骤MATLAB的图形功能非常大,可以对二维、三维数据用图形表现,并可以对图形的线型、曲面、视角、色彩、光线等进行处理。MATLAB也有其各种复杂的功能。绘制二维曲线Plot(x) %绘制以xPlot(x,y) %绘制以xy>>X=linspace(0,2*pi);>>Plot(x)>>y=rand(10);>>plot(y)绘制如图T4.122角一正弦曲线,y=sin(2*pi*t),t[0,2];窗口右下角画3条衰减的单边指数曲线y=e^-t,y=e^-2t和y=e^-3t,t∈[0,2];窗口左下角画一矩形脉冲信号,脉冲宽度为1,高度为2,开始时间为1;窗口右下角画一单位圆。MATLAB允许在同一窗口绘制多个子图,使用subplot命令,各子图的顺序是先向右后向下。①221>>subplot(2,2,1)>>t1=0:0.1:2;>>y1=sin(2*pi*t1);>>plot(t1,y1);>>title(‘y=sin(2*pi*t)’) ②222>>subplot(2,2,2)>>t2=0:0.1:2;>>y2=[exp(-t2);exp(-2*t2);exp(-3*t2)];>>plot(t2,y2)>>axis([02-0.11.2]); >>title(‘y=e-t,y=e-2t,y=e-3t’)③223>>subplot(2,2,3);>>t3=[0112234]>>y3=[0022000]>>plot(t3,y3,’:*r’); >>axis([04-0.53]);④224>>subplo(2;>>t4=0:0.1:2*pi;>>plo(sin(t4),cos(t4--o’); >>axis([-1.21.2-1.21.2];>>axisequal; >>xlabel('sin(t4)');>>ylabel('cos(t4)');>>title(‘圆’,’FontSize’,12,’FontWeight’,’bold’,’FontName’,’隶书‘)练习:subplot(2,2,[13]);subplot(2,2,2);subplot(2,2,4)subplot(2,2,1:2);subplot(2,2,2);subplot(2,2,4)2.绘制多条二阶系统时域曲线和三维图形12(1212y=112

esin(

xacos).①绘制一条阻尼系数()zeta=0的二阶系统统曲线。>>x=0:0.1:20;>>zeta=0>>y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta);>>plot(x,y1)②在同一窗口叠绘4条曲线,使用holdon命令。>>zeta=0.3;>>y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta);>>holdon>>plot(x,y2,’r:’)>>zeta=0.5;>>y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta);>>plot(x,y3,‘g*’)>>zeta=0.707;>>y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta);>>plot(x,y4,’m—‘)③添加文字标注。>>title(‘二阶系统曲线添加标题>>legend(‘\zeta=0’,’\zeta=0.3’,’\zeta=0.5’,’\zeta=0.707’)%添加图例>>gridon ④使用交互式图形命令。>>gtext(’\zeta=0’) >>gtext(’\zeta=0.3’)>>gtext(’\zeta=0.5’)>>gtext(’\zeta=0.707’)得出图形后,在4条曲线的相应位置用鼠标单击添加文字。(2)绘制三维图形。x,yzeta>>x=0:0.1:20;>>y=[y1;y2;y3;y4];>>z=[ones(size(x))*0;ones(size(x))*0.3;ones(size(x))*0.5;-----ones(size(x))*0.707]; Z>>plot3([x;x;x;x],z,y) >>surf([x;x;x;x],z,y) 0,0.3,0.5,0.707分别为阻尼系数,矩阵Z为4×size(x)的矩阵。②色图的显示和控制>>colormap;>>colormappink>>colorbar3.特殊图形MATLAB还提供了一些特殊的曲线以满足特殊的需求。⑴绘制条形图。>>x=0:0.3:2*pi;>>y=sin(x);>>subplot(2,2,1)>>bar(x,y,0.5) 0.5>>axis([0,2*pi,-1.2,1.2])⑵绘制实心图。>>subplot(2,2,2)>>fill(x,y,’r’) ⑶绘制阶梯图。>>subplot(2,2,3)>>stairs(x,y)⑷绘制火柴杆图。>>subplot(2,2,4)>>stem(x,y)4.MATLAB(1)M%exam01x=0:0.1:20;y1=1-1/sqrt(1-0.3^2)*exp(-0.3*x).*sin(sqrt(1-0.3^2)*x+acos(0.3))plot(x,y1,'r')holdony2=1-1/sqrt(1-0.707^2)*exp(-0.707*x).*sin(sqrt(1-0.707^2)*x+acos(0.707))plot(x,y2,'g')y3=1-exp(-x).*(1+x)plot(x,y3,'b')编写好之后,将文件存在当前路径下,文件名exam01.m,在MATLAB命令窗口执行命令:>>exam01for循环语句计算sum=10i1

ii的程序>>sum=0;>>forn=1:10;sum=n^n+sumendwhile>>n=1;>>sum=0;>>whilen<=10sum=n^n+sumn=n+1;end(4)M函数文件functiony=exam02(zeta)%exam02x=0:0.1:20;if(zeta>0)&(zeta<1)y=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));elseifzeta==1y=1-exp(-x).*(1+x);endplot(x,y)在M文件编辑窗口编写上述程序,保存为exam02.m文件,在MATLAB命令窗口输入:>>zeta=0.707;>>exam02(zeta)实验五MATLAB控制系统分析(一)目的和要求掌握使用MatlabMatlab进行系统的时域分析方法掌握使用Matlab掌握使用Matlab内容和步骤控制系统稳定性分析(1)求解控制系统的特征方程的根,通过判断所有根的实部是否小于零。利用roots()函数实现。例如:(S2)已知系统的开环传递函数为:G(S)=100 ,试对系统闭环判别其稳定性S(S1)(S20)>>k=100;>>z=[-2];>>p=[0-1-20];>>g=zpk(z,p,k); >>gs=tf(g); >>sys=feedback(gs,1) 100s+200s^3+21s^2+120s+200>>p=[121120200];>>roots(p)ans=-12.8990-5.0000-3.1010计算数据表明所有特征根的实部为负数,所以闭环系统是稳定的。(2)根轨迹法判断系统稳定性:(s3) 已知一个单位负反馈系统开环传递函数 s(s 5)(s 6)(s2 2s 2)环的根轨迹图上选择一点,求出该点的增益k及系统的闭环极点的位置,并判断在该点系统的稳定性>>n=[13];>>d1=conv([16],[122]);>>d2=conv([15],d1);>>d2=conv([15],[d1]);>>d=conv([10],[d1]);>>sys=tf(n,d);>>rlocus(sys)>>[k,poles]=rlocfind(sys)该程序执行后可得系统闭环的根轨迹,如图5.1所示图5.1执行最后语句后会在根轨迹窗口上显示十字光标,当在根轨迹负实轴上选择一点时,其相应的增益由变量k记录,与增益相关的所有点记录在变量poles中。如:k=9.7229poles=-5.7274-5.3152-0.4923+0.8617i-0.4923-0.8617i-0.9728由计算数据可知,系统在k=9.7229点闭环系统是稳定的。(3)Bode图判断系统稳定性:利用函数margin(),既可以绘制系统bode图,又能计算频域性能指标。例如:2.7s 5s 已知单位负反馈系统开环传递函数s 5s 3 2稳定性。>>n=2.7;>>d=[154>>sys=tf(n,d);>>[gm,pm,wcp,wcg]=margin(sys)gm=7.4074 17.4db(见图)pm=51.7321 wcp=2.0000 %-piwcg=0.5783 >>margin(sys)5.2通过结果可以看出该闭环系统是稳定的。2。控制系统时域响应分析利用MATLAB所提供的求取连续系统的单位阶跃响应函数ste(Impul(,零输入响应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论