动态查找表
使用动态表近似一维函数
- 库:
金宝appSimulink /查找表
描述
此块与其他查找表块有何不同
动态查找表块计算函数的近似值Y = f(x)
使用xdat
而且ydat
向量。查找方法可以使用插值、外推或输入的原始值。
使用Lookup Table Dynamic块,您可以在不停止模拟的情况下更改表数据。例如,如果要模拟的物理系统发生变化,则可以合并新的表数据。
断点和表数据的输入
的xdat
Vector是断点数据,它必须是严格单调递增.在转换为定点数据类型后,向量中下一个元素的值必须大于前一个元素的值。由于量子化,xdat
对于浮点数据类型,可以是严格单调的,但在转换为定点数据类型后就不是了。
的ydat
Vector是表数据,它是函数在断点值处的求值。
请注意
输入xdat
而且ydat
不能是标量(单元素数组)值。如果向这些输入中的任何一个提供标量值,在模拟时都将看到错误。提供一个1 × n的向量xdat
而且ydat
输入。
查找表定义
您可以通过输入来定义查找表xdat
而且ydat
用1 × n的向量表示。为了减少为该块生成的代码中的ROM使用,可以使用不同的数据类型xdat
而且ydat
.但是,这些限制适用于:
的
xdat
断点数据和x
输入向量必须具有相同的符号、偏差和分数阶斜率。此外,精度和范围x
的精度和范围必须大于或等于xdat
.的
ydat
表数据和y
输出向量必须具有相同的符号、偏差和分数阶斜率。
提示
间隔均匀的断点可以使金宝app®编码器™生成的代码无除法。有关更多信息,请参见fixpt_evenspace_cleanup
在Simuli金宝appnk文档和识别有问题的定点操作(嵌入式编码器)中的金宝app仿真软件编码器文档。
块如何生成输出
该块使用您选择的方法使用输入值生成输出查找方法:
查找方法 | 块操作 |
---|---|
Interpolation-Extrapolation |
执行输入的线性插值和外推。
请注意如果选择此查找方法,金宝app仿真软件编码器软件无法为该块生成代码。 |
插值-使用结束值 (默认) |
执行线性插值,但不进行断点数据端点以外的外推。相反,块使用结束值。 |
使用最近的输入 |
找到元素 |
使用下面的输入 |
找到元素 |
使用上面的输入 |
找到元素 |
请注意
的使用最近的输入
,使用下面的输入
,使用上面的输入
方法在输入时执行相同的操作x
匹配断点值。
一些连续求解器将模拟时间跨度细分为主要时间步长和次要时间步长。小时间步长是大时间步长的细分。该求解器在每个主要时间步上产生一个结果,并使用次要时间步上的结果来提高主要时间步上结果的准确性。对于连续求解器,Lookup Table Dynamic块的输出可能看起来像一个阶梯,因为信号是固定在小时间步长的,以避免错误的结果。有关求解器对块输出的影响的更多信息,请参见解决比较在Simuli金宝appnk文档中。
港口
输入
输出
参数
模型的例子
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|