利用MATLAB进行系统模型之间的相互转换
matlab tf、ss、和zpk的控制系统建模实验心得

matlab tf、ss、和zpk的控制系统建模实验心得1. 引言1.1 概述控制系统建模是设计和分析工程系统的重要步骤之一。
在这个过程中,我们需要选择适当的数学模型来描述系统的行为,并使其与实际物理现象相匹配。
MATLAB作为一个功能强大的工具,提供了多种方法来进行控制系统建模,其中包括传递函数模型(TF)、状态空间模型(SS)和零极点增益模型(ZPK)。
本文旨在总结和分享我在使用MATLAB中的TF、SS和ZPK进行控制系统建模实验中的经验和心得。
1.2 文章结构本文将按照以下结构展开讨论:- 第二部分将介绍在MATLAB中使用TF进行控制系统建模时的一些重要事项,包括理解传递函数模型以及如何建立该模型。
- 第三部分将介绍使用SS进行控制系统建模时所需注意的事项,包括理解状态空间模型和建立该模型的步骤。
- 第四部分将介绍使用ZPK进行控制系统建模时需要注意的事项,包括理解零极点增益模型和如何建立该模型。
最后,在第五部分中,将对TF、SS和ZPK三种建模方法进行比较,并总结心得体会,并对未来的研究方向进行展望。
1.3 目的本文的目的是帮助读者更好地理解和掌握MATLAB中TF、SS和ZPK建模方法,以便能够准确描述和分析控制系统的行为。
通过分享我的实验心得,我希望能够给读者提供一些在实际应用中使用这些模型时的指导和启示。
让我们开始吧!2. MATLAB中的TF模型建模实验心得2.1 理解传递函数模型在MATLAB中,传递函数(Transfer Function)是一种常用的控制系统建模方法。
它用于描述输入和输出之间的关系,并包含了系统的动态特性。
在进行TF 模型建模时,我们首先需要理解传递函数的含义和作用。
传递函数是指将系统的频率响应与拉普拉斯变换联系起来的函数表达式。
通过分子多项式和分母多项式的比值来表示系统,并使用频率域表达,可以方便地分析系统性能、稳定性以及设计控制器等。
2.2 建立传递函数模型的步骤在MATLAB中,建立传递函数模型可以遵循以下步骤:步骤1:确定系统的数学模型。
基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真0 引言5G技术的逐步普及,使得我们对海量数据的存储交换,以及数据传输速率、质量提出了更高的要求。
信号的准确传播显得越发重要,随之而来的是对信道模型稳定性、抗噪声性能以及低误码率的要求。
本次研究通过构建结合空间分集和空间复用技术的MIMO信道,引入OFDM 技术搭建MIMO-OFDM 系统,在添加保护间隔的基础上探究其在降低误码率以及稳定性等方面的优异性能。
1 概述正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术通过将信道分成数个互相正交的子信道,再将高速传输的数据信号转换成并行的低速子数据流进行传输。
该技术充分利用信道的宽度从而大幅度提升频谱效率达到节省频谱资源的目的。
作为多载波调制技术之一的OFDM 技术目前已经在4G 中得到了广泛的应用,5G 技术作为新一代的无线通信技术,对其提出了更高的信道分布和抗干扰要求。
多输入多输出(Multi Input Multi Output,MIMO)技术通过在发射端口的发射机和接收端口的接收机处设计不同数量的天线在不增加频谱资源的基础上通过并行传输提升信道容量和传输空间。
常见的单天线发射和接收信号传输系统容量小、效率低且若出现任意码间干扰,整条链路都会被舍弃。
为了改善和提高系统性能,有学者提出了天线分集以及大规模集成天线的想法。
IEEE 806 16 系列是以MIMO-OFDM 为核心,其目前在欧洲的数字音频广播,北美洲的高速无线局域网系统等快速通信中得到了广泛应用。
多媒体和数据是现代通信的主要业务,所以快速化、智能化、准确化是市场向我们提出的高要求。
随着第五代移动通信5G 技术的快速发展,MIM-OFDM 技术已经开始得到更广泛的应用。
本次研究的MIMO-OFDM 系统模型是5G的关键技术,所以对其深入分析和学习,对于当下无线接入技术的发展有着重要的意义。
利用MATLAB进行系统模型之间的相互转换

