主要内容

线性化

线性逼近金宝app模型或子系统

描述

例子

linsys=线性化(MDLIO.)返回非线性Simulink的线性近似金宝app®模型MDL使用中指定的分析点在模型工作点IO..如果您省略IO., 然后线性化使用模型的根级导入和输出作为分析点。

例子

linsys=线性化(MDLIO.op.)在线性化工作点模型op.

例子

linsys=线性化(MDLIO.参数)使用中指定的参数值变化将模型线性化参数.您可以根据模型工作区,MATLAB中的变量提供任何型号参数®工作区或数据字典。

例子

linsys=线性化(MDLIO.blocksub)中指定的替代块或子系统线性化将模型线性化blocksub

例子

linsys=线性化(MDLIO.选项)使用额外的线性化选项将模型线性化。

linsys=线性化(MDLIO.op.参数blocksub选项)线性化模型使用任何组合op.参数blocksub, 和选项按任何顺序。

例子

linsys=线性化(MDLblockpath)返回模型中的块或子系统的线性近似MDL规定,blockpath在该模型的工作点。该软件隔离模型的线性化前的休息块。

例子

linsys=线性化(MDLblockpathop.)在工作点线性化块或子系统op.

linsys=线性化(MDLblockpath参数)中指定的参数值变化将块或子系统线性化参数.您可以使用模型工作空间、MATLAB工作空间或数据字典中的变量给出的值来改变任何模型参数。

linsys=线性化(MDLblockpathblocksub)中指定的替代块或子系统线性化块或子系统blocksub

linsys=线性化(MDLblockpath选项)线性化使用额外的线性化选项块或子系统。

linsys=线性化(MDLblockpathop.参数blocksub选项)使用任意组合线性化块或子系统op.参数blocksub, 和选项按任何顺序。

例子

linsys=线性化(___“StateOrder”,stateorder)为任何前面的语法指定线性化模型中状态的顺序。

例子

linsyslinop) =线性化(___)返回模型被线性化时的工作点。在对模拟快照进行线性化或在线性化过程中改变参数时使用此语法。

例子

linsyslinop信息) =线性化(___)返回额外的线性化信息。选择要返回的线性化信息信息,启用相应的选项选项

例子

全部收缩

打开Simulin金宝appk模型。

mdl =“watertank”;open_system(MDL)

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

io (1) = linio (“watertank / PID控制器”, 1“输入”);

在指定的水箱系统块的输出线性化输出点。指定输出点开环移除所述线性反馈信号的影响,而不改变模型的工作点。

io (2) = linio (“watertank /水箱系统”, 1“openoutput”);

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

linsys =线性化(mdl, io);

linsys为模型工作点处被试的线性近似。

打开Simulin金宝appk模型。

mdl =“magball”;open_system(MDL)

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

opspec = operspec (mdl);opspec.States(5)。= 1;opspec.States(5)。x = 0.05;

修剪模型以找到工作点。

选择= findopOptions (“DisplayReport”'离开');op = condop(mdl,opspec,选项);

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

io (1) = linio ('magball /期望的高度', 1“输入”);io (2) = linio (“magball /磁球工厂”, 1'输出');

使用指定的I/O集在指定的工作点对模型进行线性化。

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

打开Simulin金宝appk模型。

mdl =“watertank”;open_system(MDL)

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

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

模拟sys为了10.秒并线性化模型。

linsys =线性化(mdl io 10);

打开Simulin金宝appk模型。

mdl =“scdcascade”;open_system(MDL)

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

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);

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

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

PARAMS是一个6乘4的参数值网格,其中每个网格点对应一个唯一的组合Kp1Ki1值。

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

io (1) = linio (“scdcascade /选点”, 1“输入”);io (2) = linio (“scdcascade /总和”, 1'输出');

在模型工作点使用指定的参数值对模型进行线性化。

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

打开Simulin金宝appk模型。

mdl =“scdpwm”;open_system(MDL)

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

io = getlinio (mdl);

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

Linsys =线性化(MDL,IO)
linsys = D = Step Plant Model 0静态增益

电压到PWM块的不连续导致模型线性化为零。若要在线性化期间将此块作为单位增益处理,请指定该块的替代线性化。

blocksub.name =“scdpwm /电压PWM”;blocksub.Value = 1;

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

