线性系统理论Matlab实践仿真报告指南
线性系统理论Matlab实践仿真报告

线性系统理论Matlab实验报告1、本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数是系统不稳定,这样的设计是无意义的,故而不妨设采用状态反馈后的两个期望特征根为-7,-9,这样满足题目中所需的要求。
(1)要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控;判断能控程序设计如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];Qc=ctrb(A,B)Qc =0.0500 1.0000 -0.0400 -0.80000.0010 0 -0.0010 -0.0200Rc=rank(Qc)Rc =2Qc =0.0500 1.0000 -0.0400 -0.80000.0010 0 -0.0010 -0.0200得出结果能控型判别矩阵的秩为2,故而该系统是完全可控的,故可以对其进行状态反馈设计。
(2)求取状态反馈器中的K,设的期望特征根为-7,-9;其设计程序如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];P=[-7 -9];k=place(A,B,P)k =1.0e+003 *-0.0200 9.00000.0072 -0.4500程序中所求出的k即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。
2、(a)要求求该系统的能控型矩阵,并验证该系统是不能控的。
设计程序:>> A=[0 1 0 0 0;-0.1 -0.5 0 0 0;0.5 0 0 0 0;0 0 10 0 0;0.5 1 0 0 0];>> B=[0;1;0;0;0];>> C=[0 0 0 1 0];>> Qc=ctrb(A,B)Qc =0 1.0000 -0.5000 0.1500 -0.02501.0000 -0.5000 0.1500 -0.0250 -0.00250 0 0.5000 -0.2500 0.07500 0 0 5.0000 -2.50000 1.0000 0 -0.1000 0.0500>> Rc=rank(Qc)Rc =4从程序运行的结果可得,系统能控型判别矩阵的秩为4,而系统为5阶系统,故而就验证了该系统为不可控的。
成都理工大学信号与线性系统MATLAB实验报告

成都理工大学信号与线性系统MATLAB实验报告本科生实验报告实验课程信号与系统分析学院名称信息科学与技术学院专业名称电子信息科学与技术学生姓名邓泉铃学生学号201313020220指导教师杨斯涵实验地点6A502实验成绩二〇一四年十一月十八日二〇一四年十二月二日《信号与系统分析》实验报告实验一MATLAB编程初步应用及产生常用典型信号一、实验目的及要求:1,掌握MATLAB的使用的使用方法;2,熟悉Matlab常用命令的使用;3,试用Matlab语言产生典型信号。
二、实验内容:1,熟悉MATLAB平台的使用;2,产生常用的典型信号单位阶跃信号,指数信号,抽样函数信号;3,画出以上典型信号的波形图。
三、实验原理:在MATLAB中,使用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好的表示连续信号,在MATLAB中连续信号可用向量或符号运算功能来表示。
四、程序清单:1,单位阶跃信号定义:在MATLAB中调用单位阶跃函数heaviside来实现。
Heaviside.m文件代码如下:function Y = heaviside(X)%HEA VISIDE Step function% HEA VISIDE(X)is 0 for X<0,1 for X>0,and NaN for X==0.% HEA VISIDE(X)is not a function in the strict sense.% See also DIRAC>% Copyright 1993-2003 The MathWorks,lnc.% $Revision:1.1.6.2$ $Date; 2004/04/16 22:23:24$Y=zeros(size(X));Y(X>0)=1;Y(X==0)=NAN;利用heaviside绘制阶跃图形:t=-2:0.05:2f=heaviside(t)plot(t,f)axis([-1,3,-0.2,1.2])图形如图图1所示:图 12,指数函数信号用MATLAB命令绘制单边指数信号在时间0≤t≤3区间的波形。
《系统仿真与MATLAB》上机实验报告

