计算指数和分数内插中的使用Prelookup块
金宝appSimulink/查找表
HDL编码器/查找表
ProLookup块计算指定其输入值的指标和间隔分数U
与断点数据集有关。PRELOOKUP块最适合使用Prelookup进行插值块使用Prelookup块将生成的索引和分数值输入到插值中,以插值N- 表格。这两个块具有分布式算法。当组合在一起时,它们将与集成算法的操作相同的操作n-D查找表块但是,prelookup和使用Prelookup进行插值块提供了比n-D查找表块有关更多信息,请参阅绩效效率.
要使用Prelookup块,必须指定一组断点值。您可以选择是直接在对话框中指定断点值,还是将值提供给英国石油公司
通过设置输入端口源参数到对话
或者输入端口
.通常,该断点数据集对应于使用预查找的插值块中的表数据的一个维度。Prelookup块为每个输入值生成一对输出U
通过计算:
断点组元素的索引小于或等于U
并形成一个包含U
区间分数在0范围内≤ f<1,表示U
对在范围内的输入的索引和下一索引值之间的断点间隔
例如,如果断点数据集是[0 5 10 20 50 100]
和输入值U
是55,索引为4,分数值为0.1。索引和间隔分数的标签显示为K和F在Prokookup块图标上。索引值基于零。
间隔部分可以是负的或大于1.
对于超出范围的输入。见外推法块参数以获取更多信息。
港口1
-输入信号,U
PRELookup Block接受Simulink的任何数字数据类型的实际值信号金宝app®金宝app支持除了布尔之外。PRELookup块支持用于信号和断点数金宝app据的定点数据类型。
数据类型:一半
|单一的
|双倍的
|INT8
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|固定点
|枚举
|公共汽车
英国石油公司
-断点数据Prelookup块接受实值信号作为Simulink支持的任何数值数据类型的断点数据,布尔值除外。金宝app金宝app
数据类型:一半
|单一的
|双倍的
|INT8
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|固定点
|枚举
K
-包含输入的间隔的索引,U
零基索引,K,是一个实值整数,指定包含输入的间隔,U
.
要启用此端口,请设置输出选择到指数与分数
或者只有指数
.
数据类型:INT8
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|固定点
F
- 代表输入的归一化位置的分数,U
的间隔内,K分数,F,表示输入的标准化位置,U
,在间隔内K.
要启用此端口,请设置输出选择到指数与分数
.
数据类型:单一的
|双倍的
|固定点
港口2
- 包含索引的巴士,K,和分数,F输出指数,K,和分数F,作为总线对象可以帮助简化模型。
要启用此端口,请设置输出选择到作为总线的索引和分数
.
数据类型:公共汽车
规格
-选择如何输入断点数据显式值
(默认)|即使间距
|断点对象
如果将此参数设置为:
显式值
这个源和价值参数在对话框上可见。
即使间距
这个第一点,间距, 和点数参数在对话框上可见。
断点对象
这个名称参数在对话框上可见。
块参数:BreakpointsSpecification |
类型:特征向量 |
价值观:“显性价值” |“即使间距” |“断点对象” |
违约:'显式值' |
源
- 指定断点数据源对话
(默认)|输入端口
如果你设置了源到:
对话
,指定下断点数据价值.
输入端口
,验证上游信号将断点数据提供给英国石油公司
输入端口。每个断点数据集必须是包含两个或更多元素的严格单调增加的载体。对于此选项,您的块将继承来自的断点属性英国石油公司
输入端口。
启用此参数,设置规格到显式值
.
块参数:断点数据源 |
类型:特征向量 |
价值观:'对话框' | '输入端口' |
违约:“对话” |
价值
-断点数据值[10:10:110]
(默认)|包含两个或更多个元素的严格单调增加值的矢量明确指定断点数据。每个断点数据集必须是包含两个或更多元素的严格单调增加的载体。对于此选项,您可以在“附件”中指定其他断点属性数据类型窗格。
要打开查找表编辑器,请单击编辑(看编辑查找表)。
注
当你设置时规格到显式值
和源到输入端口
,验证上游信号将断点数据提供给英国石油公司
输入端口。每个断点数据集必须是包含两个或更多元素的严格单调增加的载体。对于此选项,您的块从中继承来自的断点属性(包括数据类型)英国石油公司
输入端口。
启用此参数,设置规格到显式值
和源到对话
.
块参数:BreakpointsData |
类型:特征向量 |
价值观:包含两个或更多个元素的严格单调增加值的矢量 |
违约:“[10:10:110]” |
第一点
-等间距断点数据中的第一个点10.
(默认)|实值标量
启用此参数,设置规格到即使间距
.
块参数:BreakPointsfirstpoint. |
类型:特征向量 |
价值观:实值标量 |
违约:'10' |
间距
-等间距断点之间的间距10.
(默认)|真值,正标量
启用此参数,设置规格到即使间距
.
块参数:断点空间 |
类型:特征向量 |
价值观:真值,正标量 |
违约:'10' |
点数
- 均匀间隔点数11.
(默认)|真值,正标量
启用此参数,设置规格到即使间距
.
块参数:断点肿块 |
类型:特征向量 |
价值观:真值,正标量 |
违约:'11' |
名称
- 一个名字金宝app模拟断点
对象没有默认
|金宝app模拟断点
指定a的名称金宝app模拟断点
目的。断点对象引用Simulink断点对象。金宝app如果一个金宝app模拟断点
对象不存在,单击“操作”按钮选择创建.使用块信息自动填充新断点对象的相应参数。
启用此参数,设置规格到断点对象
.
块参数:断点对象 |
类型:特征向量 |
价值观:金宝app模拟断点 对象 |
违约:'' |
输出选择
- 指定块输出的信号指数与分数
(默认)|作为总线的索引和分数
|只有指数
如果希望块输出索引和间隔分数,则可以指定块是否输出单个信号或总线信号,该总线信号包括索引和分数信号。
只有指数
输出只是索引,而不分数。这个选项的典型应用包括:
喂直接查找表(n-D)块,在间隔上没有插值
馈送沉积选择的选择端口使用Prelookup进行插值堵塞
执行非线性量化
指数与分数
输出索引和馏分作为单独的信号。
作为总线的索引和分数
输出包括索引和分数信号的总线信号。对这些信号使用总线:
通过将这两个相关信号连接在一起简化模型
创建一个测试点DpResult
Autosar 4.0库的结构
对于AUTOSAR 4.0库,当预备课和使用Prelookup进行插值块在不同的模型中
注
挑选作为总线的索引和分数
显示输出中的参数数据类型窗格并设置输出参数到继承:自动
.更改此默认值以指定用户定义的总线对象。有关定义总线对象的详细信息,请参阅输出参数说明。
块参数:输出选择 |
类型:特征向量 |
价值观:“索引和分数”|“索引和分数作为总线”|“仅索引” |
违约:“指数和分数” |
索引搜索方法
-断点数据的搜索方法二进制搜索
(默认)|线性搜索
|均匀的间隔点
每个搜索方法在不同情况下具有速度优势:
对于均匀间隔的断点组(例如,10,20,30等),通过选择来实现最佳速度均匀的间隔点
计算表索引。该算法只使用一组前两个断点确定偏移和剩余点的间距。
对于均匀地间隔断点集,遵循以下原则:
如果输入值U
在时间步骤之间不显着变化,选择线性搜索
和使用以前的索引结果开始索引搜索产生最佳性能。
如果输入值U
每次跳跃多于一个或两次表间隔,选择二进制搜索
产生最佳性能。
索引搜索方法的次优选择可能会导致严重依赖查找表的模型性能降低。
注
生成的代码仅存储第一个断点,间距和断点数量:
断点数据不可调谐。
索引搜索方法是均匀的间隔点
.
块参数:IndexSearchMethod. |
类型:特征向量 |
价值观:“均匀间隔的点” |“线性搜索” |'二进制搜索' |
违约:'二进制搜索' |
使用以前的索引结果开始索引搜索
- 使用前一步中找到的索引开始搜索离开
(默认)|在
对于输入值U
这相对于间隔大小变化缓慢,启用此选项可以提高性能。否则,线性搜索和二进制搜索方法可能需要更长的时间,尤其是对于大型断点集。
块参数:BeginIndexSearchSingPreviousIndexResult |
类型:特征向量 |
价值观:'离开' |“开” |
违约:'离开' |
外推法
-处理超出范围的输入值的方法夹子
(默认)|线性
选择包括:
夹子
块输入 | 块输出 |
---|---|
少于第一个断点 |
|
大于最后一个断点 |
|
假设这个范围是[1 2 3]
您选择此选项。如果U
是0.5
,索引是0
区间分数为0
. 如果U
是3.5
,索引是1.
区间分数为1.
.
线性
块输入 | 块输出 |
---|---|
少于第一个断点 |
|
大于最后一个断点 |
|
假设这个范围是[1 2 3]
您选择此选项。如果U
是0.5
,索引是0
区间分数为-0.5
. 如果U
是3.5
,索引是1.
区间分数为1.5
.
注
仅当以下所有条件均为真时,Prelook金宝appup块才支持线性外推:
输入U
、断点数据和分数输出使用浮点数据类型。
索引使用内置的整数数据类型。
块参数:extrapmethod. |
类型:特征向量 |
价值观:'剪辑'|'线性' |
违约:“剪辑” |
将最后一个断点用于上限或更高的输入
-处理输入超过上限的方法离开
(默认)|在
指定如何索引输入值U
大于或等于最后一个断点的。索引值是从零开始的。当输入等于最后一个断点时,块输出的区别如下。
复选框 | 块输出 |
---|---|
精选( |
|
清除( |
|
提示
当您选择将最后一个断点用于上限或更高的输入对于PRELOOKUP块,您还必须选择有效的索引输入可能到达最后一个索引为使用Prelookup进行插值它连接的块。此操作允许块在访问其断点和表数据集的最后元素时使用相同的索引约定。
此复选框仅在以下情况下可见:
仅输出索引已清除
外推法是夹子
但是,什么时候?仅输出索引被选中和外推法是夹子
,即使该复选框不可见,块的行为也与选中该复选框时的行为相同。
块参数:USELASTBOOKPOINT. |
类型:特征向量 |
价值观:“关”|“开” |
违约:'离开' |
超出范围输入的诊断
-输入超出范围时阻止操作没有任何
(默认)|警告
|错误
选择包括:
没有任何
- 没有产生回应。
警告
- 显示警告,并继续模拟。
错误
- 终止模拟并显示错误。
块参数:DiagnosticForOutOfRangeInput |
类型:特征向量 |
价值观:“无”|“警告”|“错误” |
违约:“没有” |
在生成的代码删除针对外的范围内的输入保护
- 删除检查超出超出断点输入的代码离开
(默认)|在
复选框 | 结果 | 什么时候使用 |
---|---|---|
|
生成的代码不包括要检查超出范围的断点输入的条件语句。 当输入超出范围时,可能会导致生成代码的行为未定义。 |
代码效率 |
|
生成的代码包括要检查超出范围的断点输入的条件语句。 |
用于安全关键应用 |
如果您的输入不是超出范围,则可以选择删除对生成代码中超出范围索引的保护代码效率复选框。默认情况下,此复选框被清除。对于安全关键应用程序,不要选中此复选框。如果要选择删除对生成代码中超出范围索引的保护复选框,首先检查您的型号输入是否在范围内。例如:
清除删除对生成代码中超出范围索引的保护复选框。
设定超出范围输入的诊断参数到错误
.
以正常模式模拟模型。
如果存在超出范围的错误,请将它们固定到范围内并再次运行模拟。
当模拟不再产生超出范围的输入错误,选择删除对生成代码中超出范围索引的保护复选框。
注
当您选择删除对生成代码中超出范围索引的保护复选框和输入外的范围内,所述行为是未定义生成的代码
根据您的应用程序,可以运行下面的模型顾问检查,以验证该复选框的用法:
此外,如果有一个选择此复选框,则确定是否可以安全,如果您有一个金宝appSimulink设计验证程序™许可,可以考虑使用检测块输入范围冲突(金宝appSimulink设计验证程序)检查。
由产品>嵌入式编码器>识别生成昂贵超出检查代码的查找表块
由产品>金宝app模拟链路检查>建模标准>- 331 - 178 - c /做检查吗>查找表块的检查使用
有关模型顾问的更多信息,请参阅运行模型顾问检查.
块参数:RemoveProtectionInput |
类型:特征向量 |
价值观:“关”|“开” |
违约:'离开' |
采样时间
- 指定取样时间为以外的值-1
-1
(默认)|标量|向量将采样时间指定为-1以外的值。有关更多信息,请参阅指定采样时间.
除非明确设置为以外的值,此参数是不可见-1
. 要了解更多信息,请参阅不建议使用采样时间的块.
块参数:采样时间 |
类型:特征向量 |
价值观:标量或矢量 |
违约:'-1' |
断点
-断点数据类型继承:与输入相同
(默认)|继承:从“断点数据”继承
|双倍的
|单一的
|INT8
|uint8
|int16
|uint16
|INT32.
|uint32
|INT64.
|UINT64
|Fixdt(1,16)
|fixdt(1,16,0)
|Fixdt(1,16,2 ^ 0,0)
|枚举:<类名>
|<数据类型表达式>
指定断点数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:与输入相同
内置数据类型的名称,例如,单一的
例如,数据类型类的名称,例如枚举数据类型类
计算结果为数据类型的表达式,例如,fixdt(1,16,0)
点击显示数据类型助手按钮显示数据类型助手,这有助于设置数据类型属性。有关详细信息,请参阅指定使用数据类型助理数据类型.
提示
指定从输入的数据类型不同的断点数据类型U
对于这些情况:
用于存储数据断点下存储器的要求,即使用较小型比输入信号U
分享两者之间的预定断点数据预备课用不同的数据类型的输入块U
在生成的代码中共享具有不同输入数据类型的块的自定义存储断点数据U
枚举数据:
断点支持无序枚举数据。因金宝app此,线性搜索也是无序的,这提供了灵活性,但会影响性能。搜索从断点中的第一个元素开始。
如果是使用以前的索引结果开始索引搜索复选框被选中,则必须使用命令单调递增的数据。这种排序可以提高性能。
对于枚举数据,外推法必须是夹子
.
因为分数是1.
或者0
, 选择输出选择>只有指数.
如果您使用的是指数,唯一的输出选择设置使用Prelookup进行插值块,考虑使用子表选择尺寸的数量参数
以下是在此块中使用枚举数据的限制:
该块不支持超出枚举数据的输入输入。金宝app在指定枚举数据时,包括在断点数据集中设置的整个枚举。例如,使用列举
功能。
当断点数据源设置为输入端口
,枚举数据类型必须具有0
作为默认值。例如,对于此枚举类,默认值为齿轮1
必须是0
.
< Simulink. classdef(Enumerati金宝appon) Gears枚举GEAR1(1), GEAR2(2), GEAR3(4), GEAR4(8), SPORTS(16), REVERSE(32), NEUTRAL(0)结束结束
要启用此参数,请设置断点数据源到对话
.
注
当你设置时源到输入端口
,块将从中继承所有断点属性(数据类型、最小值和最大值)英国石油公司
输入端口。
块参数:断点数据类型str |
类型:特征向量 |
价值观:“继承:与输入相同”|“继承:从“断点数据”|“双”|“单”|“int8”|“uint8”|“int16”|“uint16”|“uint32”|“uint32”|“uint32”|“int64”|“uint64”|“fixt24”|“fixtt(1,16,0)|“fixtt(1,16,2^0)” |
违约:'继承:与输入相同' |
指数
-索引数据类型uint32
(默认)|INT8
|uint8
|int16
|uint16
|INT32.
|uint32
|INT64.
|UINT64
|Fixdt(1,16)
|<数据类型表达式>
指定可以索引断点数据集中所有元素的数据类型。你可以:
从列表中选择一个内置的整数数据类型。
使用定点表示指定整数数据类型。
点击显示数据类型助手按钮显示数据类型助手,这有助于设置数据类型属性。有关详细信息,请参阅指定使用数据类型助理数据类型.
块参数:indexDatatypestr. |
类型:特征向量 |
价值观: |
'int8'|'uint8'|'int16'|'UINT16'|'int32'|'UINT32'|'int64'|'uint64'|'Fixdt(1,16)'|'<数据类型表达式>' |
违约:“uint32” |
分数
-分数数据类型继承:通过内部规则继承
(默认)|双倍的
|单一的
|fixdt(1,16,0)
|<数据类型表达式>
指定区间分数的数据类型。你可以:
从列表中选择内置数据类型。
通过内部规则指定数据类型继承。
使用[Slope Bias]或仅二进制点缩放表示指定定点数据类型。
如果使用[斜率偏见]表示表示,则缩放必须是微不足道的 - 即斜率是1.
与偏见0
.
如果使用仅二进制点表示,则两个指数的固定幂必须小于或等于零。
点击显示数据类型助手按钮显示数据类型助手,这有助于设置数据类型属性。有关详细信息,请参阅指定使用数据类型助理数据类型.
此参数显示,只有当你设定输出选择在这一点主要的选项卡指数与分数
.
块参数:分形数据类型 |
类型:特征向量 |
价值观:“继承:通过内部规则继承”|“double”|“single”|“fixdt(1,16,0)”|“<数据类型表达式>” |
违约:'继承:通过内部规则继承' |
输出
-输出数据类型继承:自动
(默认)|总线:<对象名称>
到输出虚拟总线,使用继承:自动
环境。得到的虚拟总线包含两个元素,索引和分数信号。
要输出和指定非宽恕总线,请使用总线:<对象名称>
模板。代替<对象名称>
使用包含索引和分数信号的总线对象的名称。
总线对象必须包含两个元素。第一个元素对应于索引信号,第二个元素对应于分数信号。
索引和分数总线元件信号不能是总线信号。
总线元素的数据类型和复杂性必须满足应用于索引和分数信号的相同约束条件(如果设置)输出选择到指数与分数
.
使用索引和分数总线元素创建总线对象,使用MATLAB®类似于此的代码,自定义总线对象名称和总线元素的名称和数据类型。
%总线对象:KFBUSelems(1)= s金宝appimulink.busement;elems(1).name ='指数'; 元素(1).数据类型=“int8”; 元素(2)=Simul金宝appink.BusElement;元素(2).名称='分数'; 元素(2).数据类型='双倍的';kfbus = 金宝appsimulink.bus;kfbus.elements = elems;清除元素;
或者,您可以使用总线编辑器创建或修改用于使用的总线对象预备课块
如果将总线输出信号从此块馈送到使用Prelookup进行插值块,选择要求索引和分数作为总线复选框在该块中。
注
使用“定点工具数据类型替代”选项可以使用新的总线对象替代总线对象,这些总线对象将定点数据类型替换为浮点数据类型。
覆盖的总线对象预备课块可能导致错误,因为块不接受总线中第一个元素的浮点数据类型。
如果遇到此问题,请使用修复按钮以重新定义原始总线对象并保护它不被重写。例如,假设您将总线对象的第一个元素定义为INT32.
.
myBus.Elements(1).数据类型
INT32.
点击修复按钮重新定义第一个总线元素:
mybus.elements(1).datatype ='fixdt(' 'INT32' ' '' DataTypeOverride '', '' 关 '')'
点击显示数据类型助手按钮显示数据类型助手,这有助于设置数据类型属性。有关详细信息,请参阅指定使用数据类型助理数据类型.
此参数显示,只有当你设定输出选择在这一点主要的选项卡作为总线的索引和分数
.
块参数:outputbusdatatypestr. |
类型:特征向量 |
价值观:'继承:auto'|'总线:<对象名称>'|'<数据类型表达式>' |
违约:“继承:汽车” |
断点最小值
-断点数据可以具有的最小值[]
(默认)|标量指定断点数据可以具有的最小值。默认值为[]
(未指明)。
要启用此参数,请设置断点数据源到对话
在这一点主要的标签。
块参数:BreakpointMin |
类型:特征向量 |
价值:标量子 |
违约:'[]' |
断点最大
-断点数据可以具有的最大值[]
(默认)|标量指定断点数据可以具有的最大值。默认值是[]
(未指明)。
要启用此参数,请设置断点数据源到对话
在这一点主要的标签。
块参数:断点最大值 |
类型:特征向量 |
价值:标量子 |
违约:'[]' |
针对由定点工具改变锁输出数据类型设置
- 从重写输出数据类型防止定点工具离开
(默认)|在
选择此参数,以防止定点工具从重写输出数据类型您在块上指定。有关更多信息,请参阅使用锁定输出数据类型设置(定点设计师).
块参数:LockScale |
类型:特征向量 |
价值观:“关”|“开” |
违约:'离开' |
整数舍入模式
- 用于定点操作的舍入模式地板上
(默认)|天花板
|收敛
|最近的
|圆形的
|最简单的
|零
指定定点操作的舍入模式。有关更多信息,请参阅四舍五入(定点设计师).
阻止参数始终舍入到最接近的可表示值。要控制块参数的舍入,请使用MATLAB舍入函数输入蒙版字段。
块参数:RndMeth |
类型:特征向量 |
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆形”|“最简单”|“零” |
违约:“地板” |
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
零交叉检测 |
|
模拟具有枚举值的Prelookup块。
假设你有一个Prelookup块像这样定义一个枚举类:
classdef(枚举)齿轮
Prelookup块具有以下设置:
断点数据价值是枚举('齿轮')
.
输出选择是只有指数
.
对于无序搜索,请设置索引搜索方法到线性搜索
疏通使用以前的索引结果开始索引搜索复选框。
外推法是夹子
.
使用Prelookup块的插值有这些设置:
尺寸的数量到1.
.
表数据价值是[5 10 20 40 80 -5 0]
.
插值方法是平坦的
.
子表选择尺寸的数量是1.
.
模拟生成一个向量[10-5 80]
中,对应于齿轮2
,逆转
, 和运动的
.
HDL编码器™提供了影响HDL实现并合成逻辑额外配置选项。
此块具有单个默认的HDL体系结构。
所需的块设置
断点数据:用于源, 选择对话
.
规格:您可以选择显式值
或者即使间距
.
索引搜索方法:选择均匀的间隔点
.
外推法:选择夹子
.
超出范围输入的诊断:选择错误
.
将最后一个断点用于上限或更高的输入:选中此复选框。
断点:用于数据类型, 选择继承:与输入相同
.
整数舍入模式:选择零
,地板上
或最简单的
.
表数据打字和尺寸
这是很好的做法来构建你的台,使得断点之间的间距是二的幂。如果断点间距不符合这个条件,HDL编码器将发出警告。当断点间距的2的幂,你可以与右移位运算的prelookup步取代除法运算。
块上的所有端口都需要标量值。
编码器允许断点使用浮点数据。
金宝appSimulink PLC编码器对查找表块的支持有限。金宝app编码器不支持:
大于2的尺寸数
立方样条插值法
使用先前的索引模式开始索引搜索
三次样条外推法
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。