主要内容

线性化

线性近似的万博1manbetx模型或子系统

描述

例子

Linsys.=线性化(mdlio返回非线性Simulink的线性近似万博1manbetx®模型mdl使用中指定的分析点在模型工作点io.如果您省略io, 然后线性化使用模型的根级别inports和Outports作为分析点。

例子

Linsys.=线性化(mdlio人事处在工作点线性化模型人事处

例子

Linsys.=线性化(mdlio帕纳使用指定的参数值变体进行线性化模型帕纳.您可以根据模型工作区,MATLAB中的变量提供任何型号参数®工作区或数据字典。

例子

Linsys.=线性化(mdlioblocksub使用指定的替代块或子系统线性化线性化模型blocksub

例子

Linsys.=线性化(mdlio选项使用额外的线性化选项线性化模型。

Linsys.=线性化(mdlio人事处帕纳blocksub选项使用任何组合线性化模型人事处帕纳blocksub,选项按任何顺序。

例子

Linsys.=线性化(mdl返回模型中的块或子系统的线性近似mdl规定,,在模型的工作点。在线性化之前,软件将块与模型的其余部分隔离开来。

例子

Linsys.=线性化(mdl人事处在工作点线性化块或子系统人事处

Linsys.=线性化(mdl帕纳使用指定的参数值变体进行线性化块或子系统帕纳.您可以根据模型工作区,MATLAB工作区或数据字典中的变量提供的任何型号参数。

Linsys.=线性化(mdlblocksub中指定的替代块或子系统线性化块或子系统blocksub

Linsys.=线性化(mdl选项使用额外的线性化选项线性化块或子系统。

Linsys.=线性化(mdl人事处帕纳blocksub选项使用任何组合来线性化块或子系统人事处帕纳blocksub,选项按任何顺序。

例子

Linsys.=线性化(___“StateOrder”,stateorder指定以前的任何语法线性化模型中的状态的顺序。

例子

[Linsys.linop] =线性化(___返回模型线性化的操作点。当在模拟快照时或在线化过程中的不同参数时使用此语法。

例子

[Linsys.linop信息] =线性化(___返回其他线性化信息。选择要返回的线性化信息信息,启用相应的选项选项

例子

全部折叠

打开Simulin万博1manbetxk模型。

mdl ='水缸';open_system (mdl)

在PID控制器块的输出处指定线性化输入,这是水箱系统块的输入信号。

IO(1)= Linio(“watertank / PID控制器”,1,'输入');

在水箱系统块的输出处指定一个线性化输出点。将输出点指定为开环将在不改变模型工作点的情况下消除反馈信号对线性化的影响。

IO(2)= Linio('watertank /水箱系统',1,'openOutpul');

使用指定的I / O集线性化模型。

Linsys =线性化(MDL,IO);

Linsys.是植物在模型工作点的线性逼近。

打开Simulin万博1manbetxk模型。

mdl ='magball';open_system (mdl)

找到一个球高的稳态工作点0.05.创建默认操作点规范,并将高度状态设置为已知值。

opspec = operspec(mdl);opspec.states(5).known = 1;opspec.states(5).x = 0.05;

修剪模型以找到操作点。

选项= findopoptions('displayReport'“关”);op = condop(mdl,opspec,选项);

指定线性化输入和输出信号,以计算闭环传递函数。

IO(1)= Linio(“磁球/所需高度”,1,'输入');IO(2)= Linio(“magball /磁球工厂”,1,'输出');

使用指定的I / O集线在指定的操作点处线性化模型。

Linsys =线性化(MDL,IO,OP);

打开Simulin万博1manbetxk模型。

mdl ='水缸';open_system (mdl)

要计算闭环传输功能,请首先指定线性化输入和输出信号。

IO(1)= Linio(“watertank / PID控制器”,1,'输入');IO(2)= Linio('watertank /水箱系统',1,'输出');

模拟SYS.为了10.秒和线性化模型。

Linsys =线性化(MDL,IO,10);

打开Simulin万博1manbetxk模型。

mdl =“scdcascade”;open_system (mdl)

为外环控制器增益指定参数变化,kp1.ki1..为每个增益值创建参数网格。

Kp1_range = linspace (Kp1 Kp1 * 0.8 * 1.2, 6);Ki1_range = linspace (Ki1 Ki1 * 0.8 * 1.2, 4);[Kp1_grid, Ki1_grid] = ndgrid (Kp1_range Ki1_range);

创建带有字段的参数值结构姓名价值

Params(1).name =“Kp1”;参数(1)。价值= Kp1_grid; params(2).Name ='ki1';Params(2).value = ki1_grid;

参数个数是一个6×4的参数值网格,其中每个网格点对应于唯一的组合kp1.ki1.值。

定义线性化输入输出点,用于计算系统的闭环响应。

IO(1)= Linio('scdcascade / setpoint',1,'输入');IO(2)= Linio('scdcascade / sum',1,'输出');

使用指定的参数值线性化模型操作点。

linsys =线性化(mdl io, params);

打开Simulin万博1manbetxk模型。

mdl ='scdpwm';open_system (mdl)

从模型中提取线性化输入和输出。

IO = GetLinio(MDL);

在模型操作点进行线性化模型。

Linsys =线性化(MDL,IO)
Linsys = D =步工厂模型0静态增益。

电压到PWM块中的不连续性导致模型线性化至零。要将此块视为线性化期间的单位增益,请指定此块的替代线性化。

blocksub.name =.'SCDPWM /电压到PWM';blocksub。价值= 1;

使用指定的块替换线性化模型。

linsys =线性化(mdl blocksub io)
linsys = a =状态空间(状态空间(状态空间(0.9999 -0.0001状态空间(0.0001 1 b =步骤状态空间(0.0001状态空间(5e-09 c =状态空间)(状态空间(植物型号0 1 d =步工厂)型号0采样时间:0.0001秒离散时间 - 空间模型。

打开Simulin万博1manbetxk模型。

mdl ='水缸';open_system (mdl)

为了线心化水箱系统块,请指定线性化输入和输出。

IO(1)= Linio(“watertank / PID控制器”,1,'输入');IO(2)= Linio('watertank /水箱系统',1,'openOutpul');

创建一个线性化选项集,并指定线性化模型的采样时间。

选项= linearizeOptions(“SampleTime”,0.1);

使用指定的选项线性化工厂。

Linsys =线性化(MDL,IO,选项)
linsys = A = H H 0.995 B = PID control H 0.02494 C = H水箱S 1 D = PID control水箱S 0采样时间:0.1秒

线性化工厂是一个离散时间 - 空间模型,采样时间0.1

打开Simulin万博1manbetxk模型。

mdl ='水缸';open_system (mdl)

指定要线性化的块的完整块路径。

blockpath ='watertank /水箱系统'

在模型操作点处线性化指定的块。

blockpath linsys =线性化(mdl);

打开仿真软万博1manbetx件模型。

mdl ='magball';open_system (mdl)

找到一个球高的稳态工作点0.05.创建默认操作点规范,并将高度状态设置为已知值。

opspec = operspec(mdl);opspec.states(5).known = 1;opspec.states(5).x = 0.05;
选项= findopoptions('displayReport'“关”);op = condop(mdl,opspec,选项);

指定要线性化的块的块路径。

blockpath =“magball /磁球工厂”

在指定的工作点对指定的块进行线性化。

Linsys =线性化(MDL,BlockPath,OP);

打开Simulin万博1manbetxk模型。

mdl ='magball';open_system (mdl)

在模型的工作点线性化工厂。

blockpath =“magball /磁球工厂”;blockpath linsys =线性化(mdl);

查看线性化设备的默认状态顺序。

linsys。attnename.
ans = 3x1 cell array {'height'} {'current'} {'dhdt'}

线性化植物并在线化模型中重新排序状态。将高度的变化率作为第二状态设置。

rounddorder = {“magball /磁球工厂/高度”...'Magball /磁球厂/ DHDT'...'Magball /磁球厂/电流'};linsys =线性化(mdl blockpath,'陈辞',陈辞);

查看新的状态顺序。

linsys。attnename.
ans = 3x1 cell array {'height'} {'dhdt'} {'current'}

打开Simulin万博1manbetxk模型。

mdl ='水缸';open_system (mdl)

要计算闭环传输功能,请首先指定线性化输入和输出信号。

IO(1)= Linio(“watertank / PID控制器”,1,'输入');IO(2)= Linio('watertank /水箱系统',1,'输出');

模拟SYS.将模型线性化0.10.秒。返回与这些快照时间相对应的工作点;即模型线性化时的工作点。

[linsys, linop] =线性化(mdl io, [0, 10]);

打开Simulin万博1manbetxk模型。

mdl ='水缸';open_system (mdl)

不同的参数一种B.在其标称值的10%以内。

[A_grid, b_grid] = ndgrid (linspace (0.9 * 1.1 * 3),...linspace (0.9 * b, b 1.1 * 4));

创建一个参数结构阵列,指定每个参数的名称和网格点。

Params(1).name =“一个”;params(1).value = a_grid;Params(2).name ='B';params(2).value = b_grid;

为模型创建默认的操作点规范。

opspec = operspec(mdl);

使用指定的操作点规范,参数网格修剪模型。抑制操作点搜索报告的显示。

opt = findopoptions('displayReport'“关”);[op, opreport] = findop (mdl、opspec params,选择);

人事处是一个3×4阵列的操作点对象,对应于指定的参数网格点。

为植物模型指定块路径。

blockpath =“watertank /期望的水位”

要在线性化过程中存储偏移,请创建线性化选项集并设置储层器官真正的

选项= linearizeOptions(“StoreOffsets”,真正的);

批量使用指定的I / O点和参数变体在修剪操作点处线性化。

[Linsys,Linop,Info] =线性化(MDL,BlockPath,OP,Params,选项);

您可以使用偏移量infosets当配置LPV System块时。

infosets
ans = 3x4结构阵列与字段:x dx u y statename inputname outputname ts

输入参数

全部折叠

万博1manbetxSimulink模型名称,指定为字符向量或字符串。模型必须在当前工作文件夹中或在MATLAB路径中。

分析点集包含输入,输出和开口,指定为线性化I / O对象或线性化I / O对象的向量。创造io

  • 使用输入,输出和开口定义Linio.

  • 如果在Simulink模型中指定了输入、输出和开口,则使用以下方法从模型中提取这些点万博1manbetxgetlinio

每个线性化I / O对象io必须对应于Simulink模型万博1manbetxmdl或模型层次结构中的一些正常模式模型参考。

如果您省略io, 然后线性化使用模型的根级别inports和Outports作为分析点。

有关指定线性化输入,输出,和开口的更多信息,请参见指定要线性化的模型部分

线性化的操作点,指定为以下之一:

  • 操作点对象,使用以下方法创建:

  • 操作点对象数组,指定多个操作点。要创建一系列操作点对象,可以:

  • 表示一个或多个模拟快照时间的正标量向量。软件模拟SYS.并在指定的快照时间线性化模型。

    如果您还指定了使用的参数变化帕纳,软件为每个快照时间和参数网格点组合模拟模型。该操作可以计算得昂贵。

如果使用帕纳,以及参数:

  • 影响模型的工作点,然后指定人事处作为一个操作点数组,其尺寸与参数值网格相同。为了获得与参数值组合对应的操作点,使用批量修剪您的模型帕纳在线性化。有关更多信息,请参阅基于参数变化的多工作点批量线性化模型

  • 不要影响模型操作点,然后指定人事处作为一个操作点。

块或子系统来线性化,指定为包含其完整块路径的字符向量或字符串。

该软件将指定块的InPorts和Outport视为开环输入和输出,该输入和输出将块与线性化之前的其余部分隔离。

替代块和子系统的线性化,指定为结构或一个结构N-by-1结构数组N是要指定线性化的块的数量。使用blocksub为块或子系统指定自定义线性化。例如,您可以为没有解析线性化的块指定线性化,例如具有不连续或触发子系统的块。

为研究改变模型动态对块线性化的影响,您可以通过指定块的多个替代线性化来批量线性化。

如果用不同于原始块或子系统的采样时间替换线性化,则最佳做法是设置总体线性化采样时间(选项。采样时间)到一个不合适的价值。

每个替代线性化结构具有以下字段。

要指定线性化的块的块路径指定为字符向量或字符串。

替换为块的线性化,指定为以下之一:

  • Double -指定SISO块的线性化作为增益。

  • 一组双打 - 指定MIMO块的线性化作为一个N——- - - - - -Ny增益值数组,其中N是输入和输入的数量Ny是输出的数量。

  • 指定模型的I/O配置必须与指定的块的配置相匹配姓名.使用不确定的模型需要强大的控制工具箱™软件。

  • 数组的LTI模型,不确定的状态空间模型,或不确定的真实对象-批处理线性化模型使用多个块替换。数组中每个模型的I/O配置必须与指定自定义线性化的块的配置相匹配。如果你:

    • 使用型号参数使用帕纳并指定价值作为一个模型数组,价值必须匹配参数网格大小。

    • 指定人事处作为一系列操作点和价值作为一个模型数组,价值必须匹配的尺寸人事处

    • 定义多个块的块替换,并指定价值作为这些块中一个或多个块的LTI模型阵列,阵列的尺寸必须匹配。

  • 结构中包含以下字段。

    场地 描述
    规范

    块线性化指定为字符向量,其中包含以下其中一个:

    指定的表达式或函数必须返回以下任意一个:

    • 线性模型以D矩阵的形式

    • 控制系统工具箱™LTI模型对象

    • 不确定的状态空间模型或不确定的实体对象(需要强大的控制工具箱软件)

    返回模型的I / O配置必须与指定的块的配置匹配姓名

    类型

    规范类型,指定为以下之一:

    • '表达'

    • '功能'

    参数名称

    线性化函数参数名称,指定为字符向量的单元格数组。指定参数名称只有当类型=“函数”并且您的块线性化功能需要输入参数。这些参数仅影响指定块的线性化。

    您还必须指定相应的blocksub.value.parametervalues.字段。

    parametervalues.

    线性化函数参数值,指定为双精度向量。参数值的顺序必须与blocksub.value.parameternames.parameternames..指定parametervalues.只有当类型=“函数”并且您的块线性化功能需要输入参数。

用于线性化的参数样本,指定为以下之一:

  • Structure -通过指定改变单个参数的值帕纳作为具有以下领域的结构:

    • 姓名-参数名称,指定为字符向量或字符串。您可以指定任何模型参数,它是模型工作空间、MATLAB工作空间或数据字典中的变量。如果模型使用的变量不是标量变量,则将参数名称指定为解析为数值标量值的表达式。例如,使用vector的第一个元素V.作为参数,使用:

      参数。Name ='v(1)'
    • 价值- 参数样本值,指定为双数组。

    例如,更改参数的值一种在10%范围内:

    参数。Name =“一个”;param.value = linspace(0.9 * a,1.1 * a,3);
  • 结构阵列 - 改变多个参数的值。例如,改变参数的值一种B.在10%范围内:

    [A_grid, b_grid] = ndgrid (linspace (0.9 * 1.1 * 3),...linspace (0.9 * b, b 1.1 * 3));Params(1).name =“一个”;params(1).value = a_grid;Params(2).name ='B';params(2).value = b_grid;

有关更多信息,请参阅为批量线性化指定参数样本

如果帕纳仅指定可调参数,软件批处理使用单个模型编译线性化模型。

来计算所需的偏移量LPV系统块,指定帕纳,并设置选项。储层器官真正的.然后,您可以返回额外的线性化信息信息,并使用偏移来提取getoffsetsforlpv.

状态顺序在线化结果,指定为块路径或状态名称的单元格数组。块路径和状态的顺序stateorder中状态的顺序Linsys.

中的任何块都可以指定块路径mdl它们有状态,或任何命名的状态mdl

您不必从中指定每个块和状态mdlstateorder.您指定的状态首先出现Linsys.,其次是其默认订单的剩余状态。

线性化算法选项,指定为线性化选择选项集。

输出参数

全部折叠

线性化结果,作为状态空间模型或状态空间模型阵列返回。尺寸Linsys.取决于指定的参数变化和块替换,以及模型线性化的操作点。

笔记

如果您指定了多个人事处帕纳, 或者blocksub。价值作为一个数组,那么它们的尺寸必须匹配。

参数变化 块替换 线性化...... 由此产生Linsys.方面
没有参数变化 没有阻止替代 模型操作点 单态空间模型
单个工作点,使用指定为工作点对象或快照时间人事处
N1——- - - - - -...——- - - - - -Nm由指定的操作点对象数组人事处 N1——- - - - - -...——- - - - - -Nm
NS.快照,指定为使用快照时的向量人事处 柱矢量长度NS.
N1——- - - - - -...——- - - - - -Nm至少一个块的模型数组,由指定blocksub。价值 模型操作点 N1——- - - - - -...——- - - - - -Nm
单个工作点,使用指定为工作点对象或快照时间人事处
N1——- - - - - -...——- - - - - -Nm操作点数组,使用指定为操作点对象数组人事处
NS.快照,指定为使用快照时的向量人事处 NS.——- - - - - -N1——- - - - - -...——- - - - - -Nm
N1——- - - - - -...——- - - - - -Nm参数网格,指定帕纳 要么没有块替换,要么N1——- - - - - -...——- - - - - -Nm至少一个块的模型数组,由指定blocksub。价值 模型操作点 N1——- - - - - -...——- - - - - -Nm
单个工作点,使用指定为工作点对象或快照时间人事处
N1——- - - - - -...——- - - - - -Nm由指定的操作点对象数组人事处
NS.快照,指定为使用快照时的向量人事处 NS.——- - - - - -N1——- - - - - -...——- - - - - -Nm

例如,假设:

  • 人事处是一个4×3阵列的操作点对象,您不指定参数变体或块替换。在这种情况下,Linsys.是一个4乘3的模型阵列。

  • 人事处是一个操作点对象和帕纳指定一个3×4-by-2参数网格。在这种情况下,Linsys.是一个3×4×2型号阵列。

  • 人事处是有两个元素的正标量的行矢量,你没有指定帕纳.在这种情况下,Linsys.是一个带有两个元素的列向量。

  • 人事处是正标量的柱矢量,有三个元素和帕纳指定5×6参数网格。在这种情况下,Linsys.是一个3 × 5 × 6的模型阵列。

  • 人事处是单个工作点对象,不指定参数变化,并且blocksub。价值是模型中的一个块的2×3模型数组。在这种情况下,Linsys.是一个2乘3的模型数组。

  • 人事处是具有四个元素的正标量的列向量,您不指定参数变体,以及blocksub。价值是模型中的一个块的1×2模型阵列。在这种情况下,Linsys.是一个4乘1乘2的模型数组。

有关模型阵列的更多信息,请参阅模型阵列

模型被线性化的工作点,作为工作点对象或具有相同维度的工作点对象数组返回Linsys..每个元素linop操作点在哪里对应Linsys.模型。

如果您指定人事处作为单个操作点对象或操作点对象数组linop是一份副本人事处。如果你指定人事处作为单个操作点对象,也可以使用使用的参数变体帕纳, 然后linop是一个与参数网格具有相同维度的数组。在这种情况下,元素linop标量扩展副本人事处

要确定模型是否在合理的操作点中线性化,请查看状态和输入linop

线性化信息,作为具有以下字段的结构返回:

对应于模型线性化的操作点的线性化偏移,返回为[]如果选项。储层器官.除此以外,抵消作为以下内容之一返回:

  • 如果Linsys.是一个单一的状态空间模型,然后抵消是一个结构。

  • 如果Linsys.是一系列状态空间模型,然后抵消结构数组是否具有相同的维度Linsys.

每个偏移结构都有以下字段:

场地 描述
X 用于线性化的状态偏移量,返回为长度的列向量NX,在那里NX状态数是多少Linsys.
y 用于线性化的输出偏移,作为长度的列向量返回Ny,在那里Ny是输出的数量Linsys.
用于线性化的输入偏移量,返回为长度的列向量N,在那里N是输入的数量Linsys.
DX. 连续时间系统的导数偏移量或离散时间系统的更新状态值,返回为长度的列向量NX
attnename. 状态名称,作为包含的单元格数组返回NX匹配名称的元素linsys。attnename.
InputName. 输入名称,作为包含N匹配名称的元素linsys.InputName.
outputName. 输出名称,作为包含的单元数组返回Ny匹配名称的元素linsys。outputName.
Ts 线性化系统的采样时间,作为符合采样时间的标量返回linsys。Ts.对于连续时间系统,Ts0.

如果抵消是结构数组,可以配置LPV系统块使用偏移集。为此,请先使用所需格式将它们转换为所需的格式getoffsetsforlpv..例如,看到用LTI系统阵列逼近非线性行为

线性化诊断信息,返回为[]如果选项。StoreAdvisor.除此以外,顾问作为以下内容之一返回:

  • 如果Linsys.是一个单一状态空间模型,顾问是A.线性化道教目的。

  • 如果Linsys.是状态空间模型的数组,顾问线性化道教具有相同尺寸的物体Linsys.

线性化道教对象存储单个线性化块的线性化诊断信息。例如,使用线性化道教对象,参见在命令行下解决线性化结果

更多关于

全部折叠

自定义线性化功能

您可以使用Matlab路径上的自定义函数在Simulink模型中指定块或子系统的替代线性化。万博1manbetx

你的自定义线性化函数必须有一个BlockData输入参数,它是软件创建和传递给功能的结构。BlockData有以下字段:

场地 描述
区块名 您指定自定义线性化的块的名称。
参数 阻止参数值,指定为结构阵列姓名价值字段。参数属性中指定的参数的名称和值blocksub.value.parameternames.parameternames.blocksub.value.parametervalues.字段。
输入

输入信号到您定义线性化的块,指定为具有每个块输入的一个结构的结构阵列。每个结构输入有以下字段:

场地 描述
区块名 块的全块路径,其输出连接到相应的块输入。
portindex. 指定块的输出端口区块名连接到相应的块输入。
价值 所指定的信号值区块名portindex..如果此信号是矢量信号,则价值是一个维度相同的向量。
纽约 块线性化的输出通道数。
ν 块线性化的输入通道数。
BlockLinearization 当前块的默认默认线性化指定为状态空间模型。您可以指定块线性化,这取决于使用默认线性化BlockLinearization

您的自定义函数必须返回模型ν输入和纽约输出。该模型必须是下列模型之一:

  • 线性模型以D矩阵的形式

  • 控制系统工具箱LTI模型对象

  • 不确定的状态空间模型或不确定的实体对象(需要强大的控制工具箱软件)

例如,以下功能将当前默认块线性化乘以延迟Td = 0.5秒。延迟由具有采样时间的Thiran滤波器表示TS = 0.1.延迟和采样时间是存储在的参数BlockData

功能sys = myCustomFunction(BlockData) Td = BlockData. parameters (1).Value;Ts = BlockData.Parameters (2) value;sys = BlockData.BlockLinearization * Thiran (Td, Ts);结尾

将此功能保存到MATLAB路径上的位置。

要将此功能用作块或子系统的自定义线性化,请指定blocksub.Value.Specificationblocksub.Value.Type字段。

blocksub.Value.Specification ='mycustomfunction';blocksub.Value.Type ='功能'

要设置延迟和采样时间参数值,请指定blocksub.value.parameternames.parameternames.blocksub.value.parametervalues.字段。

blocksub.value.parameternames = {'td''ts'};blocksub.Value.ParameterValues = [0.5 0.1];

算法

全部折叠

线性化模型属性

默认情况下,线性化自动设置以下Simulink模型属性:万博1manbetx

  • bufferreuse ='关'

  • RTWINLINEPARAMETERS ='ON'

  • blockreductionopt ='关闭'

  • SaveFormat = ' StructureWithTime '

线性化后,Simulink恢复了原始模型属万博1manbetx性。

逐块线性化

万博1manbetxSimulink控制设计™软件使用逐个块方法线性化模型。该软件在Simulink模型中单独地线性化每个块,并通过组合各个块线性化来产生整个系统的线性化。万博1manbetx

该软件从操作点确定每个块的输入和状态级别,并在这些级别获取每个块的Jacobian。

对于某些块,软件不能以这种方式计算分析线性化。例如:

  • 一些非线性没有定义的雅蟒。

  • 一些离散块,如状态图和触发子系统,趋向于线性化为零。

  • 有些块不实现雅可比。

  • 自定义块,例如S函数块和MATLAB函数块,没有分析雅加索人。

您可以为任何已知预期线性化的此类块指定自定义线性化。如果您没有指定自定义线性化,软件将通过扰动块输入和状态并测量对这些扰动的响应来线性化模型。对于每个输入和状态,默认扰动级别为:

  • 10. - 5. 1 + | X | 对于双精度值。

  • 0.005 1 + | X | 为单精度值。

这里,X是操作点处的相应输入或状态的值。有关如何更改单个块的扰动级别的信息,请参阅在线性化过程中改变扰动嵌段的扰动水平

有关更多信息,请参阅线性化非线性模型精确线性化算法

全模型数值摄动

您可以使用全型号数字扰动来线性化系统,其中软件通过扰乱根级输入和状态的值来计算完整模型的线性化。为此,创建一个线性化选择对象并设置线性化学算法属性为以下内容之一:

  • “numericalpert”-使用正向差分扰动输入和状态;也就是说,通过向输入和状态值添加扰动。这种扰动方法通常比'numericalpert2'方法。

  • 'numericalpert2'-利用中心差分扰动输入和状态;也就是说,通过在正方向和负方向上扰动输入值和状态值。这种摄动方法通常比传统的方法更精确“numericalpert”方法。

对于每个输入和状态,软件对模型进行摄动,并根据模型对这些摄动的响应计算一个线性模型。属性可以配置状态和输入扰动级别numericalpertrel.线性化选项。

逐块线性化与全型数字扰动有几个优点:

  • 大多数Si万博1manbetxmulink块具有预编程的线性化,可提供块的精确线性化。

  • 您可以使用线性分析点来指定要线性化的模型的一部分。

  • 您可以配置块以使用自定义线性化,而不会影响模型仿真。

  • 在结构上删除了结构上的非生物状态。

  • 您可以指定包含不确定性的线性化(需要强大的控制工具箱软件)。

  • 可以获取详细的诊断信息。

  • 线性化多速率模型时,可以使用不同的速率转换方法。全型数值扰动只能使用零阶保持速率转换。

有关更多信息,请参阅线性化非线性模型精确线性化算法

备择方案

作为替代品线性化功能,您可以使用以下方法之一线性化模型:

虽然两者万博1manbetx仿真软件控制设计软件和Simulink万博1manbetxLinmod.函数执行逐块线性化,万博1manbetx仿真软件控制设计线性化功能具有更灵活的用户界面,并使用控制系统工具箱数值算法。有关更多信息,请参阅使用Simulink控制设计与Simul万博1manbetxink的线性化

在R2006A介绍