上机实验报告
实验项目名称Simulink熟悉及其应用所属课程名称系统仿真与MATLAB 实验日期
班级
学号
姓名
成绩
斜坡输入模型
斜坡响应曲线
Subsystem(PID Controller)内容:
输出指令:
plot(ScopeData(:,1),ScopeData(:,2),'-r') xlabel('Time')
ylabel('Output')
title('阶跃响应输出曲线')
grid on
的数值解并绘制函数
,其初始值为:
微分方程的数值解为:x=0
Workspace输出图像:
操作代码:
plot(ScopeData_exp5.time,ScopeData_exp5.signals.values,'-r') xlabel('Time')
ylabel('Output')
实验五阶跃响应输出曲线')
grid on
输出图像:
仿真输出结果:
y(t)的图像如下所示,每条曲线对应不同的信号(F(t))来源。
说明:
1、将每一道题的程序、建立的模型放置在该题目下方;
2、小结部分为对本次实验的心得体会、思考和建议。
matlab仿真实验报告

matlab仿真实验报告Matlab仿真实验报告引言:Matlab是一种广泛应用于科学和工程领域的数值计算软件,它提供了强大的数学和图形处理功能,可用于解决各种实际问题。
本文将通过一个具体的Matlab 仿真实验来展示其在工程领域中的应用。
实验背景:本次实验的目标是通过Matlab仿真分析一个电路的性能。
该电路是一个简单的放大器电路,由一个输入电阻、一个输出电阻和一个放大倍数组成。
我们将通过Matlab对该电路进行仿真,以了解其放大性能。
实验步骤:1. 定义电路参数:首先,我们需要定义电路的各个参数,包括输入电阻、输出电阻和放大倍数。
这些参数将作为Matlab仿真的输入。
2. 构建电路模型:接下来,我们需要在Matlab中构建电路模型。
可以使用电路元件的模型来表示电路的行为,并使用Matlab的电路分析工具进行仿真。
3. 仿真分析:在电路模型构建完成后,我们可以通过Matlab进行仿真分析。
可以通过输入不同的信号波形,观察电路的输出响应,并计算放大倍数。
4. 结果可视化:为了更直观地观察仿真结果,我们可以使用Matlab的图形处理功能将仿真结果可视化。
可以绘制输入信号波形、输出信号波形和放大倍数的变化曲线图。
实验结果:通过仿真分析,我们得到了以下实验结果:1. 输入信号波形与输出信号波形的对比图:通过绘制输入信号波形和输出信号波形的变化曲线,我们可以观察到电路的放大效果。
可以看到输出信号的幅度大于输入信号,说明电路具有放大功能。
2. 放大倍数的计算结果:通过对输出信号和输入信号的幅度进行计算,我们可以得到电路的放大倍数。
通过比较不同输入信号幅度下的输出信号幅度,可以得到放大倍数的变化情况。
讨论与分析:通过对实验结果的讨论和分析,我们可以得出以下结论:1. 电路的放大性能:根据实验结果,我们可以评估电路的放大性能。
通过观察输出信号的幅度和输入信号的幅度之间的比值,可以判断电路的放大效果是否符合设计要求。
线性系统的频域分析报告MATLAB实验

1γ=50 20-=sK0原系统的伯德图:num/den =1.2347 s + 1 ------------- 0.20154 s + 1校正之后的系统开环传递函数为:num/den =6.1734 s + 5 ------------------------------------------- 0.20154 s^4 + 1.6046 s^3 + 3.4031 s^2 + 2 sP h a s e (d e g )Bode DiagramGm = Inf dB (at Inf rad/sec) , P m = 9.04 deg (at 3.14 rad/sec)-20020406080M a g n i t u d e (d B )alpha =6.1261;[il,ii]=min(abs(mag1-1/sqrt(alpha))); wc=w( ii); T=1/(wc*sqrt(alpha)); numc=[alpha*T,1]; denc=[T,1];[num,den]=series(num0,den0,numc,denc);[gm,pm,wcg,wcp]=margin(num,den); printsys(numc,denc)disp('УÕýÖ®ºóµÄϵͳ¿ª»·´«µÝº¯ÊýΪ:');printsys(num,den) [mag2,phase2]=bode(numc,denc,w); [mag,phase]=bode(num,den,w); subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');grid; ylabel('·ùÖµ(db)'); title('--Go,-Gc,GoGc'); subplot(2,1,2);semilogx(w,phase,w,phase1,'--',w,phase2,'-',w,(w-180-w),':'); grid; ylabel('Ïàλ(0)'); xlabel('ƵÂÊ(rad/sec)');title(['УÕýǰ£º·ùÖµÔ£Á¿=',num2str(20*log10(gm1)),'db','ÏàλԣÁ¿=',num2str(pm1),'0';'УÕýºó£º·ùÖµÔ£Á¿=',num2str(20*log10(gm)),'db','ÏàλԣÁ¿=',num2s tr(pm),'0']);10-110101102-60-40-2002040幅值(d b )--Go,-Gc,GoGc10-110101102-300-200-1000100相位(0)频率(rad/sec)矫正后系统的伯德图矫正之前系统单位阶跃响应矫正之后系统的单位阶跃响应:比较矫正前后系统的响应情况:可以看出超前矫正使系统的调节时间变短,响应更加迅速,但是超调量偏大,对改善系统的动态性能起到了巨大的作用。
MATLAB仿真实验报告

