线性系统理论MATLAB大作业

合集下载

matlab大作业实验报告,《Matlab程序设计》期末实验报告-大作业2015.doc

matlab大作业实验报告,《Matlab程序设计》期末实验报告-大作业2015.doc

matlab⼤作业实验报告,《Matlab程序设计》期末实验报告-⼤作业2015.doc《MATLAB程序设计》实验报告学院: 学号: 姓名:⼀、题⽬:1、(10分)已知矩阵,⽤Matlab代码实现以下要求:(1)将矩阵赋给变量A,并在屏幕上显⽰A;(2)将A按列进列逆序重排,重排后的矩阵赋给变量B,并在屏幕上显⽰B;(3)⽤reshape命令将A重排为⼀个2⾏6列矩阵并赋给变量C;(4)将A重排为⼀个列向量,将其赋给变量D,求D的平均值,在屏幕上显⽰D和它的平均值;(5)⽤命令查看变量A的维数,并显⽰运⾏结果。

2、(10分)写代码实现以下要求:构造菜单项‘Plot’,菜单项Plot有两个⼦菜单项Plot sin(选择此项后执⾏画出曲线,线型为虚线,线条颜⾊为红⾊)和Plot cos(选择此项后执⾏画出曲线 ,线型为实线,线条宽度为2)。

3、(20分)已知,实现下列操作:(1)在同⼀个图形窗⼝,同⼀坐标系下⽤不同的颜⾊和线型绘制三条曲线,并添加图例来区分三条曲线(5分)。

(2)⽤subplot命令,以⼦图的⽅式绘制三条曲线,图形排列⽅式为三⾏⼀列(5分)。

(3) 分别⽤直⽅图(bar)、棒状图(stem)和填充图(fill)绘制三条曲线,以⼦图⽅式绘制,排列⽅式为3⾏3列,共9幅⼦图(10分)。

4、(10分)⽤surf命令绘制曲⾯图形,⽤shading interp命令进⾏插值着⾊处理并添加垂直颜⾊棒。

5、(15分)⾃2011年9⽉1⽇起,我国实⾏新的个⼈所得税征收办法,起征点为3500元,请⽤If-else if-else-end结构实现⼈⼯输⼊⽉收⼊后能计算出个⼈所得税的缴纳额并显⽰⽉收⼊10000元时应缴纳的税款。

级数应纳税所得额x(元)税率备注1x<=15003%x指⽉收⼊扣除起征点3500元之后的余额;215008000045%同上6. (10分)⽤while-end循环结构计算级数和的值,输⼊n值,能计算出f的值,并显⽰结果。

MATLAB大作业

MATLAB大作业

MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。

