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