linsys =线性化(mdl blocksub io)
linsys = A = State Space(State Space) (State Space(0.9999 -0.0001 State Space(0.0001 1 State Space)) B = Step State Space(0.0001 State Space) (5e-09) C = State Space(State Space) (State Space(Plant Model 01)) D = Step Plant Model 0采样时间:0.0001秒

打开Simulin金宝appk模型。

mdl =“watertank”;open_system(MDL)

要将水箱系统模块线性化,请指定线性化输入和输出。

io (1) = linio (“watertank / PID控制器”, 1“输入”);io (2) = linio (“watertank /水箱系统”, 1“openoutput”);

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

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

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

linsys =线性化(mdl、io、期权)
linsys = A = H H 0.995 B = PID控制研究ħ0.02494 C = h进水罐S1中d = PID控制研究水储罐秒0采样时间:0.1秒离散时间状态空间模型。

线性化的对象是采样时间为的离散状态空间模型0.1

打开Simulin金宝appk模型。

mdl =“watertank”;open_system(MDL)

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

blockpath =“watertank /水箱系统”

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

linsys =线性化(MDL,blockpath);

打开仿真软金宝app件模型。

mdl =“magball”;open_system(MDL)

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

opspec = operspec (mdl);opspec.States(5)。= 1;opspec.States(5)。x = 0.05;
选择= findopOptions (“DisplayReport”'离开');op = condop(mdl,opspec,选项);

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

blockpath =“magball /磁球工厂”

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

linsys =线性化(mdl blockpath, op);

打开Simulin金宝appk模型。

mdl =“magball”;open_system(MDL)

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

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

查看线性化工厂的默认状态顺序。

linsys.StateName
ans = 3x1 cell array {'height'} {'Current'} {'dhdt'}

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

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

查看新的状态命令。

linsys.StateName
ans = 3x1 cell array {'height'} {'dhdt'} {'Current'}

打开Simulin金宝appk模型。

mdl =“watertank”;open_system(MDL)

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

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

模拟sys将模型线性化010.秒。返回对应于这些快照时的操作点;也就是说,模型线性化的操作点。

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

打开Simulin金宝appk模型。

mdl =“watertank”;open_system(MDL)

变化的参数一个b在其标称值的10%以内。

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

创建一个参数结构数组,为每个参数指定名称和网格点。

参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

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

opspec = operspec (mdl);

使用指定的操作点规范、参数网格对模型进行修剪。抑制操作点搜索报表的显示。

选择= findopOptions (“DisplayReport”'离开');[OP,opreport] = findop(MDL,opspec,则params,优化);

op.是一个3乘4的工作点对象数组,对应于指定的参数网格点。

为植物模型指定块路径。

blockpath =“watertank /期望的水位”

要在线性化期间存储偏移,请创建一个线性化选项设置和设置StoreOffsets真的

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

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

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

你可以使用在信息。偏移量当配置LPV System块时。

信息。偏移量
ans = 3x4 struct array with fields

输入参数

全部收缩

金宝appSimulink模型的名称,指定为矢量字符或字符串。该模型必须是在当前工作文件夹或MATLAB的路径。

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

  • 使用。定义输入、输出和开口linio

  • 如果在Simulink模型中指定的输入,输出,和开口,使用从模型提取这些分金宝appgetlinio

每个线性化I/O对象IO.必须对应于Simulink模型金宝appMDL或者模型层次结构中的一些普通模式模型引用。

如果您省略IO., 然后线性化使用模型的根级导入和输出作为分析点。

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

线性化的工作点,指定为下列之一:

  • 操作点对象,使用:

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

  • 正标量的矢量代表一个或多个模拟快照倍。该软件模拟sys并在指定的快照时间将模型线性化。

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

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

  • 影响模型的工作点,然后指定op.作为运行点的具有相同尺寸作为参数值的网格阵列。为了获得工作点相对应的参数值组合,批量使用修剪模型参数在线性化。有关更多信息,请参见从参数变体导出的多个操作点的批次线性化模型

  • 不影响模型的工作点,然后指定op.作为一个操作点。

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

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

代替线性化的块和子系统,指定为一个结构或n×1结构阵列,其中n是要指定线性化的块的数量。使用blocksub指定块或子系统的自定义的线性化。例如,您可以指定不具备分析线性化,如用不连续或触发子系统块块线性化。

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

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

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

将block替换为线性化,指定为以下方式之一:

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

  • 双精度数组-指定MIMO块的线性化nu——- - - - - -ny增益值数组,在哪里nu输入和的数量是多少ny为输出数。

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

  • LTI模型,不确定的状态空间模型,或不确定真正的对象数组 - 批量使用多块替代线性模型。O配置中的阵列中的每个模型必须要为其指定自定义的线性化块的配置相匹配的I /。如果你:

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

    • 指定op.作为操作点和的数组价值作为一个模型数组,价值必须的大小相匹配op.

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

  • 具有以下字段的结构:

    场地 描述
    规格

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

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

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

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

    • 不确定状态空间模型或不确定实物(需要鲁棒控制工具箱软件)

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

    类型

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

    • “表情”

    • '功能'

    parameternames.

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

    您还必须指定相应的blocksub.Value.ParameterValues字段。

    ParameterValues

    线性化函数参数值,指定为双打的向量。参数值的顺序必须对应于参数名称的顺序blocksub.Value.ParameterNames.指定ParameterValues只有当类型=“函数”块线性化函数需要输入参数。

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

  • 结构 - 改变一个参数的值,通过指定参数作为一个具有以下字段的结构:

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

      param.Name =“V(1)”
    • 价值—参数样本值,指定为双数组。

    例如,改变参数的值一个在10%的范围:

    param.Name =“一个”;参数。价值= 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));参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

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

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