(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。

打印稿不要求MATLAB程序,但电子稿要包含MATLAB 程序。

(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。

不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。

(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。

(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。

第一类:绘制图形。

(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。

斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。

问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。

其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。

接下来对其余三个小三角形重复上述操作,如图所示。

问题三:其他分形曲线或图形。

分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。

这方面的资料很多(如/content/16/0103/14/5315_525141100.shtml),请分析构图原理并用MATLAB实现。

matlab大作业实验报告

matlab大作业实验报告

matlab大作业学号姓名:年级:专业:1、产生一个10 10的随机矩阵A,要求A中元素均为整数,范围[1,50]。

1)求出A中所有元素之和S,平均值M。

2)找到所有小于平均值,且能被3整除的元素。

3)绘制出A的二维纵向柱状图,横坐标为[8 5 9 1 2 3 4 7 10 13],条形宽度为0.7的“stacked”样式。

代码如下:clc,clear all,close allA=round(rand(10,10)*50);disp(A)S=sum(sum(A));P=mean(mean(A));disp(S)disp(P)disp('所有小于平均数且能被三整除的元素')XPS=H((mod(H,3)==0)&(H<P));disp(XPS')subplot(1,1,1),bar(A,0.7,'stacked'),title('ygh');set(gca,'XTickLabel',{'8','5','9','1','2','3','4','7','10','13'})2、产生一个随机四位密码。

用户用“input”进行输入对比。

猜错提示“WRONG”,正确提示“RIGHT”同时退出程序,最多五次机会。

代码如下:clc,clear all,close alldisp('请输入密码')A=round(8999*rand(1,1))+1000;m=1;while m<=5N=input('请输入一个四位数:');if A==N;disp('RIGHT');breakelsedisp('WRONG');endm=m+1;enddisp('密码是:')disp(A)disp('输入结束')3、按照脚本文件的编程风格,用for和while循环嵌套输出如下的乘法口诀表。

MATLAB大作业

MATLAB大作业

MATLAB大作业一、作业说明MATLAB,即matrix laboratory,作为强大的数学处理软件,在化学化工领域中也有着极为广泛的应用。

而作为化工专业的学生,我认为本课学习MATLAB最直接和有效的意义在于,学生能够利用MATLAB处理实验数据和图形。

而对于MATLAB本身数学逻辑与语言的理解和掌握相信在之前所上交的“高斯消元法”和“二分法改进”两次小作业中得到体现。

因此,本次大作业我选择利用MATLAB处理化工原理实验中已经做过的离心泵实验来进行数据处理和图形制作。

其中实验原始数据皆由本人进行化工原理实验时所记录,水的密度和粘度表由文献查得。

二、编程思路整个M文件的目标是,利用现有的实验做得数据,进行实验数据的处理以及图形绘制,主要分为三个步骤完成:第一部分利用插值和拟合求实验温度下水的密度和粘度值;第二部分利用公式和矩阵变换计算离心泵的扬程He和轴功率Pzhou;第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)。

具体思路已在主程序文件中进行注释。

三、MATLAB主程序clearclose allformat compact,format shortecho off% 处理化工原理实验数据及图形制作% 第一部分求水的密度和粘度%已知条件:(1)实验温度为23.1℃% (2)网上查得15℃-30℃下水的密度和粘度表,记录为excel表% (3)此部分数据存放在原始数据表的sheet1和sheet2中%%主要方法:(1)MATLAB数据读入% (2)矩阵初等变换% (3)函数拟合% (4)函数插值%[num1]=xlsread('原始数据表');%读取excel表格中sheet1的数据x0=[num1(:,1)];%x0x表示温度值,sheet1的第1列y0=[num1(:,2)];%y0表示密度值,sheet1的第2列x1=x0';%进行转置,将列向量转换为相应的行向量y=y0';%进行转置,将列向量转换为相应的行向量%下面开始拟合密度随温度的变化函数n = length(y);ss = '';for k = 1:n;yy = num2str(y(k));ss = strcat(ss,['+''(' yy ')''*''x''^' num2str(n+1-k)]);%将数值转换为字符串格式,在MATLAB内将密度与温度的关系拟合为n次多项式endpause,ss%输出密度随温度变化函数式%%进行图像表示%x轴为温度,y轴为密度,表示在figure窗口的上半部分pause,subplot(2,1,1),line(x1,y,'linewidth',2),title('T-density'),xlabel('温度T/℃'),ylabel('密度/(kg?m^-3)')axis([15,30,995,1000])pause, x2=23.1,y1=interp1(x1,y,x2,'spline');%读取excel表格中sheet2的数据,接下来步骤与密度处理方法相同[num2]=xlsread('原始数据表',2);t0=[num2(:,1)];z0=[num2(:,2)];t1=t0';z=z0';n = length(z);rr= '';for k = 1:n;zz = num2str(z(k));rr = strcat(rr,['+''(' zz ')''*''t''^' num2str(n+1-k)]);endpause,rr%x轴为温度,y轴为粘度,表示在figure窗口的下半部分pause,subplot(2,1,2),line(t1,z,'linewidth',2),title('T-viscosity'), xlabel('温度T/℃'),ylabel('粘度/(Pa?s)')axis([15,30,0.0008 0.0012])pause,t2=23.1,z1=interp1(t1,z,t2,'spline');y1,z1%显示实验温度下流体的密度与粘度值,y1为密度,z1为粘度pause,close all%关闭图像窗口pause,clc% 第二部分计算离心泵的扬程He和轴功率Pzhou%%已知条件:(1)所需数据存放在原始数据表的sheet3中% (2)从左至右分别为“入口压强、出口压强、入口速度、出口速度、流量、电机功率”% (3)计算公式:He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);% Pzhou=P.*0.9;%%主要方法:(1)MATLAB数据读入% (2)矩阵初等运算与变换% (3)利用MATLAB进行实验数据处理%读取excel表格中sheet3的数据%“pin、pout、uin、uout、qv、P、He、Pzhou”分别表示为%“入口压强、出口压强、入口速度、出口速度、流量、电机功率、扬程和轴功率”[num3]=xlsread('原始数据表',3);pout0=[num3(:,2)];pin0=[num3(:,1)];uout0=[num3(:,4)];uin0=[num3(:,3)];qv0=[num3(:,5)];pout=pout0';pin=pin0';uout=uout0';uin=uin0';qv=qv0';He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);P0=[num3(:,6)];P=P0';Pzhou=P.*0.9;pause,clc%输出计算结果pause,HePzhouclose allpause,clcpause,%第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)%%pause,s1=He;s2=Pzhou;x5=qv;yWidth = 60;%设置两个y轴的间隔(像素)axesPosition = [110 40 200 200];%设置图像生成位置x5Limit = [min(x5) max(x5)];%设定自变量范围x5Offset=-yWidth*diff(x5Limit)/axesPosition(3);%建立图像,设置双变量与双坐标轴h1 = axes('Units','pixels','Position',axesPosition,...'Color','w','XColor','k','YColor','r',...'XLim',x5Limit,'YLim',[10 22],'NextPlot','add');h2 = axes('Units','pixels','Position',axesPosition+yWidth.*[-1 0 1 0],...'Color','none','XColor','k','YColor','m',...'XLim',x5Limit+[x5Offset 0],'YLim',[0.3 0.7],...'XTick',[],'XTickLabel',[],'NextPlot','add');xlabel(h1,'qv');ylabel(h2,'Pzhou');%给坐标轴命名pause,plot(h2,x5,s2,'*m');pause,plot(h1,x5,s1,'^r');四、工作日志density_viscosity(密度_粘度)clearclose allformat compact,format shortecho offss =+(999.126)*x^31+(999.05)*x^30+(998.97)*x^29+(998.888)*x^28+(998.802)* x^27+(998.714)*x^26+(998.623)*x^25+(998.53)*x^24+(998.433)*x^23+(998. 334)*x^22+(998.232)*x^21+(998.128)*x^20+(998.021)*x^19+(997.911)*x^18 +(997.799)*x^17+(997.685)*x^16+(997.567)*x^15+(997.448)*x^14+(997.327 )*x^13+(997.201)*x^12+(997.074)*x^11+(996.944)*x^10+(996.813)*x^9+(99 6.679)*x^8+(996.542)*x^7+(996.403)*x^6+(996.262)*x^5+(996.119)*x^4+(9 95.974)*x^3+(995.826)*x^2+(995.676)*x^1x2 =23.1000rr =+(0.0011404)*t^16+(0.0011111)*t^15+(0.0010828)*t^14+(0.0010559)*t^13+ (0.0010299)*t^12+(0.001005)*t^11+(0.000981)*t^10+(0.0009579)*t^9+(0.0009358)*t^8+(0.0009142)*t^7+(0.0008937)*t^6+(0.0008737)*t^5+(0.000854 5)*t^4+(0.000836)*t^3+(0.000818)*t^2+(0.0008007)*t^1t2 =23.1000y1 =997.5432z1 =9.3361e-04He =Columns 1 through 1021.7000 20.9069 19.9348 19.1688 18.7950 18.3412 17.9656 17.1311 16.2075 15.6581Columns 11 through 1415.1075 14.2847 13.4611 12.6543Pzhou =Columns 1 through 100.3240 0.3600 0.4050 0.4500 0.4770 0.5040 0.5310 0.5670 0.5940 0.6120Columns 11 through 140.6300 0.6390 0.6570 0.6750diary off五、附录附录1. 温度在15-30℃时,水的密度表附录2. 温度在15-30℃时,水的粘度表附录3. 离心泵实验原始数据记录表附录4. 生成图像。

