您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > MATLAB编程作业
《Matlab编程训练》作业专业学生姓名班级学号指导教师完成日期实训一MATLAB语言介绍和数值计算1.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存变量。0122sin851ze.2.已知1234413134787,2033657327AB,求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵)A+6*B:A-B+I:(2)A*B和A.*BA*B程序:A=[1234-4;34787;3657]B=[13-1;203;3-27]c=A*B结果:A.*B程序:A=[1234-4;34787;3657]B=[13-1;203;3-27]D=A.*B结果:(3)A^3和A.^3A^3程序:A=[1234-4;34787;3657]E=A^3结果:A.^3程序:A=[1234-4;34787;3657]C=A.^3(4)A/B及B\AA/B程序:A=[1234-4;34787;3657]B=[13-1;203;3-27]C=A/B结果:B\A程序:A=[1234-4;34787;3657]B=[13-1;203;3-27]D=B\A结果:(5)将矩阵C=B\A的右下角2*2子矩阵赋给D,并(3)保存变量(mat文件)程序:A=[1234-4;34787;3657];B=[13-1;203;3-27];C=B*inv(A);D=C(2:3,2:3)结果:3.求得矩阵34157864653434533145A的每行最大元素所在的位置?(至少两种方法)第一种:A=[51433;45433;6546;781534][RowMaxOrder]=max(A')结果:第二种:A=[51433;45433;6546;781534][Max_num,index]=max(A,[],2)结果:实训二MATLAB编程基础1.求[25,1258]之间能被15整除的数的个数。程序:A=25:1258;length(A(mod(A,15)==0))结果:2.根据222221......3121116n,求的近似值。当n分别取100、1000、10000时,结果是多少?程序:n=1:100;test=sqrt(6*sum(1./(n.*n)))结果:程序:n=1:1000;test=sqrt(6*sum(1./(n.*n)))结果:程序:n=1:10000;test=sqrt(6*sum(1./(n.*n)))结果:3.有三个多项式p1(x)=x4+2x3+4x2+5,p2(x)=x+2,p3(x)=x2+2x+3,试进行下列操作:(1)求P(x)=P1(x)+P2(x)P3(x);程序:p2=[12]p3=[123]Q=conv(p2,p3)结果:程序:p1=[12405]Q1=[01476]B=p1+Q1结果:(2)求P(x)的根;程序:C=roots(B)结果:(3)当x取矩阵A的每一元素时,求P(x)的值,其中5.2505.3275.04.12.11A程序:A=[-11.2-1.4;0.7523.5;052.5]y=polyval(B,A)结果:(4)当以矩阵A为自变量时,求P(x)的值,其中A的值与(3)题相同。程序:A=[-11.2-1.4;0.7523.5;052.5]y1=polyvalm(B,A)结果:实训三MATLAB图形系统1.设xxxysin]5cos101.0[3,在x=0~2π区间取120点,绘制函数曲线。程序:x=(0:2*pi/119:2*pi)y=(0.1+10*cos(x)/(5+x.^3))*sin(x);plot(x,y)结果:2.已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作(x∈(0,10)):(1)在同一坐标系下用不同的颜色和线型绘制三条曲线;(2)在不同的图形窗中分别用条形图、阶梯图、杆图绘制三条曲线。如下图所示:3.微分方程求解:2332121121,),(bxxxxxxfxmxax其中,.7/2,7/1,28.14,910mmba)11)((2/11101xxmmf,初始值]0.20.30.2[0x.实训四SIMULINK仿真环境1.利用SIMULINK仿真来实现摄氏温度到华氏温度的转化:3259cfTT(cT范围在-10℃~100℃)2.单位负反馈系统的开环传递函数为:)101.0)(11.0(1000)(ssssG,应用Simulink仿真系统构建阶跃响应曲线。3.分析PID调节器各参数的作用PID的数学模型为01()()(()())tpDIdetutKetetTTdt1)、分析PID调节作用,考查当(1)Kp=8.5,Ki=5.3,Kd=3.4(2)Kp=6.7,Ki=2,Kd=2.5(3)Kp=4.2,Ki=1.8,Kd=1.7时对系统阶跃响应的影响.(三条线在一个图里)2)、以Kp=8.5,Ki=5.3,Kd=3.4这组数据为基础,改变其中一个参数,固定其余两个,以此来分别讨论Kp,Ki,Kd的作用(三条线在一个图里):①分析PID的比例作用:只改变Kp,当Kp=8.5,Kp=6.7,Kp=4.2时候系统输出曲线截图标注;②分析PID的积分作用:只改变Ki,当Ki=5.3,Ki=2,Ki=1.8时候系统输出曲线截图标注;③分析PID的微分作用:只改变Kd,当Kd=3.4,Kd=2.5,Kd=1.7时候系统输出曲线截图标注。3)、分析不同调节器下该系统的阶跃响应曲线(四条线在一个图里)(1)P调节Kp=8(2)PI调节Kp=5,Ki=2(3)PD调节Kp=8.5,Kd=2.5(4)PID调节Kp=7.5,Ki=5,Kd=3实训五综合题1.某控制系统的被控过程的传递函数是:)110)(12)(15(1)(ssssG,基于MatlabSimulink设计PID控制器,满足以下要求:(PID控制器封装子系统,写出具体步骤,并附图.)(1)封装子系统(2)设置参数(3)整定PID参数(稳定边界法采用4:1)?设置初始参数为Kp=1,Ki=0,Kd=0(即纯比例控制),启动仿真,得到系统的阶跃响应曲线,如图(a)所示。由图(a)可知,系统虽然能够稳定运行,但却是有静差的,而且快速性也较差,因此需要引入积分和微分环节。根据临界比例度法的整定法则,需要逐步增大Kp,获取系统的等幅振荡曲线,求出临界增益Ku和临界振荡周期Tu。通过调整参数求得临界振荡时的临界增益为Ku≈12.5,临界振荡周期大致为Tu≈15.12s图(a)(4)整定PID参数(稳定边界法采用等幅振荡)?控制器类型KpKiKdP0.5Ku∞0PI0.455Ku0.85Tu0PID0.6Ku0.5Tu0.125Tu根据表一选取相应的PID参数值应为:Kp=0.6Ku=7.5,Ti=0.5Tu=7.56,Td=0.125,Tu=1.89所以积分项系数Ki=Kp/Ti=0.992,微分项系数为Kd=Kp*Td=14.175。最后求得按照临界比例度法整定PID参数后系统的阶跃响应曲线如图(b)所示。由图(b)知,系统阶跃响应的超调量,调节时间约为35s,稳定性和快速性还有待改善,此时可以对整定的PID参数适当调整。通过减小积分系数Ki来减小超调量。取Ki=0.4,Kp,Kd仍用临界比例度法整定的数据,进而得到系统新的单位阶跃响应曲线,如图(c)所示。从图(c)可以看出系统的过渡过程时间,超调量都有所降低。图(b)图(c)3)结果分析比较?使用稳态边界法得到的相应曲线调节可以消除余差,但是它的超调量较大。我们可以把Ki适当减少,即增大积分时间常数,减弱积分作用来改善响应曲线过渡过程动态偏差过大的问题。2.已知两子系统传递函数分别为:15)(1ssG9287)(22ssssG试求:1)两系统并联连接的等效传递函数,观察其单位阶跃响应;2)两系统串联连接的等效传递函数,观察其单位阶跃响应;3)以G2(s)为前向通道函数,以G1(s)为反馈通道函数,观察其单位阶跃响应。(要求:分别采用编程和simulink两种方法完成)(1)simulink法:(2)编程法:个人总结为期一个星期的MATLAB实训已经结束,虽然时间很短,但我还是从中学到了很多,对MATLAB有了一定的了解。Matlab是一个基于矩阵运算的软件,它的运算功能非常强大,编程效率高,强大而智能化的作业图功能,可扩展性强,simulink动态仿真功能,主要用于仿真、验证、算法思想是否正确。在这段时间里,我们主要学习MATLAB的工具的使用,熟悉其最基础的功能,锻炼了我的实际动手能力。Help是MATLAB中最有效的命令。遇到问题,通常都可以借助help解决问题。就对matlab相关的命令操作而言,通过这次实验的亲身操作和实践,学习掌握了许多原本不知道的或者不太熟悉的命令。比如说相关m文件的建立,画图用到的标注,配色,坐标控制,同一张图里画几幅不同的图像,相关参数的设置以最后我再次也希望通过这篇总结来表达自己对知道老师的感谢之情,谢谢您的不懈努力和耐心指导,才使得我再这次的实验过程中收获的这么多,也正式您的不吝教诲才使得我们在这次实验中学习和收获了许多的有用的知识和技巧,我相信在以后的学习或者工作中一定有其用武之地。
本文标题:MATLAB编程作业
链接地址:https://www.777doc.com/doc-2887808 .html