为了计算由所需的偏移LPV系统块,指定参数,并设置options.StoreOffsets真的.然后可以返回额外的线性化信息信息,并使用偏移来提取getoffsetsforlpv.

线性化结果中的状态顺序,指定为块路径或状态名的单元格数组。中的块路径和状态的顺序stateorder表明国家的顺序linsys

中的任何块都可以指定块路径MDL有状态,或在任何指定的状态MDL

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

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

输出参数

全部收缩

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

笔记

如果您指定了多个op.参数,或blocksub.Value作为数组,那么它们的维数必须匹配。

参数变化 区块取代 线性化在… 由此产生linsys方面
没有参数变化 没有块替换 模型操作点 状态空间模型单
单个操作点,指定为操作点对象或使用快照时间op.
N1——- - - - - -...——- - - - - -N由指定的操作点对象数组op. N1——- - - - - -...——- - - - - -N
N年代快照,指定为使用快照时间的向量op. 长度列向量N年代
N1——- - - - - -...——- - - - - -N模型数组的至少一个块,由blocksub.Value 模型操作点 N1——- - - - - -...——- - - - - -N
单个操作点,指定为操作点对象或使用快照时间op.
N1——- - - - - -...——- - - - - -N操作点数组,指定为操作点对象数组op.
N年代快照,指定为使用快照时间的向量op. N年代——- - - - - -N1——- - - - - -...——- - - - - -N
N1——- - - - - -...——- - - - - -N参数网格,由参数 要么没有块替换,要么N1——- - - - - -...——- - - - - -N模型数组的至少一个块,由blocksub.Value 模型操作点 N1——- - - - - -...——- - - - - -N
单个操作点,指定为操作点对象或使用快照时间op.
N1——- - - - - -...——- - - - - -N由指定的操作点对象数组op.
N年代快照,指定为使用快照时间的向量op. N年代——- - - - - -N1——- - - - - -...——- - - - - -N

例如,假设:

  • op.是操作点对象的4乘3数组,且不指定参数变化或块替换。在这种情况下,linsys是一个4×3模型排列。

  • op.是单操作点对象和参数指定一个3 × 4 × 2的参数网格。在这种情况下,linsys是一个3 × 4 × 2的模型阵列。

  • op.一个正标量的行向量有两个元素你没有指定吗参数.在这种情况下,linsys是一个有两个元素的列向量。

  • op.一个正标量的列向量有三个元素和吗参数指定一个5乘6的参数网格。在这种情况下,linsys是一个3×5×6模型排列。

  • op.是一个操作点对象,您不指定参数变体,以及blocksub.Value是模型中一个块的2 × 3模型数组。在这种情况下,linsys是一个2乘3的模型数组。

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

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

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

如果您指定op.作为单个操作点对象或操作点对象的数组,然后linop是一份op..如果您指定op.作为单个操作点对象,也可以使用使用的参数变体参数, 然后linop是具有相同的尺寸与参数网格阵列。在这种情况下,中的元素linop的标量扩展副本op.

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

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

对应于模型线性化的操作点的线性化偏移,返回为[]如果options.StoreOffsets错误的.否则,偏移量以下列方式之一返回:

  • 如果linsys那么,是一个单一的状态空间模型吗偏移量是一个结构。

  • 如果linsys是状态空间模型的数组吗偏移量结构数组是否具有相同的维度linsys

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

场地 描述
x 用于线性化状态的偏移,返回作为长度的列向量nx,在那里nx是国家在数linsys
y 用于线性化的输出偏移,作为长度的列向量返回ny,在那里ny输出的数量在吗linsys
u 用于线性化的输入偏移量,返回为长度的列向量nu,在那里nu输入的数量是多少linsys
DX. 连续时间系统的或更新的状态值离散时间系统,返回作为长度的列向量衍生物偏移nx
StateName 状态名称,返回为包含nx匹配名称的元素linsys.StateName
InputName. 输入名称,作为包含的单元格数组返回nu匹配名称的元素linsys。InputName.
OutputName 输出名称,返回为包含ny匹配名称的元素linsys.OutputName
Ts 线性化系统的采样时间,作为与采样时间相匹配的标量返回linsys.Ts.对于连续时间系统,Ts0