matlab课程设计大作业

matlab课程设计大作业

matlab课程设计大作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及MATLAB 在工程计算和数据分析中的应用。

通过本课程的学习,学生将能够熟练使用MATLAB进行简单数学计算、线性方程组求解、函数图像绘制等。

1.掌握MATLAB基本语法和编程结构。

2.了解MATLAB在工程计算和数据分析中的应用。

3.熟悉MATLAB的函数库和工具箱。

4.能够使用MATLAB进行简单数学计算。

5.能够使用MATLAB求解线性方程组。

6.能够使用MATLAB绘制函数图像。

7.能够利用MATLAB进行数据分析和处理。

情感态度价值观目标:1.培养学生对计算机辅助设计的兴趣和认识。

2.培养学生团队合作和自主学习的能力。

二、教学内容本课程的教学内容主要包括MATLAB基本语法、编程技巧以及MATLAB在工程计算和数据分析中的应用。

1.MATLAB基本语法:介绍MATLAB的工作环境、基本数据类型、运算符、编程结构等。

2.MATLAB编程技巧:讲解MATLAB的函数调用、脚本编写、函数文件编写等编程技巧。

3.MATLAB在工程计算中的应用:介绍MATLAB在数值计算、线性方程组求解、图像处理等方面的应用。

4.MATLAB在数据分析中的应用:讲解MATLAB在数据采集、数据分析、数据可视化等方面的应用。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。

1.讲授法:通过讲解MATLAB的基本语法、编程技巧以及应用案例,使学生掌握MATLAB的基本知识和技能。

2.案例分析法:通过分析实际工程案例,使学生了解MATLAB在工程计算和数据分析中的应用。

3.实验法:安排上机实验,使学生在实际操作中巩固所学知识,提高实际编程能力。

四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。

1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。

2.实验设备:为学生提供计算机实验室,配备有MATLAB软件的计算机。

线性系统理论大作业2

线性系统理论大作业2

摘要:本文主要讨论线性系统解集的几何结构与系统能观性、能控性和稳定性之间的关系。

这一关系从两个方面来说明,第一部分讲述系统解集几何结构与特征值和特征向量之间的关系,通过Matlab 仿真例子说明这一关系;第二部分分别讲述特征值和特征向量与系统能观性、能控性和稳定性之间的关系,并讲述了能观性,能控性以及稳定性的定义和判据,通过以约旦标准型为例来讲述相同特征值和不同特征值情况下的能观性,能控性,最后在Simulink中仿真一定特征值条件下系统的稳定性。

从以上两个方面来说明解集的几何结构与系统能观性、能控性和稳定性之间的关系。

>1. 零输入响应解集与特征值和特征向量之间的关系线性定常系统状态方程x Ax Buy Cx Du=+⎧⎨=+⎩,0(0),0x x t =≥的解为()00()(),0t At A t x t e x e Bu d t τττ-=+≥⎰。

为了研究线性定常系统状态方程解集的几何结构与线性系统的特征之间的关系,将系统简化,只考虑系统为零输入的状态响应,即x Axy Cx=⎧⎨=⎩,0(0),0x x t =≥的解为0()At x t e x =。

所有的零输入状态响应组成了一个线性空间,且该线性空间中有n 个独立的元素,它们的线性组合决定了所有零输入响应。

所以可以通过选择一组线性独立的初始条件得到一组零输入响应集中的基底。

下面先考虑最简单的零输入状态响应集的基底。

若12,,...n λλλ是A 的两两互异的特征值,且12,,...n v v v 是相应的单位特征向量,即,1,2,...i i i Av v i n λ==。

选0,1,2,...i x v i n ==,则0()(...)......i At At i2233i 2233i i i i 2233i i i i i i i t i x t e x e v 11I +At +A t +A t +v 2!3!11v Av t A v t A v t 2!3!11v v t v t v t 2!3!e v λλλλ====++++=++++=-所以取01122...n n x v v v ααα=+++时,相应的零输入响应为121122()...n t t t n nx t e v e v e v λλλααα=+++由此可以看出线性定常系统的零输入响应解集的几何结构可以由系统矩阵A 的特征值和特征向量来表征。

matlab综合大作业(附详细答案)

matlab综合大作业(附详细答案)

m a t l a b综合大作业(附详细答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =0.1349 3.3818 0.6266 1.2279 1.5888-2.3312 3.3783 2.4516 3.1335 -1.67241.2507 0.9247 -0.1766 1.11862.42861.5754 1.6546 5.3664 0.8087 4.2471-1.2929 1.3493 0.7272 -0.6647 -0.38362)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =0.1349-2.33121.25071.5754-1.29293.38183.37830.92471.65461.34930.62662.4516-0.17665.36640.72721.22793.13351.11860.8087-0.66471.5888-1.67242.42864.2471-0.38363)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =3.3783 3.13350.9247 1.11864)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =0.13491.25071.57543.38183.37830.92471.65461.34930.62662.45165.36640.72721.22793.13351.11860.80871.58882.42864.24715)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =0.1349 -2.3312 1.2507 1.5754 -1.29293.3818 3.3783 0.9247 1.6546 1.34930.6266 2.4516 -0.1766 5.3664 0.72721.2279 3.1335 1.1186 0.8087 -0.66471.5888 -1.67242.4286 4.2471 -0.38366)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =-0.3836 -0.6647 0.7272 1.3493 -1.29294.2471 0.80875.3664 1.6546 1.57542.4286 1.1186 -0.1766 0.9247 1.2507-1.6724 3.1335 2.4516 3.3783 -2.33121.5888 1.2279 0.6266 3.3818 0.13497)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =0.1349 0.6266 1.5888-2.3312 2.4516 -1.67241.2507 -0.17662.42861.5754 5.3664 4.2471-1.2929 0.7272 -0.38368)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =-0.4777 0.1090 + 0.3829i 0.1090 - 0.3829i -0.7900 -0.2579 -0.5651 -0.5944 -0.5944 -0.3439 -0.1272-0.2862 0.2779 + 0.0196i 0.2779 - 0.0196i -0.0612 -0.5682 -0.6087 0.5042 - 0.2283i 0.5042 + 0.2283i 0.0343 0.6786 0.0080 -0.1028 + 0.3059i -0.1028 - 0.3059i 0.5026 0.3660 特征值Ad =6.0481 0 0 0 00 -0.2877 + 3.4850i 0 0 00 0 -0.2877 - 3.4850i 0 00 0 0 0.5915 00 0 0 0 -2.30249)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =-0.6632 10.6888 8.9951 5.6240 6.208710)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =-0.1326 2.1378 1.7990 1.1248 1.24172.符号计算(10分,每小题5分):1)求方程组20,0++=++=关于,y z的解;uy vz w y z w实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:0.01*pi:2*pi; for a=0.5:0.5:4.5; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0:0.1:4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8:0.1:8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。