MATLAB仿真实验报告MATLAB仿真实验报告实验三PID控制仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成直流伺服电机PID典型控制系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
2.完成直流伺服电机PID典型系统结构图设计并调试成功。
三、实验设备微型计算机1台四、实验步骤1.双击桌面MATLAB6.5快捷图标,进入MATLAB仿真环境。
2.单击菜单simulink选项,进入其界面。
单击filenew--model进入新建文件界面。
3.在新建文件界面中,通过simulink选项的下拉菜单中选择仿真需要的函数及器件,组成仿真系统结构图。
4.仿真调试:鼠标单击“黑三角”图标,再双击“SCOPE”示波器,即可显示仿真结果。
5.改变参数,观察调试结果。
五、实验报告要求1.写出实验具体过程。
2.画出仿真结果图和仿真系统结构图。
实验四直流电机双闭环系统仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成双闭环典型系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
2.完成PID典型系统结构图设计并调试成功。
三、实验设备微型计算机1台四、实验步骤1.双击桌面MATLAB6.5快捷图标,进入MATLAB仿真环境。
2.单击菜单simulink选项,进入其界面。
单击filenewmodel进入新建文件界面。
3.在新建文件界面中,通过simulink选项的下拉菜单中选择仿真需要的函数及器件,组成仿真系统结构图。
4.仿真调试:鼠标单击“黑三角”图标,再双击“SCOPE”示波器,即可显示仿真结果。
5.改变参数,观察调试结果。
五、实验报告要求1.写出实验具体过程。
2.画出仿真结果图和仿真系统结构图。
实验五直流电机控制模型仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成直流电机仿真系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
matlab仿真实验报告,Matlab仿真及其应用实验报告.doc

