线性系统理论相关的matlab应用.pptx
《线性系统理论相关的matlab应用.pptx》由会员分享,可在线阅读,更多相关《线性系统理论相关的matlab应用.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1线性系统理论相关的线性系统理论相关的matlab应用应用一一 利用利用MATLAB进行模型转换进行模型转换1-1 传递函数与状态空间表达式之间的转换传递函数与状态空间表达式之间的转换1).连续系统状态空间表达式连续系统状态空间表达式 MATLAB是当今世界上最优秀的科技应用软件之一,它以强大是当今世界上最优秀的科技应用软件之一,它以强大的科学计算能力和可视化功能,简单易用的编程语言以及开放式的的科学计算能力和可视化功能,简单易用的编程语言以及开放式的编程环境等一些显著的优点,使得它在当今许许多多科学技术领域编程环境等一些显著的优点,使得它在当今许许多多科学技术领域中成为计算机辅助分析和
2、设计、算法研究和应用开发的基本工具和中成为计算机辅助分析和设计、算法研究和应用开发的基本工具和首选平台。在本书中,用它作为系统分析和设计的软件平台,更显首选平台。在本书中,用它作为系统分析和设计的软件平台,更显示出独特的优势。示出独特的优势。本节利用本节利用MATLAB实现数学模型的转换。实现数学模型的转换。可以用可以用ss命令来建立状态空间模型。对于连续系统,其格命令来建立状态空间模型。对于连续系统,其格式为式为 sys=ss(A,B,C,D),其中,其中A,B,C,D为描述线性连续系为描述线性连续系统的矩阵。统的矩阵。当当sys1是一个用传递函数表示的线性定常系统时,可以用是一个用传递函数
3、表示的线性定常系统时,可以用命令命令sys=ss(sys1),将其转换成为状态空间形式。也可以用命,将其转换成为状态空间形式。也可以用命令令sys=ss(sys1,min)计算出系统计算出系统sys的最小实现。的最小实现。第1页/共49页例例1 1 控制系统微分方程为控制系统微分方程为求其状态空间表达式。求其状态空间表达式。解解可以先将其转换成传递函数可以先将其转换成传递函数 输入下列命令输入下列命令语句执行结果为语句执行结果为第2页/共49页这个结果表示,该系统的状态空间表达式为这个结果表示,该系统的状态空间表达式为注意,在输入命令中,注意,在输入命令中,sys=ss(G)也可以改用也可以改
4、用A,B,C,D=tf2ss(num,den),在本例中其作用和,在本例中其作用和sys=ss(G)近近似,也可以计算出矩阵似,也可以计算出矩阵A、B、C、D。第3页/共49页2).离散系统的状态空间表达式(不要求)离散系统的状态空间表达式(不要求)离散系统的状态空间表达式为离散系统的状态空间表达式为 和连续系统状态空间表达式的输入方法相类似,如果要输入和连续系统状态空间表达式的输入方法相类似,如果要输入离散系统的状态空间表达式,首先需要输入矩阵离散系统的状态空间表达式,首先需要输入矩阵G、H、C、d,然后输入语句然后输入语句 ,即可将其输入到,即可将其输入到MATLAB的的workspace
5、中,并且用变量名来表示这个离散系统,中,并且用变量名来表示这个离散系统,其中其中T为采样时间。如果为采样时间。如果Gyu表示一个以脉冲传递函数描述的离散表示一个以脉冲传递函数描述的离散系统,也可以用系统,也可以用ss(Gyu)命令,将脉冲传递函数模型转换成状态命令,将脉冲传递函数模型转换成状态空间表达式。空间表达式。例例2 2 假设某离散系统的脉冲传递函数为假设某离散系统的脉冲传递函数为采样周期为采样周期为 ,将其输入到,将其输入到MATLAB的的workspace中,中,并且绘制零、极点分布图。并且将该离散系统脉冲传递函数模型并且绘制零、极点分布图。并且将该离散系统脉冲传递函数模型转换成状态
6、空间表达式。转换成状态空间表达式。第4页/共49页 解解 输入下列语句输入下列语句语句执行的结果为语句执行的结果为再输入语句再输入语句 ,绘制出零、极点分布图如,绘制出零、极点分布图如下下第5页/共49页在执行完上述语句后,在执行完上述语句后,Gyu已经存在于已经存在于MATLAB的的workspace中,这时再执行语句中,这时再执行语句执行结果为执行结果为 结果表示,离散系统的状态空间表达式为结果表示,离散系统的状态空间表达式为第6页/共49页1-2 求传递函数矩阵求传递函数矩阵 在已知线性定常系统中的在已知线性定常系统中的A、B、C和和D矩阵之后,则该矩阵之后,则该系统的传递函数矩阵可以按
7、下式求出系统的传递函数矩阵可以按下式求出例例3 3 已知系统状态方程为已知系统状态方程为输入以下语句输入以下语句 解解第7页/共49页 其中其中inv()函数是求矩阵的逆矩阵,而函数是求矩阵的逆矩阵,而simple()函数是函数是对符号运算结果进行简化。对符号运算结果进行简化。执行结果如下执行结果如下这表示这表示第8页/共49页1-3.线性变换线性变换1)化为对角矩阵化为对角矩阵 函数函数eig()可以计算出矩阵可以计算出矩阵A的特征值以及将的特征值以及将A阵转换成对角阵的阵转换成对角阵的线性变换矩阵。其语句格式为线性变换矩阵。其语句格式为Q,D=eig(A),则,则D为对角阵并为对角阵并且对
8、角线上各元素为矩阵且对角线上各元素为矩阵A的特征值,满足的特征值,满足 ,因,因为为 即:即:。例例4 4 线性控制系统的状态方程为线性控制系统的状态方程为 试作线性变换试作线性变换 ,要求变换后系统矩阵要求变换后系统矩阵A为对角阵。为对角阵。解解先求出系统矩阵的特征值,先求出系统矩阵的特征值,Q阵可以选择为由特征值构成阵可以选择为由特征值构成的范德蒙特矩阵。的范德蒙特矩阵。输入语句输入语句可以求出可以求出A阵的特征值为阵的特征值为 1、2和和3。因此因此 第9页/共49页输入以下语句输入以下语句执行结果如下执行结果如下 由以上计算数据可得系统经过线性变换后的方程为由以上计算数据可得系统经过线
9、性变换后的方程为 第10页/共49页也可以输入语句也可以输入语句运行结果为运行结果为 再计算线性变换矩阵再计算线性变换矩阵P,并且验证结果如下,并且验证结果如下 可见,两种线性变换虽然不同,却都可以将可见,两种线性变换虽然不同,却都可以将A阵转换为对角阵阵转换为对角阵第11页/共49页2)化为约当矩阵化为约当矩阵 在在MATLAB中用函数命令中用函数命令jordan()来求矩阵的约当标准形。其来求矩阵的约当标准形。其命令格式为:命令格式为:Q,J=jordan(A)。输入参量输入参量A是系数矩阵,输出是系数矩阵,输出参量参量J是矩阵是矩阵A 的约当标准形矩阵,而的约当标准形矩阵,而 就是线性变
10、就是线性变换矩阵,满足换矩阵,满足 。例例5 5 将将 化为标准形矩阵。化为标准形矩阵。解解首先输入语句首先输入语句 运行结果为运行结果为可见,不满秩,即矩阵可见,不满秩,即矩阵A的特征值中有重特征值的特征值中有重特征值,并且并且A的独立特的独立特征向量的个数小于征向量的个数小于n。第12页/共49页因此输入语句因此输入语句语句执行结果为语句执行结果为计算结果表明,矩阵计算结果表明,矩阵A的约当阵为的约当阵为 。我们验证如下我们验证如下 执行结果为执行结果为所计算出的结果表明,满足所计算出的结果表明,满足 第13页/共49页二二 用用MATLAB求解系统方程求解系统方程2.1 线性齐次状态方程
11、的解线性齐次状态方程的解 使用使用MATLAB可以方便地求出状态方程的解。我们通过例可以方便地求出状态方程的解。我们通过例子来说明。子来说明。例例 已知线性系统齐次状态方程为已知线性系统齐次状态方程为 初始条件初始条件求系统状态方程的解。求系统状态方程的解。解解用以下用以下MATLAB程序计算齐次状态方程的解,其中程序计算齐次状态方程的解,其中collect()函数的作用是合并同类项,而函数的作用是合并同类项,而ilaplace()函数的作用是求取拉函数的作用是求取拉普拉斯逆变换,函数普拉斯逆变换,函数det()的作用是求方阵的行列式。的作用是求方阵的行列式。第14页/共49页程序执行结果程序
12、执行结果这表示这表示第15页/共49页2.2 线性非齐次状态方程的解线性非齐次状态方程的解通过以下例子说明。通过以下例子说明。例例2 2 已知系统状态方程为已知系统状态方程为解解 用以下用以下MATLAB程序求系统方程的解。其中,语句程序求系统方程的解。其中,语句phi=subs(phi0,t,(t-tao)表示将符号变量表示将符号变量phi0中的自变量中的自变量t用用(t-tao)代换就构成了符号变量代换就构成了符号变量phi,而语句,而语句x2=int(F,tao,0,t)表示符号变量表示符号变量F对对tao在在0到到t的积分区间上求积分,运算结果返回到的积分区间上求积分,运算结果返回到x
13、2。第16页/共49页程序执行结果为程序执行结果为 这表示这表示2.3 连续系统状态方程的离散化(不要求)连续系统状态方程的离散化(不要求)在在MATLAB中,函数中,函数c2d()的功能就是将连续时间的系统模型转()的功能就是将连续时间的系统模型转换成离散时间的系统模型。其调用格式为:换成离散时间的系统模型。其调用格式为:sysd=c2d(sysc,T,method)。其中,输入参量。其中,输入参量sysc为连续时间的系统为连续时间的系统模型;模型;T为采样周期(秒);为采样周期(秒);method用来指定离散化采用的方法用来指定离散化采用的方法。zoh采用零阶保持器;采用零阶保持器;foh
14、采用一阶保持器;采用一阶保持器;tustin采用双线性逼近方法;采用双线性逼近方法;prewarm采用改进的采用改进的tustin方法;方法;第17页/共49页matched采用采用SISO系统的零极点匹配方法;系统的零极点匹配方法;当当method为缺省时(即:调用格式为为缺省时(即:调用格式为sysd=c2d(sysc,T)时),默认时),默认的方法是采用零阶保持器。的方法是采用零阶保持器。例例2-32-3 某线性连续系统的状态方程为某线性连续系统的状态方程为其中其中 采用零阶保持器将其离散化,设采样周期为采用零阶保持器将其离散化,设采样周期为0.1秒。求离散化的状秒。求离散化的状态方程模
15、型。态方程模型。解解 输入以下语句,其中输入以下语句,其中D=zeros(2)表示,将表示,将D赋值为赋值为22维的全零维的全零矩阵。矩阵。第18页/共49页语句执行的结果为语句执行的结果为计算结果表示系统离散化后的计算结果表示系统离散化后的状态方程为状态方程为第19页/共49页三三 MATLAB的应用的应用3-1 判断线性系统的能控性和能观测性判断线性系统的能控性和能观测性 用用MATLAB可以很方便地求出线性控制系统的能控性矩阵和能可以很方便地求出线性控制系统的能控性矩阵和能观测性矩阵,并且求出它们的秩。从而判断系统的能控性和能观测观测性矩阵,并且求出它们的秩。从而判断系统的能控性和能观测
16、性。函数性。函数ctrb()和和obsv()分别计算系统的能控性矩阵和能观测性矩分别计算系统的能控性矩阵和能观测性矩阵。格式为:阵。格式为:Qc=ctrb(A,B),Qo=obsv(A,C)。例例 判断下面的线性系统是否能控?是否能观测?判断下面的线性系统是否能控?是否能观测?其中其中 解解 先分别计算系统的能控性矩阵和能观测性矩阵。然后,再用先分别计算系统的能控性矩阵和能观测性矩阵。然后,再用rank()函数计算这两个矩阵的秩。函数计算这两个矩阵的秩。第20页/共49页输入以下语句输入以下语句这些语句的执行结果为这些语句的执行结果为 从计算结果可以看出,系统能控性矩阵和能观测性矩阵的秩都从计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 系统 理论 相关 matlab 应用
限制150内