线性系统设计作业

线性系统设计作业

线性系统理论设计作业专业:学号:姓名:指导老师:1、①将惯性环节等效变换并带入数据得到如下所示:系统不加扰动和任何反馈及校正装置时,在t=0s时,加上阶跃输入u=1500,得到波形如下:可以看出输出不能跟随输入变化,而且稳态误差较大,不能符合系统控制要求。

令n x =1;d U x =2 ;dI x =3得状态空间表达式如下:Y = []x 001②判断系统稳定性,在MATLAB 中输入以下程序: >> A=[0 0 18.086;0 -588.235 0;-8.1012 59.524 -25]; P=poly(A); roots(P) 运行结果如下:u x x x x x x ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+---=∙∙∙0412.23529032125524.591012.80235.5880086.1800321-588.2350-15.6196-9.3804可以看到特征方程的所有特征值均为负实数,所以系统是稳定的。

③判断系统的能控性与能观性,在MATLAB中输入以下程序:A=[0 0 18.086;0 -588.235 0;-8.1012 59.524 -25];B=[0;23529.412;0];C=[1 0 0];M=ctrb(A,B)RM=rank(M)N=obsv(A,C)RN=rank(N)运行结果如下:M =1.0e+009 *0 0 0.02530.0000 -0.0138 8.14170 0.0014 -0.8589RM =31.0e+003 *0.0010 0 0 0 0 0.0181 -0.1465 1.0766 -0.4522 RN = 3 >>从计算结果可以看出,系统能控性矩阵和能观测性矩阵的秩都是3,为满秩,因此该系统是可控的,也是能观测的。

④反馈控制系统的设计因为被控系统能控又控制,维数不少于误差的维数且rankC=1=m ,故满足式0A B rank n m C ⎡⎤=+⎢⎥⎣⎦,即增广系统状态完全能控,所以可以采用线性状态反馈控制律 12u K x K w =-+来改善系统的动态和稳态的性能,在式中,11[k K = 2k ]3k 。

线性系统理论大作业

线性系统理论大作业

线性系统理论大作业(总11页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除目录题目一 ............................................. 错误!未指定书签。

(一)状态反馈加积分器校正的输出反馈系统设计 ....... 错误!未指定书签。

(1)建立被控对象的状态空间模型,并判断系统性质 ...... 错误!未指定书签。

(2)状态反馈增益矩阵和积分增益常数的设计 ............ 错误!未指定书签。

(3)全维观测器设计 .................................. 错误!未指定书签。

(4)如何在闭环调速系统中增加限流环节 ................ 错误!未指定书签。

(二)二次型最优全状态反馈控制和按负载扰动前馈补偿的复合控制系统设计错误!未指定书签。

(1)线性二次型最优全状态反馈设计 .................... 错误!未指定书签。

(2)降维观测器设计 .................................. 错误!未指定书签。

题目二 ............................................. 错误!未指定书签。

(1)判断系统是否存在最优控制律 ...................... 错误!未指定书签。

(2)非零给定点的最优控制设计和仿真分析 .............................. 错误!未指定书签。

(3)权矩阵的各权值对动态性能影响分析 .................................. 错误!未指定书签。

题目一(一)状态反馈加积分器校正的输出反馈系统设计 (1)建立被控对象的状态空间模型,并判断系统性质 1)画出与题目对应的模拟结构图,如图1所示:图1 原始系统结构图取状态变量为1x =n ,2x =d I ,3x =d u ,控制输入u=c u将已知参数代人并设输出y=n=1x ,得被控对象的状态空间表达式为其中,237500039.768011=-3.696-17.85727.05600-588.235100T ela lala s C GD CA RT T RT T ⎡⎤⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥=--⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥-⎢⎥⎣⎦,000=023529.41s s B K T ⎡⎤⎢⎥⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦,2375-30.4880=000GD E ⎡⎤-⎢⎥⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎣⎦,[]100C = 2)检查被控系统的结构性质判断系统能控性、能观性、稳定性 程序如下:A=[0 39.768 0;-3.696 -17.857 27.056;0 0 -588.235]; B=[0;0;23529.41];C=[1 0 0]; Qc=ctrb(A,B); Qo=obsv(A,C); L=length(A); if rank(Qc)==Ldisp('系统是状态完全能控'); elsedisp('系统是状态不完全能控'); endif rank(Qo)==Ldisp('系统是状态完全能观'); elsedisp('系统是状态不完全能观'); enddisp(eig(A))%利用A 的特征值判断系统稳定性 运行结果:系统是状态完全能控 系统是状态完全能观 1.0e+02 *-0.0893 + 0.0820i -0.0893 - 0.0820i -5.8823 + 0.0000i由于矩阵A 全部特征值均具有负实部,因此系统渐近稳定。

线性系统理论MATLAB大作业

线性系统理论MATLAB大作业

兰州理工大学2015级线性系统理论大作业线性系统理论Matlab 实验报告1、在造纸流程中,投料箱应该把纸浆流变成2cm 的射流,并均匀喷洒在网状传送带上。

为此,要精确控制喷射速度和传送速度之间的比例关系。