matlab仿真实验报告,Matlab仿真及其应⽤实验报告.doc Matlab仿真及其应⽤ 实验报告温州⼤学物理与电⼦信息⼯程学院Matlab仿真及其应⽤ 实验报告课程名称:Matlab仿真及其应⽤班 级:10电信姓名:吴** 学号:1011000****实验地点:5B305⽇期:12.25实验⼆ Matlab 基本编程基础[实验⽬的和要求]熟悉MATLAB环境与⼯作空间熟悉变量与矩阵的输⼊、矩阵的运算熟悉M⽂件与M函数的编写与应⽤熟悉MATLAB控制语句与逻辑运算掌握if语句、switch语句、try语句的使⽤。
掌握利⽤for语句、while语句实现循环结构的⽅法。
[实验内容]1⾏100列的Fibonacc 数组a,a(1)=a(2)=1,a(i)=a(i-1)+a(i-2),⽤for循环指令来寻求该数组中第⼀个⼤于10000的元素,并之处其位置i。
编写M函数表⽰曲线以及它的包络线,并从命令窗⼝输⼊命令语句绘制曲线。
t的取值范围是[0,4π]。
设,编写⼀个M函数⽂件,使得调⽤f(x)时,x可⽤矩阵代⼊,得出的f(x)为同阶矩阵。
根据,求时的最⼤n值;与(1)的n值对应的y值。
已知求中,最⼤值、最⼩值、各数之和,以及正数、零、负数的个数。
输⼊⼀个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中,90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
求分段函数的值。
⽤if语句实现输出x=-5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0时的y值。
编写⼀M函数,实现近似计算指数,其中x为函数参数输⼊,当n+1步与n步的结果误差⼩于0.00001时停⽌。
编写⼀M函数,a和x作为M函数参数输⼊,函数⾥⾯分别⽤if结构实现函数表⽰实验结果及分析:1.a=ones(1,100); %定义数组for i=3:100a(i)=a(i-1)+a(i-2);if(a(i)>10000)a(i),break;endend ,i2.function y=ff(t)y1=exp(-t/3);y2=exp(-t/3).*sin(3*t); y=[y1;y2]3.function y=f(x);a=input('输⼊a值:');x=input('输⼊x值:');if(x<=-a)y=-1;elseif(x-a)y=x/a;elsey=1;endend4.for n=1:100f(n)=1./(2*n-1);y=sum(f)if y>=3my=y-f(n)breakendendmy5.f(1)=1,f(2)=0,f(3)=1; for n=4:100f(n)=f(n-1)-2*f(n-2)+f(n-3);enda=sum(f);b=max(f);c=min(f);p=f==0,d=sum(p);%p等于f为0的个数p1=f>0,e=sum(p1);p2=f<0,f=sum(p2);a,b,c,d,e,f6.clear;n=input('输⼊成绩:');m=floor(n/10);%取整switch mcase num2cell(9:10)disp('A'); %显⽰在控制框case 8disp('B');case 7disp('C');case 6disp('D');case num2cell(0:5)disp('E');otherwisedisp('error')end7.function y=ex3_4(x)for i=1:length(x)if (x(i)<0)&(x(i)~=-3)y(i)=x(i)^2+x(i)-6elseif (x(i)>=0)&(x(i)<5)&(x(i)~=2)&(x(i)~=3) y(i)=x(i)^2-5*x(i)+6else y(i)=x(i)^2-x(i)-1 endendy8.function t=ex3_4(x) n=0;t=1;y=1;x=input(‘’);while y>=0.00001n=n+1;y=x^n/factorial(n);t=t+y;endn9.function y=f(x);a=input('输⼊a值:'); x=input('输⼊x值:'); if。
MATLAB实验报告——运用MATLAB求解和分析线性时不变系统1