如果偏移量是一个结构阵列,则可以配置一个LPV系统使用偏移量阻塞。要做到这一点,首先使用getoffsetsforlpv..例如,请参见使用LTI系统数组近似非线性行为

线性化的诊断信息,返回[]如果选项。StoreAdvisor错误的.否则,顾问以下列方式之一返回:

  • 如果linsys是一个单一状态空间模型,顾问是一个LinearizationAdvisor对象。

  • 如果linsys是状态空间模型的数组,顾问是阵列LinearizationAdvisor与相同尺寸的对象linsys

LinearizationAdvisor对象存储单个线性化块的线性化诊断信息。有关使用a故障排除线性化结果的示例LinearizationAdvisor对象,看到故障排除在命令行线性化结果

更多关于

全部收缩

自定义线性化函数

您可以在MATLAB路径上使用自定义函数指定Simulink模型中的块或子系统的替代线性化。金宝app

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

场地 描述
blockname. 要为其指定自定义线性化的块的名称。
参数 块参数值,指定为结构数组的名字价值字段。参数属性中指定的参数的名称和值blocksub.Value.ParameterNamesblocksub.Value.ParameterValues字段。
输入

要为其定义线性化的块的输入信号,指定为每个块输入具有一个结构的结构数组。每一个结构输入有以下字段:

场地 描述
blockname. 块的全块路径,其输出连接到相应的块输入。
PortIndex 指定块的输出端口blockname.它连接到相应的块输入。
通过指定的信号的值blockname.PortIndex.如果这个信号是矢量信号,那么是具有相同维数的矢量。
纽约 块线性化的输出通道数。
nu. 块线性化的输入通道数。
BlockLinearization 块的当前默认线性化,指定为状态空间模型。您可以指定一个依赖于默认线性化的块线性化BlockLinearization

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

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

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

  • 不确定状态空间模型或不确定实物(需要鲁棒控制工具箱软件)

例如,下面的函数将当前默认的块线性化乘以Td = 0.5秒。延迟由带有采样时间的Thiran滤波器表示t = 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.ParameterNamesblocksub.Value.ParameterValues字段。

blocksub.value.parameternames = {“Td”'ts'};blocksub.Value.ParameterValues = [0.5 0.1]。

算法

全部收缩

线性化的模型性质

默认情况下,线性化自动设置以下Simulink模型属性:金宝app

  • BufferReuse = '了'

  • RTWInlineParameters = ' '

  • BlockReductionOpt = '了'

  • SaveFormat = ' StructureWithTime '

线性化后,Simulink恢复了原始模型属金宝app性。

一个线性化

金宝appSimulink Control Design™软件使用一个块一个块的方法来线性化模型。该软件将Simulink模型中的每个块单独线性化,并通过组合单个块的线性化来产生整个系统的线性化。金宝app

该软件从操作点确定每个块的输入和状态级别,并获得这些级别上每个块的雅可比矩阵。

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

  • 一些非线性没有定义雅可比矩阵。

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

  • 有些块不实现雅可比矩阵。

  • 自定义块,例如功能块和Matlab功能块,没有分析雅加索人。

您可以为您知道预期的线性任何这样的块指定自定义的线性化。如果不指定自定义的线性化,该软件通过扰乱块输入和状态,并测量到这些扰动的响应线性化模型。对于每一个输入和状态,默认的扰动水平是:

  • 10. 5 1 + | x | ) 对于双精度值。

  • 0.005 1 + | x | ) 为单精度值。

在这里,x为操作点对应的输入或状态的值。有关如何更改单个块的扰动级别的信息,请参见在线性化过程中改变被摄块的摄动水平

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

全型号数值扰动

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

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

  • “numericalpert2”- 使用中央差异扰乱输入和状态;也就是说,通过扰乱正面和负方向的输入和状态值。这种扰动方法通常比该方法更准确'numericalpert'方法。

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

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

  • 大多数Si金宝appmulink块具有预编程的线性化,可提供块的精确线性化。

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

  • 您可以配置块来使用自定义线性化,而不影响您的模型模拟。

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

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

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

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

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

备择方案

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

虽然两金宝appSimulink控制设计软件和Simulink金宝applinmod函数执行逐块线性化,金宝appSimulink控制设计线性化功能具有更灵活的用户界面和使用控制系统工具箱数值算法。有关更多信息,请参见使用Simulink控制设计与Simul金宝appink的线性化

在R2006A介绍