本节将讨论系统模型由传递函数变换为状态方程,反之亦
然。现讨论如何由传递函数变换为状态方程。
将闭环传递函数写为
Y (s) U (s)
=
含s的分子多项式 含s的分母多项式
=
num den
当有了这一传递函数表达式后,使用如下 MATLAB 命令:
[A, B, C, D] = tf2ss (num, den)
J=[-2+j*4 0 0;0 -2-j*4 0;0 0 -10]; JJ=poly(J) JJ=
1 14 60 200 aa1=JJ(2);aa2=JJ(3);aa3=JJ(4); %*****State feedback gain matrix K can be given by ***** K=[aa3-a3 aa2-a2 aa1-a1]*(inv(P)) K=
%*****Enter matrices A and B*****
A=[0 1 0;0 0 1;-1 -5 -6]; B=[0;0;1];
%***** Define the controllability matrix Q*****
Q=[B A*B A^2*B];
%*****Check the rank of matrix Q*****
JA=poly(A)
JA=
1.0000 6.0000 5.0000 1.0000
a1=JA(2);a2=JA(3);a3=JA(4);
%*****Define matrices W and P as follows***** W=[a2 a1 1;a1 1 0;1 0 0]; P=Q*W;
%*****Obtain the desired chracteristic polynomial by defining %the following matrix J and entering statement poly(J)*****
matlab中ss2tf函数用法

MATLAB是一种广泛使用的数学软件,用于进行数值计算、数据分析和绘图。
其中SS2TF函数是MATLAB中常用的函数之一,用于将状态空间系统转换为传递函数形式。
下面将详细介绍SS2TF函数的使用方法。
一、SS2TF函数的基本介绍SS2TF函数是MATLAB中用于将状态空间系统转换为传递函数形式的函数。
在控制系统工程中,状态空间表示了系统的动态行为,而传递函数则描述了系统的输入与输出之间的关系。
通过使用SS2TF函数,我们可以方便地将状态空间模型转换为传递函数模型,从而更好地分析和设计控制系统。
二、SS2TF函数的语法在MATLAB中,SS2TF函数的基本语法如下:[num,den] = ss2tf(A,B,C,D,i)其中,A、B、C和D分别表示状态空间模型的四个参数,i为输入信号的通道数。
函数的返回值为传递函数的分子系数num和分母系数den。
三、SS2TF函数的使用方法1. 确定系统的状态空间模型在使用SS2TF函数之前,首先需要确定系统的状态空间模型,即A、B、C和D四个参数的值。
通常情况下,这些参数可以通过实际系统的物理特性或者数学建模得到。
2. 调用SS2TF函数一旦确定了系统的状态空间模型,我们就可以调用SS2TF函数将其转换为传递函数形式。
只需将A、B、C、D四个参数作为函数的输入,并指定输入信号的通道数i,即可得到传递函数的分子系数num和分母系数den。
3. 分析传递函数得到传递函数后,我们可以对其进行进一步的分析和处理。
可以计算传递函数的阶数、极点和零点,从而更好地理解系统的动态特性。
还可以利用传递函数进行系统的稳定性分析和性能优化。
四、SS2TF函数的示例下面通过一个简单的示例来演示SS2TF函数的使用方法。
假设我们有一个二阶系统的状态空间模型如下:A = [0 1; -4 -1]B = [0; 1]C = [1 0]D = 0现在我们希望将这个状态空间模型转换为传递函数形式。
matlab坐标轮换法