MATLAB实验报告课程名称 MATLAB程序设计实验日期 2015 年 05 月 11 日数据记录及分析1.例12.4-1(1)用MATLAB在时域中求解)()(12)(16)(7)(2233t et rdttdrdtt r ddtt r d=+++的齐次解。
程序截图:(2)程序截图:运行图像截图:2.例12.4-2求连续时间系统)()()(3)t(2)(22t edttdet rdtdrdtt rd+=++,当2)(tt e=时的特解。
程序截图:运行图像截图:3. 例12.4-3用户MATLAB在时域中求解)()()(t et rdttdr=+,)()1()(3tuete t-+=的零响入相应。
解法一:程序截图:运行图像截图:解法二:用MATLAB的dsolve函数直接获得零状态响应的表达式程序截图:运行图像截图:解法三:程序截图:运行图像截图:4.例12.4-5用MATLAB求解方程零状态响应分量,已知系统差分方程为nxyx-+nnnnunx=。
(n) y系统的激励序列)( y+7)+()2)1(21.0()1+=(+-)2(7.0程序截图:运行图像截图:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性系统理论实验报告
学院:电信学院
姓名:邵昌娟
学号:152085270006
专业:电气工程
线性系统理论Matlab实验报告
1、由分析可知系统的状态空间描述,因系统综合实质上是通过引入适当状态反馈矩阵K,使得闭环系统的特征值均位于复平面S的期望位置。
而只有当特征根均位于S的左半平面时系统稳定。
故当特征根是正数时系统不稳定,设计无意义。
所以设满足题目中所需要求的系统的期望特征根分别为λ1*=-2,λ2*=-4。
(a) 判断系统的能控性,即得系统的能控性判别矩阵Q c,然后判断rankQ c,若rank Q c =n=2则可得系统可控;利用Matlab判断系统可控性的程序如图1(a)所示。
由程序运行结果可知:rank Q c =n=2,故系统完全可控,可对其进行状态反馈设计。
(b) 求状态反馈器中的反馈矩阵K,因设系统的期望特征根分别为λ1*=-2,λ2*=-4;所以利用Matlab求反馈矩阵K的程序如图1(b)所示。
由程序运行结果可知:K即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。
图1(a) 系统的能控性图1(b) 状态反馈矩阵
2、(a) 求系统的能控型矩阵Q c,验证若rank Q c <n=5,则系统是不能控的。
利用Matlab 验证系统能控性的程序如图2(a)所示:由程序运行结果可知:rank Q c =4<n=5,而系统为5阶系统,所以系统为不可控。
(b) 求u到y的传递函数,并确定新的状态变量模型。
利用Matlab求u到y的传递函数及新的状态变量模型的程序如图2(b)和2(c)所示:由程序运行结果可知所得的新的状态变量模型的n=4,造成这种情况的原因在于原系统为不可控系统,因rank Q c =4,传递函数只能表述系统中可控的部分,故新的状态变量模型为4阶系统。
(c) 证明新的状态变量的模型为可控的,即若rank Q c1 =n=4则新的状态变量的模型即为可控的;故利用Matlab证明新的状态变量的模型为可控的程序如图2(d)所示:由程序的运行结果可知:rank Q c1 =n=4,即可得新的状态变量的模型完全能控。
(d) 判断系统的稳定性,可采用李雅普洛夫特征值法进行判定;利用Matlab判断系统的稳定性的程序如图2(e)所示:由程序的运行结果可知:特征值的根的实部均不为正数,故系统在李雅普洛夫意义下稳定。
图2(a) 系统的能控性
图2(b) u到y的传递函数
图2(c) 系统脉冲传递函数与状态空间表达
(c) 证明新的状态变量的模型为可控的,即若rank Q c1 =n=4则新的状态变量的模型即为可控的;故利用Matlab证明新的状态变量的模型为可控的程序如图2(d)所示:由程序的运行结果可知:rank Q c1 =n=4,即可得新的状态变量的模型完全能控。
(d) 判断系统的稳定性,可采用李雅普洛夫特征值法进行判定;利用Matlab判断系统的稳定性的程序如图2(e)所示:由程序的运行结果可知:特征值的根的实部均不为正数,故系统在李雅普洛夫意义下稳定。
(e) 讨论状态变量模型的能控性和复杂性的关系。
因一个系统能控需能控型判别矩阵的秩等于系统的维数,即rank Q c =n,也即等于状态变量的个数。
但系统越复杂,状态空间描述中应用的状态变量的个数也越多,rank Q c =n也就越大,也就越难达到要求,所以系统的能控性就越难以满足。
综上所述可知,越复杂的系统就越难实现完全可控。
图2(d) 状态变量的模型能控性
图2(e) 系统的稳定性
3、(a) 求系统矩阵A的特征值,并判断其稳定性,可采用李雅普洛夫特征值法进行判定;
图3(a) 系统的稳定性
图3(b) 系统矩阵A 的特征值
图3(c) 系统的能控性
利用Matlab判断系统的稳定性的程序如图3(a)所示:由程序的运行结果可知:系统矩
阵的特征值有两个根的实部为正数,故系统不稳定。
(b) 利用Matlab的poly函数求系统矩阵A 的特征值的程序如图3(b)所示:由程序的运行结果可知:poly函数与eig函数所求出的特征值不同,但结果都表明系统是不稳定的。
(c) 判断当u1与u2分别发挥作用时,系统的能控性;利用Matlab判断系统的能控性的程序如图3(c)所示:由程序的运行结果可知:当u1与u2分别发挥作用时,rank Q c1 = rank Q c2 =n=4,即其秩等于系统的维数,故可得系统在u1与u2分别发挥作用时,系统均能控。
4、(a) 判断系统的稳定性,可采用李雅普洛夫特征值法进行判定;利用Matlab判断系统的稳定性的程序如图4(a)所示:
图4(a) 系统的稳定性
由程序的运行结果可知:系统矩阵A的特征值中有一个为正数,故系统不稳定。
图4(b) 系统的能控性
(b) 求当u1发挥作用时的能控型判别矩阵Q c1,若rank Q c1 =n=6,则系统可控;利用
Matlab判断系统的能控性的程序如图4(b)所示:由程序的运行结果可知:当u1发挥作用时rank Q c1 =4<n=6,故系统不能控。
(c) 求当u2发挥作用时的能控型判别矩阵Q c2,若rank Q c2 =n=6,则系统可控;利用Matlab 判断系统的能控性的程序如图4(c)所示:当u2发挥作用时rank Q c2 =4<n=6,故系统不能控。
图4(c) 系统的能控性
图4(d) 系统的能控性
(d) 求当u3发挥作用时的能控型判别矩阵Q c3,若rank Q c3 =n=6,则系统可控;利用Matlab判断系统的能控性的程序如图4(d)所示:由程序的运行结果可知:当u3发挥作用时rank Q c3 =2<n=6,故系统不能控。
(e) 求由u2到漂移量的传递函数;利用Matlab判断系统的能控性的程序如图4(e)所示:
图4(e) 系统的能控性
由程序的运行结果可得所求传递函数G。
(f) 求G所对应的状态变量模型,并验证其为能控系统;利用Matlab判断系统的能控性的程序如图4(f)和4(g)所示:由程序的运行结果可知:新的状态变量模型的能控型判别矩阵Q c1的秩,即rank Q c1 =n=4,故新的状态变量系统可控。
图4(f) 系统的能控性
图4(g) 系统状态空间表达
图4(h) 状态反馈矩阵
(g) 设计状态反馈控制器,即求所对应的状态反馈矩阵K,使得其闭环极点为S1=-1+j,
S 2=-1-j ,S 3=-10,S 4=-10;利用Matlab 求解状态反馈矩阵的程序如图4(h)所示,所求的k 即为状态反馈矩阵。
5、由课本中的分析可得,系统的一阶数学模型υβ0.0979Δ0.0262Δ--0.3397x x
+= 。
由于要设计风力机转速的闭环PI 控制,且将风速的变化视为扰动,则可得带有PI 控制器的风力机控制系统,如图5(a)所示:
图5(a) 含PI 控制器的风力机控制系统
其中PI 控制器的模型为K 1+K 2/S ,故系统闭环特征方程为S 2+0.3397K 1S+0.3397K 2=0。
因要想使风力机稳定运行,则需特征方程的根具有负实部;故利用Matlab 求解的程序如图5(b)所示:
图5(b) 特征方程解
由程序的运行结果可知:只有特征根具有负实部时,风力机系统才能稳定运行,故分别取K 1≦180,K 2≦86,则此时得到的PI 控制器将满足要求。
6、采用状态反馈和极点配置算法,设计风力机转速的闭环控制系统,即确定状态反馈矩阵K ,从而使得系统矩阵的特征根为期望特征根。
设期望的系统矩阵特征根为λ1*=-1,λ2*=-5,λ3*=-7;则利用Matlab 判断系统可控性及求解状态反馈矩阵的程序如图6(a)所示:由程序的运行结果可知,由K 所构成的状态反馈器可满足要求。
图6(a) 系统能控性及状态反馈矩阵
7、对风力机三阶模型系统进行LQR控制器设计,因已知系统的系统矩阵和输入矩阵,故需求加权矩阵Q,R,设Q=diag([1,1,1]);R=1;则利用Matlab中的lqr函数进行LQR 控制器设计的程序如图7(a)所示。
图7(a) 状态反馈矩阵
由程序的运行结果可知:K即为LQR控制器中的状态反馈矩阵。
8、设计风力机三阶模型的状态反馈及其状态观测器,且为降维状态观测器,因rank C=1,
故可得降维状态观测器的维数为dim∑ROB =3-1=2。
设状态反馈的期望极点为λ1*=-1,λ2*=-2,λ3*=-3,状态观测器的期望极点为λ4*=-5,λ5*=-7,则利用Matlab判断系统可控性及求解状态反馈矩阵的程序如图8(a)所示:由程序的运行结果可知,K1即为状态反馈控制器的状态反馈矩阵,L为降维观测器所求矩阵,而R,S,T,U矩阵则为构成状态反馈器所需中间矩阵。
由所求矩阵K1 ;R ;S ;T ;U则可构状态反馈控制器与降维观测器。