草庐IT

【现控理论】(一、系统的传递函数矩阵)----学习笔记

Safe && Sound 2023-04-03 原文

1.传递函数与传递矩阵

对于单输入单输出的线性定常系统的状态空间表达式为:

零初始条件下进行laplace变换:

经整理得:

代入(1)中:

2.传递函数(矩阵)与状态空间描述对比:

(1)传递函数(矩阵)是在初始条件为零的前提下输入输出间的关系描述,初始条件非零系统不能应用这种描述;状态空间表达式既可以描述初始条件为零的系统也可以描述初始条件为非零的系统。

(2)传递函数(矩阵)仅用于线性定常系统,而状态空间表达式既可以在定常系统中应用也可以在时变系统中应用。

(3)对于数学模型不明确的线性定常系统难以建立状态空间表达式,而传递函数(矩阵)可以通过实验获得。

(4)传递函数仅适用于单输入单输出系统,状态空间表达式可用于多输入多输出系统的描述。

(5)传递函数(矩阵)只能给出系统的输出信息,而状态空间表达式不仅给出输出信息,还能够提供系统内部状态信息。

以RLC电路为例:

 3.离散系统的状态空间表达式:

因为连续系统状态空间表达式的建立方法完全适用于离散系统,所以离散系统状态空间表达式的矩阵形式为:

简化为:

式中G、H、C、D所具有的形式与连续系统能控型对应相同,此为离散系统的能控 型对应相同。

离散变换例题 :

离散系统状态空间表达式的结构框图为:

 4.matlab中的应用:

4.1由传递函数得到状态空间表达式

考虑以下传递函数:

对于此传递函数可能具有无穷多个状态空间表达式,但是通过matlab我们可以计算出一种来,在matlab中主要运用以下命令求出A、B、C、D四个矩阵:

[A,B,C,D]=tf2ss(num,den)

 4.2由传递函数得到状态空间表达式

主要采用的命令为:

[num,den]=ss2tf[A,B,C,D,iu]

对于多输入的系统,必须具体化iu,比如系统有三个输入u1,u2,u3,那么就必须在后面具体写出来哪三个输入。

一个输入:

 对于以上的方程在matlab中求取传递函数如下:

对于2个输入的状态空间表达式:

上述表达式将存在4个传递函数:

第一个输入: 

传递函数分别为:

第二个输入:

 传递函数分别为:

4.3系统的线性非奇异变换

调用的格式为:

GT=ss2ss(G,T)

G、GT分别为变换前、后系统的状态空间模型,T为线性非奇异变换矩阵。或为:

[At,Bt,Ct,Dt]=ss2ss(A,B,C,D,T)

其中(A、B、C、D)、分别为变换前、后系统的状态空间模型的系数针,T为线性非奇异变换阵。

4.4标准型状态空间表达式

其调用格式为:

G1=canon(sys,type)

若LTI系统模型sys为对应状态向量x的状态空间模型,可应用canon()函数将其变换为在新的状态向量x下的标准型状态空间表达式,其调用格式为:

[G1,P]=canon(A,B,C,D,type)

其中(A,B,C,D)对应x的原系统状态空间模型的系数阵,(At,Bt,Ct,Dt)则为对应新状态向量(仍满足)的标准型状态空间模型的系数阵。

有关【现控理论】(一、系统的传递函数矩阵)----学习笔记的更多相关文章

  1. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  2. ruby-on-rails - 在 ruby​​ 中使用 gsub 函数替换单词 - 2

    我正在尝试用ruby​​中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了

  3. ruby - 在 Ruby 中有条件地定义函数 - 2

    我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin

  4. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  5. ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL? - 2

    我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些

  6. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  7. 旋转矩阵的几何意义 - 2

    点向量坐标矩阵的几何意义介绍旋转矩阵的几何含义之前,先介绍一下点向量坐标矩阵的几何含义点:在一维空间下就是一个标量,如同一条直线上,以任意某一个位置为0点,以一定的尺度间隔为1,2,3...,相反方向为-1,-2,-3...;如此就形成了一维坐标系,这时候任何一个点都可以用一个数值表示,如点p1=5,即即从原点出发沿着x轴正方向移动5个尺度;点p2=-3,负方向移动3个尺度;     在一维坐标系上过原点做垂直于一维坐标系的直线,则形成了二维坐标系,此时描述一个点需要两个数值来表示点p3=(3,2),即从原点出发沿着x轴正方向移动3个尺度,在此基础上沿着y轴正方向移动两个尺度的位置就是点p3。

  8. ruby - 在 Ruby 中按名称传递函数 - 2

    如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只

  9. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  10. C51单片机——实现用独立按键控制LED亮灭(调用函数篇) - 2

    说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时

随机推荐