matlab坐标轮换法
本文将介绍matlab中常用的坐标轮换法,该方法可以用于解决各种坐标系之间的转换问题。
具体来说,我们将讨论如何通过坐标轮换法将一个点从一个坐标系转换到另一个坐标系,以及如何通过该方法进行空间刚体的旋转和变形等操作。
首先,我们将介绍如何使用matlab进行坐标轮换计算。
在matlab 中,我们可以使用内置函数例如“cross”、“dot”、“norm”等来实现向量的运算。
此外,我们还可以通过定义旋转矩阵和坐标变换矩阵来实现坐标轮换计算。
我们将分别介绍这两种方法的具体实现步骤。
其次,我们将讨论如何通过坐标轮换法进行空间刚体的旋转和变形操作。
在这一部分中,我们将介绍如何通过旋转矩阵和变形矩阵来实现刚体的旋转和变形,以及如何通过matlab中的绘图函数来可视化刚体的变形结果。
最后,我们将通过实例来演示如何使用matlab进行坐标轮换计算和空间刚体的旋转和变形操作。
通过实例的演示,读者将更好地理解这些概念和方法的具体实现过程。
在本文中,我们将详细介绍matlab坐标轮换法的原理和实现方法,希望能够为读者提供一些参考和帮助。
- 1 -。
mimo传递函数转化为状态空间模型matlab代码

