First Order Hold

库:
Simulink /
Continuous
描述
First Order Hold 模块生成输入信号的连续分段线性逼近。使用 First Order Hold 模块将采样的离散信号转换为连续信号,而不触发求解器重置。
您也可以使用 First Order Hold 模块来打破模型中的代数环。
端口
输入
Port 1 — 输入信号
标量 | 向量 | 矩阵
输入信号,指定为实标量、向量或矩阵。
数据类型: double
输出
Port 1 — 线性逼近的输出信号
标量 | 向量 | 矩阵
输入信号的分段线性逼近。
数据类型: double
参数
初始输出 — 初始输出
0
(默认) | 标量 | 向量
指定模块在仿真时间超过离散输入的第一个采样时间命中点之前生成的输出。
依存关系
此模块的初始输出不能为
inf
或NaN
。不能在仿真运行时更改
运行到运行可调参数
。但是,在仿真开始之前更改此参数不会使得加速或快速加速重新生成代码。
编程用法
模块参数:InitialOutput |
类型:字符向量、字符串 |
值:标量 | 向量 |
默认值:'0' |
输出算法 — 输出信号逼近方法
“缓慢(避免过冲)
” (默认) | “快速(最小化误差)
”
指定用于生成输出信号的逼近方法。慢速低通算法可避免输入信号过冲。快速高通算法可将逼近输出中的误差降至最低,但可能会使输入信号过冲。
编程用法
模块参数:OutputAlgorithm |
类型:字符向量、字符串 |
值:Slow (Avoid Overshoot) | Fast (Minimize Error) |
默认值:'Slow (Avoid Overshoot)' |
相对外插误差超过以下值时重置 — 求解器重置的误差容限
inf
(默认) | 非负实数标量
指定输出算法外插误差的容差级别。大于指定值的外插误差会导致 Simulink® 重置模型的求解器。
提示
当此参数设置为 inf
时,启用允许连续输入参数可能会导致仿真中的数值不准确。
编程用法
模块参数:ErrorTolerance |
类型:字符向量、字符串 |
值:标量 |
默认值: 'inf' |
允许连续输入 — 对连续信号应用保持
off
(默认) | on
选择此参数将使模块能够接受连续信号作为输入。启用此参数会在输入和输出连续信号之间产生延迟。
注意
当使用此模块打破代数环时,请启用此参数。
编程用法
模块参数:AllowContinuousInput |
类型:字符向量、字符串 |
值:'off' | 'on' |
默认值:'off' |
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
算法
缓慢(避免过冲)
慢速或低通算法执行的线性外插可以描述为:
其中:
Tk 是执行第 k 个主时间步的时间。
Uk 是第 k 个主时间步的输入。
Ck 和 Mk 是线性外插系数。
yk 是时间 Tk 处的连续输出。
系数,即斜率 Mk 和 y-截距 Ck 的计算公式如下
快速(最小化误差)
快速或高通算法执行的线性外插可以描述为:
其中:
Tk 是执行第 k 个主时间步的时间。
Uk 是第 k 个主时间步的输入。
是第 (k+1) 个主时间步的输入的预测值。
(Ck 和 Nk 是线性外插系数。
yk 是时间 Tk 处的连续输出。
系数,即斜率 Nk 和 y-截距 Ck 的计算公式如下
快速算法通过在模块的更新方法期间尝试预测下一个输入来最小化误差。模块的预测输出中的误差减少与用于过冲输入信号的趋势之间进行折衷。
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
不建议用于生产代码生成。
请考虑对模型进行离散化。
版本历史记录
在 R2019b 中推出
另请参阅
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)