线性近似的金宝app模型或子系统
打开仿真软件模型。金宝app
mdl =“watertank”;open_system (mdl)
指定一个线性化在PID控制器的输出输入块,这是水箱系统的输入信号。
io (1) = linio (“watertank / PID控制器”,1“输入”);
指定一个线性化输出点水箱系统的输出块。指定输出点开环去除的影响反馈信号在线性化而不改变模型的操作点。
io (2) = linio (“watertank /水箱系统”,1“openoutput”);
使用指定的I / O线性化模型。
linsys =线性化(mdl, io);
linsys
是植物的线性近似模型操作点。
打开仿真软件模型。金宝app
mdl =“magball”;open_system (mdl)
找到一个稳态操作点的球高度0.05
。创建一个默认的操作规范,并设置高度状态已知值。
opspec = operspec (mdl);opspec.States (5)。= 1;opspec.States (5)。x = 0.05;
削减模型找到操作点。
选择= findopOptions (“DisplayReport”,“关闭”);op = findop (mdl、opspec选项);
指定输入和输出信号线性化计算闭环传递函数。
io (1) = linio (“magball /期望的高度”,1“输入”);io (2) = linio (“magball /磁球工厂”,1“输出”);
线性化模型在指定使用指定的I / O操作点设置。
linsys =线性化(mdl io, op);
打开仿真软件模型。金宝app
mdl =“watertank”;open_system (mdl)
先计算闭环传递函数,指定输入和输出信号线性化。
io (1) = linio (“watertank / PID控制器”,1“输入”);io (2) = linio (“watertank /水箱系统”,1“输出”);
模拟sys
为10
秒,线性化模型。
linsys =线性化(mdl io 10);
打开仿真软件模型。金宝app
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);
创建一个参数值结构和字段的名字
和价值
。
参数(1)。Name =“Kp1”;参数(1)。价值= Kp1_grid; params(2).Name =“Ki1”;参数(2)。价值= Ki1_grid;
参数个数
6-by-4参数值的网格,每个网格点对应于一个独一无二的结合Kp1
和Ki1
值。
定义输入和输出点线性化计算系统的闭环响应。
io (1) = linio (“scdcascade /选点”,1“输入”);io (2) = linio (“scdcascade /总和”,1“输出”);
线性化模型的模型操作点使用指定的参数值。
linsys =线性化(mdl io, params);
打开仿真软件模型。金宝app
mdl =“scdpwm”;open_system (mdl)
从模型中提取线性化的输入和输出。
io = getlinio (mdl);
线性化模型的模型操作点。
io linsys =线性化(mdl)
linsys = D =一步植物模型0静态增益。
电压PWM的不连续块导致模型线性化零。将此块作为一个单元获得在线性化过程中,指定一个替代线性化这一块。
blocksub。Name =“scdpwm /电压PWM”;blocksub.Value= 1;
线性化模型使用指定的块替换。
linsys =线性化(mdl blocksub io)
linsys = =状态空间(状态空间(状态空间(0.9999 - -0.0001状态空间(0.0001 - 1 B = 0.0001步骤状态空间(状态空间(5 e-09 C =状态空间(状态空间(工厂模式0 0 1 D =一步植物模型样品时间:0.0001秒离散时间状态空间模型。
打开仿真软件模型。金宝app
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 = = H H 0.995 B = PID控制H C = 0.02494 H水箱1 D = PID控制水箱年代0样品时间:0.1秒离散时间状态空间模型。
线性化的植物是一个离散时间状态空间模型与样本的时间0.1
。
打开仿真软件模型。金宝app
mdl =“watertank”;open_system (mdl)
指定块完整的块路径你想线性化。
blockpath =“watertank /水箱系统”;
指定块的线性化模型操作点。
blockpath linsys =线性化(mdl);
打开仿真软金宝app件模型。
mdl =“magball”;open_system (mdl)
找到一个稳态操作点的球高度0.05
。创建一个默认的操作规范,并设置高度状态已知值。
opspec = operspec (mdl);opspec.States (5)。= 1;opspec.States (5)。x = 0.05;
选择= findopOptions (“DisplayReport”,“关闭”);op = findop (mdl、opspec选项);
指定块的块路径要线性化。
blockpath =“magball /磁球工厂”;
在指定的操作点线性化指定的块。
linsys =线性化(mdl blockpath, op);
打开仿真软件模型。金宝app
mdl =“magball”;open_system (mdl)
线性化模型的工厂操作点。
blockpath =“magball /磁球工厂”;blockpath linsys =线性化(mdl);
查看默认状态为线性化的植物。
linsys.StateName
ans = 3 x1单元阵列{“高度”}{‘当前’}{' dhdt '}
线性化的植物和重新排序的线性化模型。的变化率高度设置为第二个国家。
stateorder = {“magball /磁球工厂/高度”;…' magball /磁球工厂/ dhdt ';…“magball /磁球工厂/电流”};linsys =线性化(mdl blockpath,“StateOrder”,stateorder);
查看新的国家秩序。
linsys.StateName
ans = 3 x1单元阵列{“高度”}{‘dhdt}{‘当前’}
打开仿真软件模型。金宝app
mdl =“watertank”;open_system (mdl)
先计算闭环传递函数,指定输入和输出信号线性化。
io (1) = linio (“watertank / PID控制器”,1“输入”);io (2) = linio (“watertank /水箱系统”,1“输出”);
模拟sys
并线性化模型0
和10
秒。返回操作对应于这些快照时间点;也就是说,操作点线性化的模型。
[linsys, linop] =线性化(mdl io, [0, 10]);
打开仿真软件模型。金宝app
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,选择);
人事处
是一个3×4指定的操作点对应的对象数组参数网格点。
为工厂指定块路径模型。
blockpath =“watertank /期望的水位”;
存储在线性化补偿,创建一个线性化选项设置和设置StoreOffsets
来真正的
。
选择= linearizeOptions (“StoreOffsets”,真正的);
批处理线性化的植物修剪操作点,使用指定的I / O点和参数变化。
[linsys、linop信息]=线性化(mdl blockpath, op,参数,选项);
您可以使用补偿info.Offsets
在配置一个LPV系统块。
info.Offsets
ans = 3 x4结构体数组字段:dx u y StateName InputName OutputName Ts
mdl
- - - - - -金宝app仿真软件模型名称金宝app仿真软件模型名称,指定为一个字符或字符串向量。模型必须在当前工作目录或MATLAB路径。
io
- - - - - -分析点集分析点集,包含输入、输出和开口,指定为一个线性化的I / O对象或一个向量的线性化的I / O对象。创建io
:
每个I / O线性化对象io
必须对应于模型的模型金宝appmdl
或者一些正常模式在模型层次结构模型参考。
如果您省略io
,然后线性化
使用的根港口和外港水平模型分析点。
有关指定线性化的更多信息输入,输出,和开口,看到指定的部分模型线性化。
人事处
- - - - - -操作点线性化操作点,指定为以下之一:
操作点对象,创建使用:
操作点对象的数组,指定多个操作点。创建一个操作点对象数组,您可以:
提取操作分多个快照的时候使用findop
。
批修剪你的模型使用多个操作点规范。有关更多信息,请参见批处理计算稳态操作分多个规格。
批修剪你的模型使用参数变化。有关更多信息,请参见批处理计算稳态操作点参数变化。
积极标量的向量代表一个或多个模拟快照时间。软件模拟sys
在指定的快照时间和渗流模型。
如果你还使用指定参数变化参数
每个快照时间,软件模拟了模型和参数网格点的组合。这个操作可以计算昂贵。
如果你使用指定参数变化参数
和参数:
影响模型的操作点,然后指定人事处
数组的维数相同的操作点的网格参数值。获取对应的操作点参数值组合,批修剪你的模型使用参数
在线性化。有关更多信息,请参见批处理多个操作点线性化模型来源于参数变化。
不影响模型操作点,然后指定人事处
作为一个操作点。
blockpath
- - - - - -块或子系统块或子系统的线性化,指定为一个特征向量或字符串包含完整块路径。
软件对港口和外港指定块的开环输入和输出,从模型的其余部分隔离块线性化。
blocksub
- - - - - -用线性化代替块和子系统用线性化代替块和子系统,作为一个结构或一个指定的n1结构数组,在那里n是块的数量,你想指定一个线性化。使用blocksub
为一块指定一个自定义的线性化或子系统。例如,您可以指定线性化块没有分析线性化,如与不连续块或触发子系统。
研究的影响不同的块模型的线性化动力学,可以批处理线性化模型通过指定多个块替代线性化。
每个替代线性化结构有以下字段:
的名字
——块路径块的块你想指定线性化,指定为一个字符或字符串向量。
价值
——替代线性化用线性化代替,指定为以下之一:
双——指定一块输出的线性化。
一系列双打——指定MIMO块作为一个的线性化nu——- - - - - -ny阵列增益值,nu输入和数量吗ny是输出的数量。
LTI模型、状态空间模型不确定或不确定的实际对象的I / O配置指定的模型必须匹配指定的块的配置的名字
。使用一个不确定的模型需要鲁棒控制工具箱™软件。
阵列的线性时不变模型不确定的状态空间模型,或者不确定真正的对象——批线性化模型使用多个块替换。的I / O配置数组中的每个模型必须匹配的配置块为你指定一个自定义的线性化。如果你:
结构有以下字段:
场 | 描述 |
---|---|
规范 |
块线性化,指定为一个特征向量包含下列之一:
指定的表达式或函数必须返回下列之一:
返回的I / O配置模型必须匹配指定的块的配置 |
类型 |
规范类型,指定为以下之一:
|
ParameterNames |
线性化函数参数名称,指定为一个单元阵列的特征向量。指定 您还必须指定相应的 |
ParameterValues |
线性化函数参数值,指定为一个向量的双打。参数值的顺序必须与参数名称的顺序相对应 |
参数
- - - - - -参数样本对线性化参数样本,指定为以下之一:
结构,通过指定一个参数的值不同参数
作为一个结构与以下字段:
的名字
参数名称,指定为一个字符或字符串向量。您可以指定任何一个变量在模型中模型参数工作区,MATLAB工作区,或数据字典。如果使用的变量模型不是一个标量变量,参数名称指定为一个表达式解析为一个数字标量值。例如,使用向量的第一个元素V
作为一个参数,使用:
参数。Name =“V (1)”;
价值
——参数样本值,指定为数组的两倍。
例如,不同参数的值一个
在10%范围:
参数。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
。
选项
- - - - - -线性化算法的选择linearizeOptions
选项设置线性化算法选项,指定为一个linearizeOptions
选项设置。
linsys
——线性化的结果线性化的结果,返回数组或状态空间模型的状态空间模型。的尺寸linsys
取决于指定的参数变化和块替换,和操作点的线性化模型。
参数变化 | 块替换 | 线性化在… | 结果linsys 维 |
---|---|---|---|
没有参数变化 | 没有块替换 | 模型操作点 | 状态空间模型单 |
单一的操作点,指定为一个操作对象或快照时间点人事处 |
|||
N1——- - - - - -… ——- - - - - -N米操作点对象的数组,指定的人事处 |
N1——- - - - - -… ——- - - - - -N米 |
||
N年代快照,快照的指定为一个向量乘以人事处 |
列向量的长度N年代 | ||
N1——- - - - - -… ——- - - - - -N米模型数组至少一个街区,规定blocksub.Value |
模型操作点 | N1——- - - - - -… ——- - - - - -N米 |
|
单一的操作点,指定为一个操作对象或快照时间点人事处 |
|||
N1——- - - - - -… ——- - - - - -N米数组的操作点,指定为一个操作点对象数组使用人事处 |
|||
N年代快照,快照的指定为一个向量乘以人事处 |
N年代——- - - - - -N1——- - - - - -… ——- - - - - -N米 |
||
N1——- - - - - -… ——- - - - - -N米电网参数,指定的参数 |
没有块替换或一个N1——- - - - - -… ——- - - - - -N米模型数组至少一个街区,规定blocksub.Value |
模型操作点 | N1——- - - - - -… ——- - - - - -N米 |
单一的操作点,指定为一个操作对象或快照时间点人事处 |
|||
N1——- - - - - -… ——- - - - - -N米操作点对象的数组,指定的人事处 |
|||
N年代快照,快照的指定为一个向量乘以人事处 |
N年代——- - - - - -N1——- - - - - -… ——- - - - - -N米 |
例如,假设:
人事处
4-by-3数组的操作对象和你没有指定参数变化或块替换。在这种情况下,linsys
是一个数组4-by-3模型。
人事处
是一个单一的操作对象和参数
指定一个3-by-4-by-2参数网格。在这种情况下,linsys
是一个数组3-by-4-by-2模型。
人事处
是积极的行向量标量和两个元素没有指定吗参数
。在这种情况下,linsys
是一个列向量的两个元素。
人事处
是一个列向量的积极和三个元素和标量吗参数
指定一个5-by-6参数网格。在这种情况下,linsys
是一个数组3-by-5-by-6模型。
人事处
是一个操作点对象,您没有指定参数变化,然后呢blocksub.Value
是一个2×3模型阵列模型中的一个街区。在这种情况下,linsys
数组是一个2×3的模型。
人事处
是一个列向量的积极标量有四个元素,您没有指定参数变化,然后呢blocksub.Value
是一个1×2模型阵列模型中的一个街区。在这种情况下,linsys
是一个数组4-by-1-by-2模型。
有关阵列模型的更多信息,请参阅模型阵列(控制系统工具箱)。
信息
——线性化信息线性化的信息,作为结构返回以下字段:
偏移量
——线性化补偿[]
(默认)| |结构数组线性化补偿,对应的操作点模型线性化,返回[]
如果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 。对于连续时间系统,Ts 是0 。 |
如果偏移量
是一个结构数组,您可以配置一个吗LPV系统使用补偿块。为此,首先将其转换成所需的格式使用getOffsetsForLPV
。例如,看到的线性时不变系统的近似非线性行为使用数组。
顾问
——线性化诊断信息[]
(默认)|LinearizationAdvisor
对象数组|LinearizationAdvisor
对象线性化诊断信息,返回[]
如果options.StoreAdvisor
是假
。否则,顾问
返回以下之一:
如果linsys
是一个单,状态空间模型顾问
是一个LinearizationAdvisor
对象。
如果linsys
是一个整数数组模型,顾问
是一个数组的LinearizationAdvisor
对象与相同的维数linsys
。
LinearizationAdvisor
对象存储为个人线性化线性化诊断信息块。对故障诊断的一个例子使用线性化的结果LinearizationAdvisor
对象,看到排除在命令行线性化的结果。
您可以指定一个替代线性化块或子系统中使用自定义函数在MATLAB仿真软件模型路径。金宝app
您的自定义线性化函数必须有一个BlockData
输入参数,这是一个结构,软件创建和传递函数。BlockData
有以下字段:
场 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
BlockName |
名字的块你指定一个自定义的线性化。 | ||||||||
参数 |
块的参数值,指定为一个结构数组的名字 和价值 字段。参数 包含您所指定的参数的名称和值blocksub.Value.ParameterNames 和blocksub.Value.ParameterValues 字段。 |
||||||||
输入 |
输入信号的块你定义一个线性化,指定为一个结构和一个结构数组每一块的输入。每一个结构
|
||||||||
纽约 |
块的输出通道数线性化。 | ||||||||
ν |
块的输入通道数线性化。 | ||||||||
BlockLinearization |
当前块的默认线性化状态空间模型作为一个指定。您可以指定一个块线性化,取决于使用默认的线性化BlockLinearization 。 |
定制函数必须返回一个模型ν
输入和纽约
输出。这个模型必须是下列之一:
线性模型的形式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.Specification
和blocksub.Value.Type
字段。
blocksub.Value.Specification=“myCustomFunction”;blocksub.Value.Type=“函数”;
设置延迟和样品时间参数值,指定blocksub.Value.ParameterNames
和blocksub.Value.ParameterValues
字段。
blocksub.Value.ParameterNames= {“Td”,“t”};blocksub.Value.ParameterValues= [0.5 0.1];
默认情况下,线性化
自动设置以下仿真软件模型属性:金宝app
BufferReuse = '了'
RTWInlineParameters = ' '
BlockReductionOpt = '了'
SaveFormat = ' StructureWithTime '
线性化后,仿真软件恢复原来的模型属性。金宝app
金宝app仿真软件控制设计™软件中渗流模型使用一个方法。软件分别线性模型中的每个块的线性化模型和生产整个系统通过结合个体块线性化。金宝app
软件确定输入和状态的水平为每个块从操作点,并为每个块在这些层面获得的雅可比矩阵。
一些街区,软件不能以这种方式计算分析线性化。例如:
一些非线性没有定义的雅可比矩阵。
一些离散的块,如状态图表和触发子系统,倾向于线性化零。
一些街区不实现雅可比矩阵。
自定义块,等功能块和MATLAB函数块,没有分析雅克比。
您可以指定一个自定义线性化任何这样的街区,你知道预期的线性化。如果你不指定一个自定义的线性化,软件中渗流模型的扰动块输入和状态和测量这些扰动的响应。为每个输入和状态,默认扰动水平是:
对于双精度值。
为单精度值。
在这里,x相应的输入的值是在操作点或状态。个人信息如何改变扰动水平块,明白了改变扰动块摄动的线性化水平。
您可以使用一个完整的模型数值摄动线性化系统,完整的软件计算线性化模型,扰动根级的值输入和状态。为此,创建一个linearizeOptions
对象和设置LinearizationAlgorithm
属性为以下之一:
“numericalpert”
使用向前差异——扰乱输入和状态;也就是说,通过添加扰动输入和状态值。这个微扰方法通常超过了“numericalpert2”
方法。
“numericalpert2”
使用中央差异——扰乱输入和状态;由微扰的输入和状态值,正面和负面的方向。这个微扰方法通常是更精确的比“numericalpert”
方法。
为每个输入和状态,扰乱的软件模型,并基于模型计算线性模型对这些扰动。您可以配置状态和输入扰动水平使用NumericalPertRel
线性化的选择。
事情,在一个完整的模型数值摄动线性化有几个优点:
大多数仿真金宝app软件模块提供的精确线性化的预编的线性化。
您可以使用线性分析指出指定线性化模型的一部分。
您可以配置块使用自定义线性化而不影响您的模型模拟。
结构nonminimal状态是自动删除。
您可以指定线性化,包括不确定性(需要鲁棒控制工具箱软件)。
您可以获得详细的诊断信息。
当线性化多频模型,您可以使用不同的速度转换方法。一个完整的模型数值摄动只能使用零阶保持器的速度转换。
作为替代线性化
功能,您可以使用下列方法之一:线性化模型
交互式地线性化模型,使用模型线性化电路应用。例如,明白了线性化模型模型在模型金宝app操作点。
获得多个传输函数无需修改或创建一个分析点集模型对于每一个传递函数,使用一个slLinearizer
接口。例如,看到的不同的参数值,得到多个传输功能。
虽然两金宝app仿真软件控制设计软件和仿真软件金宝applinmod
函数执行一个线性化,金宝app仿真软件控制设计线性化功能更加灵活的用户界面和使用控制系统工具箱数值算法。有关更多信息,请参见使用仿真软件线性化控制设计与仿真软件金宝app。
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。