MIMO传递函数转化为状态空间模型Matlab代码1. 介绍MIMO(多输入多输出)系统是指系统具有多个输入和多个输出的特性。
在控制系统领域中,MIMO系统的建模和分析是非常重要的。
传递函数和状态空间模型是两种常用的系统建模方法。
本文将介绍如何将MIMO系统的传递函数转化为状态空间模型,并给出相应的Matlab代码实现。
2. MIMO系统的传递函数表示MIMO系统的传递函数通常表示为一个矩阵,每个元素对应一个输入到一个输出的传递函数。
假设有n个输入、m个输出,则MIMO系统的传递函数可以表示为一个m×n的传递函数矩阵G(s)。
传递函数矩阵的元素可以用s表示,如G11(s)、G12(s)等。
3. MIMO系统传递函数到状态空间模型的转化方法MIMO系统的传递函数可以通过状态空间模型来表示。
状态空间模型的基本形式如下:\[ \dot{x}(t) = Ax(t) + Bu(t) \]\[ y(t) = Cx(t) + Du(t) \]其中,A是状态矩阵,B是输入矩阵,C是输出矩阵,D是传递函数零极点对应的矩阵。
MIMO系统的传递函数可以通过以下步骤转化为状态空间模型:1)将传递函数矩阵分解为多个SISO(单输入单输出)系统的传递函数;2)针对每个SISO系统,可以将其转化为状态空间模型;3)将各个SISO系统的状态空间模型组合成一个整体的MIMO系统的状态空间模型。
4. Matlab代码实现下面我们通过一个实例来演示如何用Matlab将MIMO系统的传递函数转化为状态空间模型。
假设传递函数矩阵为:\[ G(s) = \begin{bmatrix} \frac{2s+1}{s^2+3s+2}\frac{3s+2}{s^2+4s+3} \\ \frac{4s+1}{s^2+2s+1}\frac{5s+2}{s^2+3s+2} \end{bmatrix} \]我们需要将传递函数矩阵分解为四个SISO系统的传递函数:\[ G11(s) = \frac{2s+1}{s^2+3s+2} \]\[ G12(s) = \frac{3s+2}{s^2+4s+3} \]\[ G21(s) = \frac{4s+1}{s^2+2s+1} \]\[ G22(s) = \frac{5s+2}{s^2+3s+2} \]针对每个SISO系统,我们可以将其转化为状态空间模型,以G11(s)为例:```Matlab将传递函数G11(s)转化为状态空间模型num = [2, 1]; 分子系数den = [1, 3, 2]; 分母系数[A11, B11, C11, D11] = tf2ss(num, den); 转化为状态空间模型```将各个SISO系统的状态空间模型组合成整体的MIMO系统的状态空间模型:```Matlab对四个SISO系统的状态空间模型进行组合A = [A11, A12; A21, A22];B = [B11, B12; B21, B22];C = [C11, C12; C21, C22];D = [D11, D12; D21, D22];```至此,我们成功地将MIMO系统的传递函数转化为状态空间模型,并通过Matlab代码实现了这一过程。
matlab里控制系统的三种数学模型的转换
在MATLAB中,控制系统的建模和分析是非常重要的。
控制系统的数学模型是描述系统行为的数学表示,可以用来进行模拟、分析和设计控制系统。
在控制系统中,常见的数学模型包括积分-微分模型、状态空间模型和传递函数模型。
接下来,我将按照深度和广度的要求,对这三种数学模型进行全面评估,并据此撰写一篇有价值的文章。
1. 积分-微分模型在控制系统中,积分-微分模型是一种常见的数学表示方法。
它由两部分组成:积分部分和微分部分。
积分部分描述了系统的累积效应,微分部分描述了系统的瞬时响应。
这种模型常用于描述惯性较大、响应缓慢的系统,例如机械系统和电气系统。
在MATLAB中,可以使用积分-微分模型来进行系统建模和仿真,以分析系统的稳定性和性能指标。
2. 状态空间模型状态空间模型是另一种常见的控制系统数学表示方法。
它由状态方程和输出方程组成,用来描述系统的状态变量和外部输入之间的关系。
状态空间模型适用于描述多变量、多输入多输出系统,例如飞行器、汽车控制系统等。
在MATLAB中,可以使用状态空间模型来进行系统分析和设计,包括系统的稳定性、可控性和可观性分析,以及控制器设计和系统性能评价。
3. 传递函数模型传递函数模型是控制系统中最常用的数学表示方法之一。
它用传递函数来描述系统的输入和输出之间的关系,其中传递函数是输入信号和输出信号的比值。
传递函数模型适用于描述单输入单输出系统,例如电路系统、机械系统等。
在MATLAB中,可以使用传递函数模型进行系统分析和设计,包括频域分析、极点和零点分析,以及控制器设计和系统稳定性评估。
总结回顾:在本文中,我按照深度和广度的要求对MATLAB中控制系统的三种数学模型进行了全面评估。
我从积分-微分模型入手,介绍了其构成和适用范围。
我转而讨论了状态空间模型,阐述了其在多变量系统中的重要性。
我详细介绍了传递函数模型,强调了其在单输入单输出系统中的广泛应用。
在文章的我共享了对这三种数学模型的个人观点和理解,指出了它们在控制系统中的重要性和实用性。
实验一MATLAB系统地传递函数和状态空间表达式地转换
实验一 MATLAB 系统的传递函数和状态空间表达式的转换一、实验目的1、学习多变量系统状态空间表达式的建立方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法;3、掌握相应的MATLAB 函数。
二、实验原理设系统的模型如式(1.1)所示:⎩⎨⎧+=+=DCx y BuAx x ' x ''R ∈ u ∈R ’’’ y ∈R P (1.1) 其中A 为nXn 维系统矩阵、B 为nXm 维输入矩阵、C 为pXn 维输出矩阵,D 为直接传递函数。
系统的传递函数和状态空间表达式之间的关系如式(1.2)所示G(s)=num(s)/den(s)=C (SI-A)-1 B+D (1.2) 式(1.2)中,num(s)表示传递函数的分子阵,其维数是pXm ,den(s)表示传递函数的按s 降幂排列的分母。
表示状态空间模型和传递函数的MATLAB 函数如下:函数ss (state space 的首字母)给出了状态空间模型,其一般形式是: sys=ss(A,B,C,D)函数tf (transfer function 的首字母)给出了传递函数,其一般形式是: G=tf(num ,den)其中num 表示传递函数中分子多项式的系数向量(单输入单输出系统),den 表示传递函数中分母多项式的系数向量。
函数tf2ss 给出了传递函数的一个状态空间实现,其一般形式是: [A,B,C,D]=tf2ss(num,den)函数ss2tf 给出了状态空间模型所描述系统的传递函数,其一般形式是: [num,den]=ss2tf(A,B,C,D,iu)其中对于多输入系统,必须确定iu 的值。
例如,若系统有三个输入u 1,u 2,u 3,则iu 必须是1、2、或3,其中1表示u 1,2表示u 2,3表示u 3。
该函数的结果是第iu 个输入到所有输出的传递函数。
三.实验步骤及结果1、应用MATLAB 对下列系统编程,求系统的A 、B 、C 、D 阵,然后验证传递函数是相同的。
现代控制工程MATLAB实验指导书V
昆明理工大学机电学院机械工程专业研究生实验《现代控制工程》MATLA实验指导书昆明理工大学机电工程学院现代控制工程》MATLAB 实验指导书一、MATLAB 简介1 MATLAB 概述MATLAB 是MA Trix LABoratory 的缩写,早期主要用于现代控制中复杂的矩阵、向量的各种运算。
由于MA TLAB 提供了强大的矩阵处理和绘图功能,很多专家因此在自己擅长的领域用它编写了许多专门的MATLAB 工具包( toolbox ),如控制系统工具包( control systems toolbox );系统辨识工具包( system identification toolbox );信号处理工具包( signal processing toolbox );鲁棒控制工具包( robust control toolbox );最优化工具包(optimization toolbox )等等。
由于MA TLAB 功能的不断扩展,所以现在的MATLAB 已不仅仅局限与现代控制系统分析和综合应用,它已是一种包罗众多学科的功能强大的“技术计算语言( TheLanguage of Technical Computing )”。
MathWorks 公司于1992 年推出了具有划时代意义的MATLAB 4.0 版本,并推出了交互式模型输入与仿真系统SIMULINK ,它使得控制系统的仿真与CAD 应用更加方便、快捷,用户可以方便地在计算机上建模和仿真实验。
1997 年MathWorks 推出的MA TLAB 5.0 版允许了更多的数据结构,1999 年初推出的MA TLAB 5.3 版在很多方面又进一步改进了MATLAB 语言的功能。
2000 年底推出的MATLAB 6.0 。
最新版本是MA TLAB7.0 。
MATLAB 以矩阵作为基本编程单元,它提供了各种矩阵的运算与操作,并有较强的绘图功能。
MATLAB 集科学计算、图像处理、声音处理于一身,是一个高度的集成系统,有良好的用户界面,并有良好的帮助功能。
模型预测控制系统的性能评价研究
模型预测控制系统的性能评价研究肖振;高强;常勇【摘要】以单容水箱、精馏塔为仿真对象,以模型预测控制作为实现过程,通过Matlab仿真方式,利用最小方差法进一步提高单容水箱单变量模型的预测控制性能;对精馏塔模型多变量系统,利用历史性能指标和设计性能指标,以残差的累积和图为手段进行模型预测控制性能监视,最后验证了所提方法的有效性。
%Both single water tank and rectification column was taken as simulation objects,in which,the pre-diction control model was applied;basing on Matlab simulation,the minimum variance method was adopted to improve MPC’s control performance.As for the multivariable system of the rectification column model,the historical performance index and the design performance index,including the residual cumulative sum and control charts were adopted to monitor MPC performance.The results verify effectiveness of the method pro-posed.【期刊名称】《化工自动化及仪表》【年(卷),期】2016(043)007【总页数】7页(P706-711,719)【关键词】模型预测控制系统;动态矩阵算法;最小方差;性能评价;Matlab【作者】肖振;高强;常勇【作者单位】天津理工大学天津市复杂系统控制理论及应用重点实验室,天津300384;天津理工大学天津市复杂系统控制理论及应用重点实验室,天津 300384;天津理工大学天津市复杂系统控制理论及应用重点实验室,天津 300384【正文语种】中文【中图分类】TH865模型预测控制(Model Predictive Control,MPC)产生于20世纪70年代,是先进工业过程控制领域中一类计算机控制算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J=[-2+j*4 0 0;0 -2-j*4 0;0 0 -10]; JJ=poly(J) JJ=
1 14 60 200 aa1=JJ(2);aa2=JJ(3);aa3=JJ(4); %*****State feedback gain matrix K can be given by ***** K=[aa3-a3 aa2-a2 aa1-a1]*(inv(P)) K=
%*****Enter matrices A and B*****
A=[0 1 0;0 0 1;-1 -5 -6]; B=[0;0;1];
%***** Define the controllability matrix Q*****
Q=[B A*B A^2*B];
%*****Check the rank of matrix Q*****
利用 MATLAB 求解极点配置问题
用 MATLAB 易于求解极点配置问题。现在我们来 求解系统方程为
x& = Ax + Bu
式中
⎡0 1 0 ⎤
⎡0⎤
A = ⎢⎢0 0 1 ⎥⎥,B = ⎢⎢0⎥⎥
⎢⎣− 1 −5 −6⎥⎦
⎣⎢1 ⎥⎦
采用状态反馈控制u = −Kx ,希望系统的闭环极
点为 s =μi(i=1,2,3),其中
s3
+ 14s2
s +
56s
+ 160
(1.22)
对该系统,有多个(无穷多个)可能的状态空间表达式, 其中一种可能的状态空间表达式为:
⎡ x&1 ⎤ ⎡0 1
⎢ ⎢
x& 2
⎥ ⎥
=
⎢⎢0
0
⎢⎣ x&3 ⎥⎦ ⎢⎣−160
0
⎤⎡ x1 ⎤ ⎡0 ⎤
1
⎥ ⎥
⎢ ⎢
x2
⎥ ⎥
+
⎢⎢1
⎥ ⎥
u
−56 −14⎥⎦⎢⎣ x3 ⎥⎦ ⎢⎣−14⎥⎦
MATLAB Program 5 %--------Pole placement---------
以上就是下列 4 个传递函数的 MATLAB 表达式:
Y1 ( s) U1(s)
=
s2
s+4 + 4s +
25
,
Y1 ( s) U 2 (s)
=
s2
s+5 + 4s +
, 25
Y2 (s) U1(s)
=
s2
− 25 + 4s +
25
,
Y2 (s) = s-25 U2 (s) s2 + 4s + 25
A=[0 1; -25 -4]; B=[1 1; 0 1]; C=[1 0; 0 1];
D=[0 0; 0 0] [NUM,den]=ss2tf(A,B,C,D,1) NUM=
0 14 0 0 -25 den= 1 4 25 [NUM,den]=ss2tf(A,B,C,D,2) NUM=
0 1.0000 5.0000 0 1.0000 -25.000 den= 1 4 25
对多输入的系统,必须具体化 iu。例如,如果系统有 3 个输 入(u1,u2,u3),则 iu 必须为 1、2 或 3 中的一个,其中 1 表 示 u1,2 表示 u2,3 表示 u3。
如果系统只有一个输入,则可采用 [num,den] = ss2tf (A,B,C,D)
或 [num,den] = ss2tf (A,B,C,D,1)
考虑由下式定义的系统:
⎡ ⎢⎣
x& 1 x& 2
⎤ ⎥⎦
=
⎡0 ⎢⎣−
25
1⎤ −4⎥⎦
⎡ ⎢⎣
x1 x2
⎤ ⎥⎦
+
⎡1 ⎢⎣0
1⎤⎡u1 ⎤ 1⎥⎦⎢⎣u2 ⎥⎦
⎡ ⎢⎣
y1 y2
⎤ ⎥⎦
=
⎡1 ⎢⎣0
0⎤ 1 ⎥⎦
⎡ ⎢⎣
x1 x2
⎤ ⎥⎦
+
⎡0 ⎢⎣0
0⎤⎡u1 ⎤ 0⎥⎦⎢⎣u2 ⎥⎦
该系统有两个输入和两个输出,包括 4 个传递函数: Y1(s)/U1(s)、Y2(s)/U1(s)、Y1(s)/U2(s)和 Y2(s)/U2(s) (当考虑输入 u1 时,可设 u2 为零。反之亦然),见下列 MATLAB 输出:
⎡199 55 8
⎤
φ ( A) = A3 + 14A2 + 60A + 200I = ⎢⎢− 8 159 7
⎥ ⎥
⎣⎢− 7 −43 117⎥⎦
实际上,
Polyvalm(poly(J), A) ans=
199 55 8 -8 159 7 -7 -43 117
利用爱克曼公式,MATLAB Program 5 将求出状 态反馈增益矩阵 K。
μ1 = −2 + j4, μ2 = −2 − j4, μ3 = −10
现求所需的状态反馈增益矩阵 K。
如果在设计状态反馈控制矩阵 K 时采用变换矩阵
P,则必须求特征方程|sI-A|=0 的系数a1、a2、和a3 。
这可通过给计算机输入语句
P = poly(A) 来实现。在计算机屏幕上将显示如下一组系数:
− 2− j4
0
⎥ ⎥
⎢⎣0 0 μ3 ⎥⎦ ⎢⎣ 0
0 −10⎥⎦
从而可利用如下 poly(J)命令来完成,即
J = [−2 + 4*i 0 0;0 − 2 − 4*i 0;0 0 −10]; Q = poly(J) Q=
1 14 60 200
因此,有
a1*
=
aa1 =
Q(2),
a
* 2
=
aa2
1-1
Num=[0 0 1 0];
Den=[1 14 56 160];
[A,B,C,D]
=
tf2ss(num,den)
A=
-14 -56 -160
10
0
01
0
B=
1 0 0
C=
010
D=
0
2 由状态空间表达式到传递函数的变换
为了从状态空间方程得到传递函数,采用以下命令:
[num,den] = ss2tf [A,B,C,D,iu]
=
Q(3), a3*
=
aa3
=
Q(4)
即对于 ai* ,可采用 aai 。
故状态反馈增益矩阵 K 可由下式确定:
K = [ a3∗ − a3 a2∗ − a2 a1∗ − a1 ] P −1
或
K = [ aa3 − a3 aa2 − a2 aa1 − a1 ] * (inv(P))
采用变换矩阵 P 求解该例题的 MATLAB 程序如
利用 MATLAB 进行系统模型之间的相互转换
本节将讨论系统模型由传递函数变换为状态方程,反之亦
然。现讨论如何由传递函数变换为状态方程。
将闭环传递函数写为
Y (s) U (s)
=
含s的分子多项式 含s的分母多项式
=
num den
当有了这一传递函数表达式后,使用如下 MATLAB 命令:
[A, B, C, D] = tf2ss (num, den)
1 0 − 25.1026
0
⎤⎡ x1 ⎤ ⎡0
⎤
1
⎥ ⎥
⎢ ⎢
x
2
⎥ ⎥
+
⎢⎢25.04
⎥⎥u
−5.03247⎥⎦⎢⎣ x3 ⎥⎦ ⎢⎣− 121.005⎥⎦
y = [1
⎡ x1 ⎤
0
0]⎢⎢
x
2
⎥ ⎥
⎢⎣ x3 ⎥⎦
MATLAB Program 1-2 将产生给定系统的传递函数。所得传 递函数为:
(见例 1.3 和 MTLAB Program1-2)
MTLAB Program 1-2 A=[0 1 0; 0 0 1; -5.008 -5.032471]; B=[0; 25.04; -121.005]; C=[1 0 0]; D=[0]; [num,den]=ss2tf(A,B,C,D)
-25.1026
y = [1
⎡ x1 ⎤
0
0]⎢⎢
x2
⎥ ⎥
+
[0]u
⎢⎣ x3 ⎥⎦
另外一种可能的状态空间表达式(在无穷个中)为:
⎡ x&1 ⎤ ⎡−14 −56 −160⎤⎡ x1 ⎤ ⎡1 ⎤
⎢ ⎢
x& 2
⎥ ⎥
=
⎢⎢1
0
0
⎥ ⎥
⎢ ⎢
x2
⎥ ⎥
+
⎢⎢0⎥⎥
u
⎢⎣ x&3 ⎥⎦ ⎢⎣0 1 0 ⎥⎦⎢⎣ x3 ⎥⎦ ⎢⎣0⎥⎦
A = [0 1 0; 0 0 1; -1 -5 -6]; P = poly(A) P=
1.0000 6.0000 5.0000 1.0000
则a1 = a1 = P(2), a2 = a2 = P(3), a3 = a3 = P(4) 。
为了得到变换矩阵 P,首先将矩阵 Q 和 W 输入计
算机,其中
Y (s) =
25.04s + 5.008
U (s) s3 + 5.0325s 2 + 25.1026s + 5.008
[例 2] 考虑一个多输入-多输出系统。当系统输出多于一个 时,MATLAB 命令:
[NUM,den] = ss2tf (A,B,C,D,iu)
对每个输入产生所有输出的传递函数(分子系数转变为具有 与输出相同行的矩阵 NUM)。