投料箱内的压力是需要控制的主要变量,它决定了纸浆的喷射速度。

投料箱内的总压力是纸浆液压和另外灌注的气压之和。

由压力控制的投料箱是个耦合系统,因此,我们很难用手工方法保证纸张的质量。

在特定的工作点上,将投料箱线性化,可以得到下面的状态空间模型:u x x ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-+-=0001.0105.0002.002.08.0. []21,x x y =其中,系统的状态变量x1=液面高度,x2=压力,系统的控制变量u1=纸浆流量u2=气压阀门的开启量。

在上述条件下,试设计合适的状态变量反馈控制器,使系统具有实特征根,且有一个根大于5解:本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数时系统不稳定,这样的设计是无意义的,故而不妨采用状态反馈后的两个期望特征根为-7,-6,这样满足题目中所需的要求。

要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控。

Matlab 判断该系统可控性和求取状态反馈矩阵K 的程序,如图1所示,同时求得加入状态反馈后的特征根并与原系统的特征根进行了对比。

图1系统能控性、状态反馈矩阵和特征根的分析程序上述程序的运行结果如图2所示:图2系统能控性、反馈矩阵和特征根的运行结果图2中为图1matlab 程序的运行结果,经过判断得知系统是可控的,同时极点的配置个数与系统状态相符,求得了状态反馈矩阵K 的值,并把原系统的特征根(rootsold )和加入状态反馈后的特征根(rootsnew )进行对比。

同时通过特征值可以看出该系统是稳定的。

matlab期末大作业题目及答案

matlab期末大作业题目及答案

