1、控制工程中的程序设计实验报告控制工程中的程序设计实验报告实验项目: Matlab环境与基础班级: 自动F1205学号: 201223910827姓名: 刘 跃实验一 Matlab环境与基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变 量。(1) z1=2*sin(85*pi/180)/(1+exp(2)z1 =0.2375(2) ,其中x=2,1+2i;-0.45,5z2=0.5*log10(x+sqrt(1+x.2)(3) a=-3:0.1:3z3=(exp(0.3*a)-exp(-0.3*a).*sin(a+0.3)/2+log10(0.3+a)/2)(4)
2、 ,其中t=0:0.25:2.5 a=0for t =0:0.25:2.5 a=a+1 if t=0 & t=1 & t=2 & t Z4Z4 = Columns 1 through 7 0 0.0625 0.2500 0.5625 0 0.5625 1.2500 Columns 8 through 11 2.0625 1.0000 1.5625 2.25002. 已知:求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位矩阵)A+6*Bans = 18 52 -10 46 7 105 21 53 49I=1 0 0;0 1 0; 0 0 1I = 1 0 0 0 1 0 0 0 1
3、 A-B+Ians = 12 31 -3 32 8 84 0 67 1(2) A*B和A.*BA*Bans = 68 44 62 309 -72 596 154 -5 241A.*Bans = 12 102 4 68 0 261 9 -130 49(3) A3和A.3A3ans = 37226 233824 48604 247370 149188 600766 78688 454142 118820A.3ans = 1728 39304 -64 39304 343 658503 27 274625 343(4) A/B及BAA/Bans = 16.4000 -13.6000 7.6000 35
4、.8000 -76.2000 50.2000 67.0000 -134.0000 68.0000BAans = 109.4000 -131.2000 322.8000 -53.0000 85.0000 -171.0000 -61.6000 89.8000 -186.2000(5) A,B和A(1,3,:);B2A,Bans = 12 34 -4 1 3 -1 34 7 87 2 0 3 3 65 7 3 -2 7A(1,3,:);B2ans = 12 34 -4 3 65 7 4 5 1 11 0 19 20 -5 403. 设有矩阵A和B(1) 求它们的乘积C。C=A*BC = 93 150
5、 77 258 335 237 423 520 397 588 705 557 753 890 717(2) 将矩阵C的右下角32子矩阵赋给D。D=C(3:5,2:3)D = 520 397 705 557 890 717(3) 查看MATLAB工作空间的使用情况。4. 求100,999之间能被21整除的数的个数。a=100:999b=(rem(a,21)=0)c=find(b)d=length(c)d = 43实验二 MATLAB数据结构与控制语句1. ,求A的行列式值、迹、秩和特征值及特征向量。Q,D=eig(A)Q = 0.7130 0.2803 0.2733 -0.6084 -0.78
6、67 0.8725 0.3487 0.5501 0.4050D = -25.3169 0 0 0 -10.5182 0 0 0 16.8351R_A=rank(A)R_A = 3trace(A)ans = -19det(A)ans = 44832. 已知:,分别计算a的数组平方和矩阵平方,并观察其结果。a.2ans = 1 4 9 16 25 36 49 64 81a2ans = 30 36 42 66 81 96 102 126 1503. ,观察a与b之间的六种关系运算的结果。a=1 2 5;3 6 -4 b=8 -7 4;3 6 2a = 1 2 5 3 6 -4b = 8 -7 4 3
7、 6 2 abans = 0 1 1 0 0 0a=bans = 0 1 1 1 1 0abans = 1 0 0 0 0 1aQ,R = qr(A)Q = -0.8028 -0.2792 -0.5269 0.5536 -0.6771 -0.4847 -0.2215 -0.6809 0.6981R = 36.1248 -3.8201 -8.9135 0 -10.5075 -16.5548 0 0 -11.8104A=pascal(3) R,p=chol(A)A = 1 1 1 1 2 3 1 3 6R = 1 1 1 0 1 2 0 0 1p = 05. 求分段函数的值。用if语句实现,分别输
8、出x=-5.0,-3.0,1.0,3.0,5.0时的y值。 n=0; for x=-5.0,-3.0,1.0,3.0,5.0n=n+1if(x=0&x yy =14 30 2 0 66. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分100分为A,80分89分为B,79分79分为C,60分69分为D,60分以下为E。要求:(1) 分别用if语句和switch语句实现。(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 x=input(x=);if x=90disp(A);else if x=80disp(B);else if x=70disp(c)
9、;else if x=60disp(D);else disp(E);endendendendx=89B n=input(input the score:);switch fix(n/10)case0,1,2,3,4,5disp(E);case6disp(D);case7disp(C);case8disp(B);case9,10disp(A);endinput the score:89B7. 根据,求的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。 x=0 0 0;n=100 1000 10000;for i=1:nx=x+
10、1/i/i;y=sqrt(6*x);end yy = 3.1321 3.1321 3.13218. 根据,求:(1) y y=0;n=0; while y n-1ans = 56实验三 GUI与图形设计1. 设,在x=02区间取101点,绘制函数的曲线。 x= linspace(0, 2*pi, 100);y=0.5+3.*sin(x)/(1+x.2).*cos(x);plot(x,y)2. 已知y1=x2,y2=cos(2x),y3=y1y2,完成下列操作:(1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。 x1=linspace(0,2*pi,100); y1=x.2;y2=cos(2
11、*x);y3=y1.*y2; plot(x,y1,x,y2,x,y3)(2) 以子图形式绘制三条曲线。3. 有一组测量数据满足,t的变化范围为010,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线, 添加图例框和标题,并用箭头线标识出各曲线a的取值。 y1=exp(-0.1*t); y2=exp(-0.2*t); y3=exp(-0.5*t); plot(t,y1,-ob,t,y2,:*r,t,y3,-.g) title(ityrm=e-itat) title(ityrm=e-itat,FontSize,12) text(t(6),y1(6),leftarrowit
12、arm=0.1,FontSize,11) text(t(6),y2(6),leftarrowitarm=0.2,FontSize,11) text(t(6),y3(6),leftarrowitarm=0.5,FontSize,11)4. 在同一坐标内,分别用不同线型和颜色绘制曲线 y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x),标记两曲线交叉点。x=0:pi/10:20;y1=0.2*exp(-0.5*x.*cos(4*pi*x); plot(x,y1,k:)hold ony2=2*exp(-0.5*x.*cos(pi*x); plot(x,y2,m)5. 利用图形
13、用户界面,实现记事本【File】菜单下的【新建】、【打开】、【保存】、【另存为】和【退出】菜单项功能。6. 利用图形用户界面,实现两个编辑框输入数据的加减乘除运算,并在静态文本框中显示。实验四 simulink使用与仿真分别利用数值积分法和Simulink仿真法求解提示:(1)数值积分利用quad函数,注意函数表达式的定义。(2)函数表达式利用Simulink中的Math Operations模块库中数学函数模块构建,积分是通过Continuous模块库中Integrator积分模块来完成的,积分区间则通过设定仿真的起止时间来实现,其结果通过Sink模块库中的Display模块显示。f=inl
14、ine(sin(2*pi*x).*log(1+x) quad(f,0,pi,1e-6) f = Inline function: f(x) = sin(2*pi*x).*log(1+x) ans = -0.1342 新建untitled,找模块拖动进u内,右键推动复制 单个参数设置 1、 math functionfunction:log 2、 sine wavefrequency:2*pi 整体参数 -configuration pavamatersstop time:pi实验五 PID控制器设计1. 基本PID控制SIMULINK仿真。仿真时取kp=60,ki=1,kd=3,输入指令为rin(k)=sin(0.4*pi*t)。采用ODE45迭代方法,仿真时间为10s。2. 设被控对象,采用增量式PID进行控制,PID的参数,输入信号选单位阶跃信号。Scope:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1