MATLAB
- 格式:doc
- 大小:1.42 MB
- 文档页数:22
《Matlab编程训练》 作业
专业 自动化 学生姓名 陆梦婷 班级 自动化134 学号 1310603424 指导教师 段文勇 完成日期 2016年6月13日 实训一 MATLAB语言介绍和数值计算 1.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存变量。 012
2sin851ze.
2. 已知 1234413134787,2033657327AB,求下列表达式的值: (1) A+6*B和A-B+I(其中I为单位矩阵) A+6*B: A-B+I: (2) A*B和A.*B A*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] c=A*B 结果:
A.*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=A.*B 结果: (3) A^3和A.^3 A^3程序: A=[12 34 -4;34 7 87;3 65 7] E=A^3 结果:
A.^3程序: A=[12 34 -4;34 7 87;3 65 7] C=A.^3
(4) A/B及B\A A/B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] C=A/B 结果: B\A程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=B\A 结果:
(5) 将矩阵C=B\A的右下角2*2子矩阵赋给D, 并(3)保存变量(mat文件) 程序: A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; C=B*inv(A); D=C(2:3,2:3) 结果: 3. 求得矩阵34157864653434533145A的每行最大元素所在的位置?(至少两种方法) 第一种:A=[5 14 33;45 43 3;65 4 6;78 15 34] [RowMax Order]=max(A') 结果:
第二种:A=[5 14 33;45 43 3;65 4 6;78 15 34] [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=[1 2] p3=[1 2 3] Q=conv(p2,p3) 结果:
程序: p1=[1 2 4 0 5] Q1=[0 1 4 7 6] B=p1+Q1 结果:
(2)求P(x)的根; 程序: C=roots(B) 结果: (3)当x取矩阵A的每一元素时,求P(x)的值,其中
5.2505.3275.04.12.11
A
程序: A=[-1 1.2 -1.4;0.75 2 3.5;0 5 2.5] y=polyval(B,A) 结果:
(4)当以矩阵A为自变量时,求P(x)的值,其中A的值与(3)题相同。 程序: A=[-1 1.2 -1.4;0.75 2 3.5;0 5 2.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.2 0.3 0.2[0x. 实训四 SIMULINK仿真环境 1. 利用SIMULINK仿真来实现摄氏温度到华氏温度的转化:3259cfTT(cT范围在-10℃~100℃)
2. 单位负反馈系统的开环传递函数为:)101.0)(11.0(1000)(ssssG,应用Simulink仿真系统构建阶跃响应曲线。
3. 分析PID调节器各参数的作用 PID的数学模型为01()()(()())tpDIdetutKetetTTdt 1)、分析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,基于Matlab Simulink设计PID控制器,满足以下要求: (PID控制器封装子系统,写出具体步骤,并附图.) (1)封装子系统 (2)设置参数
(3)整定PID参数(稳定边界法采用4:1)? 设置初始参数为 Kp = 1,Ki = 0,Kd = 0(即纯比例控制),启动仿真 ,得到系统的阶跃响应曲线 ,如图(a)所示。由图 (a)可知 ,系统虽然能够稳定运行 ,但却是有静差的 ,而且快速性也较差 ,因此需要引入积分和微分环节。根据临界比例度法的整定法则 ,需要逐步增大 Kp,获取系统的等幅振荡曲线 ,求出临界增益 Ku 和临界振荡周期 Tu。通过调整参数求得临界振荡时的临界增益为 Ku ≈12.5 ,临界振荡周期大致为 Tu ≈15.12 s
图(a) (4)整定PID参数(稳定边界法采用等幅振荡)? 控制器类型 Kp Ki Kd P 0.5Ku ∞ 0 PI 0.455Ku 0.85Tu 0 PID 0.6Ku 0.5Tu 0.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适当减少,即增大积分时间常数,减弱积分作用来改善响应曲线