主要内容

线性化模型

对线性化模型

的仿真软金宝app件®产品提供了linmodlinmod2,dlinmod函数提取状态空间矩阵形式的线性模型一个BC,D.状态空间矩阵将线性输入-输出关系描述为

x ˙ 一个 x + B u y C x + D u

在哪里xu,y分别为状态、输入和输出向量。例如,调用以下模型测井方式

要提取这个系统的线性模型,输入这个命令。

[A,B,C,D] = linmod('lmod'

输入和输出必须使用轮廓尺寸外港块从端口和子系统库。源和汇块不充当输入和输出。导入块可以与源块一起使用,使用总和块。一旦数据处于状态空间形式或转换为LTI对象,就可以应用于控制系统工具箱™产品进一步分析:

  • 转换为LTI对象

    sys = ss (A, B, C, D);
  • 波德相位和幅度频率图

    波德(A, B, C, D)或预示(系统)
  • 线性化时间响应

    step(A,B,C,D) or step(sys) impulse(A,B,C,D) or impulse(sys) lsim(A,B,C,D) or lsim(sys,u,t)

您可以使用控制系统工具箱和鲁棒控制工具箱™产品中的其他功能进行线性控制系统设计。下载188bet金宝搏

当模型为非线性时,可以选择一个工作点来提取线性化的模型。额外的参数linmod指定工作点。

[A,B,C,D] = linmod('sys', x, u)

对于离散系统或混合连续和离散系统,使用函数dlinmod线性化。该函数的调用语法与linmod除了右手边的第二个参数必须包含执行线性化的样本时间。

参考模型的线性化

您可以使用linmod从包含模型块的Simulink®环境中提取线性模型。金宝app例如,打开引用的模型mdlref_dynamics顶级模特mdlref_f14

open_system (“mdlref_dynamics”);open_system (“mdlref_f14”);

mdlref_f14模型,飞机动力学模型块参考mdlref_dynamics模型。

线性化的mdlref_f14模型,使用linmod命令。

[A, B, C, D] = linmod (“mdlref_f14”);
###启动串行模型引用仿真构建### #成功更新了模型引用仿真目标:模型重建行动的原因  ========================================================================================== mdlref_dynamics mdlref_dynamics_msf代码生成和编译。Mexa64并不存在。建造时间:0小时0米30.653秒

结果状态空间模型对应于完整mdlref_f14模型,包括引用的模型。

你可以叫linmod使用包含Model块的模型的状态和输入操作点。当使用操作点时,状态向量x指向顶级模型和任何引用模型的总状态向量。必须使用结构格式输入状态向量。要获得完整的状态向量,请使用getInitialState

x = 金宝appSimulink.BlockDiagram.getInitialState (topModelName

提示

在正常模式下,linmod命令对引用模型中的块应用逐块线性化算法。如果模型块处于加速模式,则linmod命令使用数值摄动将参考模型线性化。由于在加速模式下线性化多速率模型块的限制,当使用参考模型线性化时,您应该对模型块引用的所有模型使用正常模式模拟。

使用v5算法的线性化

调用linmod命令“v5”参数调用在MATLAB之前创建的扰动算法®软件版本5.3。该算法还允许您指定用于对模型的所有状态和输入进行扰动的扰动值。

[A, B, C, D] = linmod (“sys”爱视宝,x, u, para upert,“v5”
使用linmod“v5”线性化包含导数或传输延迟块的模型的选项可能会带来麻烦。在线性化之前,用特别设计的可以避免这些问题的块替换这些块。这些块在Simulink Extras库中的线性金宝app化子库中。

你可以通过打开Blocksets & Toolboxes图标来访问Extras库:

  • 对于导数块,使用切换导数进行线性化。

当使用一个导数块,你也可以尝试在其他块中合并导数项。例如,如果你有导数用a串联块转移Fcn块,它是更好的实现(尽管这不总是可能的)单一转移Fcn表单块

年代 年代 + 一个

在本例中,图中左边的块可以被右边的块替换。

另请参阅

|

相关的话题