matlab 期末大作业(30分,每题6分)1. 积分运算(第四数值和五章符号)(1)定积分运算:分别采用数值法(quad ,dblquad )和符号运算(syms, int )一重定积分π⎰1. 数值法(quad )a) 运行代码:b) 运行结果:2. 符号运算(syms )a) 运行代码:b) 运行结果:二重定积分112200()x y dxdy+⎰⎰1.数值法(dblquad):a)运行代码:b)运行结果:2.符号运算(syms):a)运行代码:b)运行结果:(2) 不定积分运算sin dxdy ⎰⎰((x/a)+b/y) i.运行代码:ii.运行结果:2. 用符号法和数值法求解线性代数方程 (第五章和第二章)⎩⎨⎧=+=+12*22x *213*12x *a11y a a y a (1) 用syms 定义待解符号变量x,y 和符号参数a11,a12,a21,a22,用符号solve 求x,y 通解 1. 运行代码:2. 运行结果:(2) 用subs 带入a11=2,a12=4,a21=6,a22=8,求x 和y 特解,用vpa 输出有效数值4位的结果 1. 运行代码:2. 运行结果:(3) 采用左除(\)和逆乘法求解符号参数赋值后的方程 ⎩⎨⎧=+=+12*8x *63*4x *2y y1. 运行代码:2. 运行结果:3.数值法和符号法求解非线性方程组(第四数值和五章符号 )(1)采用数值法(fsolve )求解初始估计值为x0 = [-5; -5]的数值解1. 运行代码:2. 运行结果:21x 21x 21e x 2x e x x 2--=+-=-(2)符号法(solve )的符号结果用eval 或double 转化为数值结果.1. 运行代码:2. 运行结果:4. 解二阶微分方程 (第四数值和五章符号 )⎪⎩⎪⎨⎧===++6)0(',0)0(09322y y y dx dy dx y d(1)数值ode 求特解,用plot (x,y) 画t 在[0,10]范围内(x ,y )数值曲线 1. 运行代码:2. 运行结果:(2)符号运算dsolve求通解,用ezplot画t在[0,10]范围内(x,y)符号曲线1. 运行代码:2. 运行结果:5. 三维绘图(第六章)已知:x和y都在[-8,8]范围内,采用subplot(3,1,x)绘制三个子图,它们分别是用meshgrid和mesh绘制网格图、用c=contour 绘制等位线和用surf 绘制曲面图1.运行代码:2.运行结果:。

MATLAB大作业

MATLAB大作业

MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。

(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。

打印稿不要求MATLAB程序,但电子稿要包含MATLAB 程序。

(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。

不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。

(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。

(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。

第一类:绘制图形。

(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。

斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。

问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。

其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。

接下来对其余三个小三角形重复上述操作,如图所示。

问题三:其他分形曲线或图形。

分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。

这方面的资料很多(如/content/16/0103/14/5315_525141100.shtml),请分析构图原理并用MATLAB实现。

线性系统大作业范文

线性系统大作业范文

线性系统大作业范文线性系统是控制理论中的重要概念,它涉及到系统的线性性质以及如何对系统进行控制和优化。

在本次大作业中,我研究了一个线性系统的特性,并尝试设计一个控制策略,以优化系统的性能。

以下是我对此的详细分析和实施方案。

我选择研究一个被广泛应用于调节系统中的经典线性系统,即比例-积分-微分控制器(PID控制器)。

这种控制器通过测量误差信号,并根据比例、积分和微分增益来计算控制信号,使系统的输出尽量接近期望值。

PID控制器的优点是简单、稳定且易于调节。

我首先建立了一个模型以更深入地了解系统的特性。

我选择了一个简单的一阶系统作为示例。

该系统由一个控制信号u和输出信号y之间的线性关系组成,可以使用方程y=ku来表示,其中k是系统的增益。

然后,我对这个系统进行了频率响应分析。

通过使用傅里叶变换和频谱分析,我确定了系统的幅度和相位响应。

通过分析振荡频率、幅度衰减和相位延迟等指标,我能够了解系统的稳定性和动态响应。

接下来,我设计了一个PID控制器来优化系统的性能。

PID控制器的核心是比例、积分和微分增益。

比例增益用于调整控制信号与误差信号的比例关系,积分增益用于处理系统的静差,而微分增益用于校正系统的动态响应。

通过适当调节这些参数,可以优化系统的响应速度、稳定性和误差补偿能力。

为了确定PID控制器的最佳增益,我使用了试探法。

我从一个合理的起始点开始,逐渐调整增益,观察系统的响应,并根据响应结果进行微调。

通过不断迭代,最终我找到了一组使系统达到最佳性能的增益。

为了验证PID控制器的效果,我进行了仿真实验。

我利用MATLAB软件搭建了一个模拟环境,输入初始参数和控制信号,然后模拟系统的输出。

通过比较使用PID控制器前后的系统性能指标,如误差补偿能力、响应速度和稳定性,我确认了PID控制器的优越性。

最后,我对PID控制器的适用性进行了讨论。

尽管PID控制器广泛应用于各种应用领域,但它并不适用于所有系统。

对于具有高度非线性特性、时变性或多变量耦合的系统,PID控制器的效果可能不理想。

线性系统大作业1

线性系统大作业1
xdot=zeros(2,1);
xdot(1)=-R/L*x(1)-1/L*x(2)+1/L*f(t);
xdot(2)=1/C*x(1);
function in=f(t)
in=(t>0)*2;
end
end
仿真求解状态方程代码如下:
L=1;
C=0.1;
R=1.5;
[t,x]=ode45('funcforex14',[-1,10],[0;1],[],R,L,C);
的根。方阵A有n个特征值;实际物理系统中,A为实数方阵,故特征值或为实数,或为成对共轭复数;如A为实数对称方阵,则其特征值都是实数。
4.2系统的不变量与特征值的不变性
同一系统,经非奇异变換后,得
公式(4.1)
其特征方程为
公式(4.2)
公式(4.1)与公式(4.2)形式虽然不同,但实际是相等的,即系统的非奇异变换,其特征值是不变的。可以证明如下:
xlabel('t/ms');ylabel('电压/V');title('系统响应');
[t,x]=ode45('funcforex13',[-1,10],[0;1],[],R,L,C);
figure(1);plot(t,x(:,1),'k');hold on;xlabel('time sec');
figure(1);plot(t,x(:,1),'r');hold on;xlabel('time sec');grid;
xlabel('t/ms');ylabel('电压/V');title('齐次性');

线性系统理论大作业

线性系统理论大作业

《线性系统理论》大作业报告引言:研究线性定常连续系统状态方程的解时,求解状态方程是进行动态系统分析与综合的基础,是进行定量分析的主要方法。

而线性定常连续系统状态方程的解由两个部分相加组成。

第一个部分是由初始状态所引起的自由运动,即状态的零输入响;第二个部分是由输入所引起的系统强迫运动,其值为输入函数与矩阵指数函数的卷积,即状态的零状态响应。

由于这两部分中都包含有状态转移矩阵,因此状态转移矩阵的计算是线性定常连续系统状态方程求解的关键。

本文先总结了的计算方法,并运用matlab命令求解证明各方法的正确性及给出相应的零输入响应仿真结果。

然后推导了脉冲响应的公式,希望通过飞机模型的例子来研究其系统的脉冲响应。

最后推广研究了任意输入的零状态响应。

第一部分的计算方法及零输入响应的仿真证明一.的计算方法1.根据的定义直接计算定义式是一个无穷级数,故在计算中必须考虑级数的收敛条件和计算收敛速度问题。

类似于标量指数函数,对所有有限的常数矩阵A和有限的时间t来说,矩阵指数函数这个无穷级数都是收敛的。

显然用此方法计算一般不能写成封闭的解析形式,只能得到数值计算的结果。

2.变换A为约旦标准型因为任何都可经线性变换成为对角矩阵或约旦矩阵,因此下面将利用对角矩阵和约旦矩阵的矩阵指数函数计算的简便性质,通过线性变换将一般形式的系统矩阵变换成对角矩阵或约旦矩阵计算其矩阵指数函数。

对于矩阵A,若经过非奇异变换(相似变换)矩阵P作变换后,有则3. 利用拉氏反变换求已知齐次方程两边取拉氏变换即对上式两边取拉氏反变换得齐次微分方程的解:而由定义法求得的齐次微分方程的解为比较两式得4. 应用凯莱—哈密顿定理求(1)由凯莱—哈密顿定理,方阵A 满足其自身的特征方程,即()1110 0n n n fA A a A a A a I--=++++=故121210...n n n n n A a A a A a A a I ----=-----它是的线性组合。

线性系统理论matlab应用

线性系统理论matlab应用
从计算结果可以看出,系统能控性矩阵和能观测性矩阵的秩都 是3,为满秩,因此该系统是能控的,也是能观测的。 注:当系统的模型用sys=ss(A,B,C,D)输入以后,也就是当系统模 型用状态空间的形式表示时,我们也可以用Qc=ctrb(sys), Qo=obsv(sys)的形式求出该系统的能控性矩阵和能观测性矩阵。
例2-3 某线性连续系统的状态方程为
x Ax Bu
y Cx Du
其中
0 1 0
A
0
0
1
6 11 6
1 0 B 2 1
0 2
1 1 0 C 2 1 1
D
0 0
0 0
采用零阶保持器将其离散化,设采样周期为0.1秒。求离散化的状态 方程模型。
解 输入以下语句,其中D=zeros(2)表示,将D赋值为2×2维的全零 矩阵。
函数的作用是合并同类项,而ilaplace( )函数的作用是求取拉 普拉斯逆变换,函数det( )的作用是求方阵的行列式。
第15页/共50页
程序执行结果
这表示
(t)
2 2
et et
e2t 2 e2t
et e2t
e
t
2
e2t
2 et e2t
x(t
)
2
et
2
e2t
第16页/共50页
2.2 线性非齐次状态方程的解
第19页/共50页
语句执行的结果为
计算结果表示系统离散化后的 状态方程为
0.9991 0.0984 0.0041
0.1099 0.0047
x(k 1) 0.0246
0.9541
0.0738
x(k)
0.1959
0.0902u(k)

matlab的大作业

matlab的大作业

华东交通大学matlab 大作业(matlab在信号与系统中的应用)班级:姓名:学号:前言此次的大作业内容是matlab在信号与系统中的应用。

在信号与系统中有各种各样的信号还有系统要分析,而matlab特别适用与信号通过系统的分析。

而且本人对于matlab在信号与系统中的运用蛮感兴趣的,况且当初学习时对于其在信号与系统中的运用不是很了解,故借此机会,也顺便再系统地学习和掌握matlab在信号与系统的运用。

这次设计的程序主要是围绕用matlab求解信号与系统中一些信号描述、零输入响应的求解、冲激响应的求解、卷积的计算、零状态响应的求解、傅里叶的分析(包括方波分解为正弦波之和非周期信号的频谱分析,以及用傅里叶变换计算滤波器的响应和输出)。

接下来就描述一下设计的程序。

一、程序描述Chengxu1是对于信号与系统中的一些信号的描述。

包括单位冲激函数、单位阶跃函数、复数指数信号。

程序中,t0,tf,dt,分别指的是t的起点、终点、间隔。

t1指的是在冲激函数在t1处冲激,在t1处是阶跃函数的转折点。

用matlab来描述这些信号,是根据这些信号的特点来一一描述的。

而且此次的画图用的是stairs而不是plot。

是因为要描述的是连续信号中的不连续点,故用stairs,若要波形光滑些,则用plot效果更好一些。

就如冲激函数和阶跃函数的波形对比如下(此处所取的是t0=0,tf=5,dt=0.05,t1=1):用plot所画用stairs所画此外,复数指数信号可以分解为余弦和正弦信号,他们分别是复数信号的是实部和虚部,即相位差为90度。

图如下(此处alpha=-0.5,w=10):Chengxu2是求解LTI 系统的零输入,题型为:描述n 阶线性时不变连续系统的微分方程为已知y 及其各阶导数的初始值为 求系统的零输入响应。

可以根据具体的函数求解其零输入。

Chengxu3是求解阶LTI 系统的冲激响应,是求解系统函数为: 的冲激响应。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
图 1 系统能控性、状态反馈矩阵和特征根的分析程序 上述程序的运行结果如图 2 所示:
图 2 系统能控性、反馈矩阵和特征根的运行结果
2
图 2 中为图 1matlab 程序的运行结果,经过判断得知系统是可控的,同时极点 的配置个数与系统状态相符,求得了状态反馈矩阵 K 的值,并把原系统的特征根 (rootsold)和加入状态反馈后的特征根(rootsnew)进行对比。同时通过特征值 可以看出该系统是稳定的。 2、描述恒速制导导弹的运动方程为:
8
解:通过给定的垂直起降的飞机的线性化模型分析系统的属性 (a)计算系统矩阵 A 的特征值,u1、u2 分别作用的能控性判别程序 (b)利用 poly 函数确定 A 的特征多项式,计算特征值,并与(a)中的结果进行 对比 (c)当只有 u1 作用时,系统能控性;只有 u2 作用时,系统能控性。 针对以上三点问题,通过图 10 所示的 matlab 程序来判断所有问题,最终的结果在 图 11 中显示。 求取矩阵 A 的特征值和 u1、u2 分别作用时系统可控性的运行结果:
兰州理工大学 2015 级线性系统理论大作业 线性系统理论 Matlab 实验报告
1、在造纸流程中,投料箱应该把纸浆流变成 2cm 的射流,并均匀喷洒在网状传送 带上。为此,要精确控制喷射速度和传送速度之间的比例关系。投料箱内的压力是 需要控制的主要变量,它决定了纸浆的喷射速度。投料箱内的总压力是纸浆液压和 另外灌注的气压之和。由压力控制的投料箱是个耦合系统,因此,我们很难用手工 方法保证纸张的质量。 在特定的工作点上,将投料箱线性化,可以得到下面的状态空间模型:
12
图 13 系统特征根和 u1、u2、u3 分别作用的能控性判别结果
图 14 系统极值点分布图 通过图 13 可以看出系统的极值点(roots1)中有大于零的点,直观的从图 14 的系统极值点分布图中看出在虚轴的右半平面上有一个极值点,所以系统是不稳定 的;从图 13 中还可以发现系统在只有 u1 或者 u2 或者 u3 作用时,均不可控。
其中,状态变量 x 是卫星在三个方向上的位置和速度漂移,输入 ui (i 1, 2,3) 分别是 轨控发动机在 、 和 方向上产生的加速度。 (a) 卫星的定点位置是否稳定?(b) 如果只有 u1 发挥作用,卫星是否能控? (c) 如果只有 u2 发挥作用,卫星是否能控?(d) 如果只有 u3 发挥作用,卫星是否能 控? (e) 如果能够测得 方向的位置漂移, 请确定由 u2 到该位置漂移量的传递函数。 (提 示:可以令观测输出为 y 0 1 0 0 0 0 x ) (f) 用 tf2ss 函数,计算(e)中得到的传递函数的状态变量模型,并验证该轨迹子 系统是能控系统; (g) 采用状态反馈 u2 Kx ,设计合适的反馈控制器,使(f)中得到的系统的闭环 极点为 s1,2 1 j 和 s3,4 10 。 解:在给定的卫星绕定点位置运动时的标准化和线性化的漂移运动方程,通过 matlab 分析一下几点问题。
13
(2)确定由 u2 到漂移量的传递函数并确定传递函数所对应的状态变量模型,然后 验证其为能控系统。执行程序如图 15 所示,该程序用于求解传递函数和状态模型, 并验证该模型的能控性。运行的结果如图 16 所示。
图 15 传递函数、状态变量模型和能控性求解程序 以上程序中求得了新系统的传递函数以及状态空间模型,并通过求取系统的能 控性矩阵,根据秩判据判定系统的可控性,由 if 语句来选取,把最终结果显示在 命令窗口。 图 15 程序的运行结果如图 16 所示:
,
系统的状态变量为水平速度 x1 (节) 、垂直速度 x2 (节) 、倾斜率 x3 (度/秒)和倾 斜角 x4 (度) ;系统的控制输入为 u1 和 u2 ,其中 u1 用于控制垂直运动, u2 用于控制 水平运动。 (a) 计算系统矩阵 A 的特征值,并由此判断系统是否稳定; (b) 利用 poly 函数确定 A 的特征多项式,计算特征根,并与(a)中得到的特征根相 比较; (c) 当只有 u1 发挥作用时,系统能控吗?当只有 u2 发挥作用时,结果又如何?请比 较解释你的结论。
14
图 16 传递函数、状态空间描述和能控性的结果 图 16 中显示了由 u2 到 n 方向的位置漂移量的传递函数,以及通过 tf2ss 函数 得到该传递函数的状态变量模型,最后验证得到该模型是能控的。 (3)在给定状态空间描述的基础上采用状态反馈 u2=-Kx,使得(1)中得到的模型 的闭环极点为-1+j,-1-j,-10,-10.具体程序如图 17 所示,运行的结果如图 18, 图 19 所示。
1 0 0 0 - 0 .1 - 0 .5 0 0 . x 0 .5 0 0 0 0 10 0 0 1 0 0 0 .5 y 0 0 0 1 0x 0 0 0 1 0 x 0 u 0 0 0 0
运用 ctrb 函数计算系统的能控型矩阵,并验证系统是不可控的; 计算从 u 到 Y 的传递函数,并消去传递函数中的分子和分母公因式,由此可以得到 能控的状态空间模型。在消去了公因子之后,请用 tf2ss 函数确定新的状态变量模 型; 证明(b)中得到的状态变量模型是能控的;说明恒速制导导弹是否稳定? 讨论状态变量模型的能控性和复杂性的关系(假设用状态变量的数目来度量复杂 性) 。 解:该题是通过描述的恒速制导导弹的运动方程求解相应问题。 (a)运用 ctrb 函数计算系统的能控性矩阵,并判断该系统不可控,详细 matlab 程序和判断结果如图 3 和图 4 所示。 图 3 是判断该系统能控性的 matlab 程序,通过求得能控性矩阵 Qc,并通过秩 判据来判定该系统是否能控。
0 0 1 0 0 0 0 0 0 0 0 0 x 0 0 0 7.3809 0 2.1904 0 2 0 3.1904 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 x u 1 u 2 u 3 2 0 1 0 0 0 1 0 0 0 0 0 0 0 1
0.0188 0.4555 0.0366 0.0271 0.0482 1.0100 0.0024 4.0208 A 0.1002 0.3681 .0.7070 1.4200 0 0 1 0 0.4422 3.5446 B1 5.5200 0 0.1761 7.5922 B2 4.4900 0
9
图 11 特征值、特征多项式和 u1、u2 分别作用的能控性结果 其中 roots1 是通过 eig 函数求得的状态矩阵 A 的特征值,显然有两个特征值 具有正实部,故系统不稳定;Q1 是通过 poly 函数确定的 A 的特征多项式,roots2 是通过 roots 函数求得的 A 矩阵的特征多项式的根, 经过对比发现 roots1 和 roots2 的数值一样;只有 u1 或者 u2 作用是通过能控型矩阵 Qc,用秩判据得到系统都是可 控的。dimA 是通过 size 函数求得矩阵 A 的维数。对比的当 u1 与 u2 发挥作用时所 对应的能控型判别矩阵的秩都为 4,即其秩等于系统的阶数也就是矩阵 A 的维数, 从而说明在这两种情况下,系统均为能控。
图 7 求取极值点的源程序
6
图 8 是图 7 程序的运行结果:
图 8 系统的传递函数和极值点 从求得的结果中可以看出其特征值的根的实部都不是正数,从而就说明了该系 统在李雅普洛夫意义下是稳定的。
图 9 系统的单位阶跃响应
7
通过程序给系统一个单位阶跃信号,从上图可以看出系统不是严格收敛的,而 是发散的。 (e)状态变量模型的能控性和复杂性的关系(用状态变量的数目来度量复杂性) 。 讨论状态变量模型的能控性与复杂性的关系。很直观地讲,一个系统要能控, 必须要其能控型判别矩阵的秩等于系统的阶数也即就是状态变量的数目,但是反过 来,系统越复杂,状态变量的个数越多,能控型判别矩阵要求满足的秩也就越大, 也即意味着越难达到要求,从而其能控性也就越不容易满足。从而可以得出结论, 即越复杂的系统越不容易达到完全可控。 3、垂直起降的飞机的线性化模型为: =Ax+B1u1+B2u2 其中
11
图 12 系统稳定性和 u1、u2、u3 分别作用时的能控性 (1)关于卫星的定点位置的稳定性和分别只有 u1 或者 u2 或者 u3 作用时,卫星的 能控性通过图 12 的程序来判断,判断结果在图 13 中显示。 卫星定位系统的稳定性和 u1、u2、u3 分别作用时的能控性判别结果如图 13 所示
3
图 3 系统能控性的判别程序 判定的结果如图 4 所示:
图 4 系统的能控性矩阵和能控性判定结果 通过 matlab 分析求得了系统的能控性矩阵 Qc, 同时通过秩判据判定该系统不可控。 (b) 、 (c)计算 u 到 y 的传递函数,并通过 tf2ss 函数确定新的状态变量模型,同 时判断该模型是能控的。具体程序如图 5 所示,判断的结果如图 6 示。
4
图 5 确定新状态空间并判定能控性的程序
图 6 系统的传递函数、新的状态空间模型和能控性判定结果
5
分析得知 u 到 y 的传递函数可通过状态空间描述的矩阵求得,同时通过 tf2ss 函数确定了新的状态空间(A1,B1,C1,D1) ,运用函数 ss 求得新模型的状态方程, 再通过能控型矩阵判定系统的能控性。 显然得到系统是可控的,同时还要声明通过传递函数求得空间描述和通过状态 矩阵求得结果不同,从而验证了传递函数对系统的内部描述不完整。 (d)判断恒速制导导弹系统稳定性 以下通过求得矩阵的特征值即传递函数的极值点来判断该系统是否稳定。图 7 是求取极值点的程序,通过 roots 和 eig 函数来求取,目的进行必要的对比。图 8 是通过两种途径获得的系统的极值点。
相关文档
最新文档