索引向量
根据第一个输入的值在不同的输入之间切换输出
- 库:
金宝appSimulink /信号路由
HDL编码器/信号路由
描述
的索引向量块是一种特殊配置的多端口切换块,其中指定一个数据输入,而控制输入是从零开始的。块输出是输入向量的元素,其索引与控制输入相匹配。例如,如果输入向量是[18 15 17 10]
控制输入是3.
,匹配3(从零开始)索引的元素是10,它成为输出值。
配置多端口切换块工作作为一个索引向量块组数据端口个数来1
而且数据端口订单来从零开始的连续的
.
有关Multiport Switch块的更多信息,请参见多端口切换阻塞引用页面。
港口
输入
Port_1
-控制信号
标量
控制信号,指定为标量。当控件输入不是整数值时,块通过舍入到零将该值截断为整数值。
有关枚举类型的控制信号的信息,请参见枚举控制端口参数设置指南在多端口切换阻塞引用页面。
限制
如果控制信号是数值,则控制信号不能是复数。
如果控制信号是枚举信号,则块使用基础整数的值来选择数据端口。
如果基础整数与数据输入不对应,则会发生错误。
数据类型:单
|双
|一半
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
0或1
-首次数据输入
标量|向量
第一个数据输入,指定为标量或向量。端口被标记0当你设置数据端口订单来从零开始的连续的
,并贴上1当你设置数据端口订单来从连续的
.
数据类型:单
|双
|一半
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
|公共汽车
|枚举
|字符串
输出
Port_1
-根据控制信号值选择数据输入
标量
块根据控制信号的值,从输入数据向量中输出选定的值。输出是一个标量。
数据类型:单
|双
|一半
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
|枚举
|公共汽车
参数
主要
数据端口订单
-数据输入端口的排序类型
从零开始的连续的
(默认)|从连续的
|指定索引
指定数据输入端口的排序类型。
从零开始的连续的
- Block使用从零开始的索引来排序连续的数据端口。的默认值索引向量块。从连续的
- Block使用基于单一的索引来排序连续的数据端口。的默认值多端口切换块。指定索引
- Block使用不连续索引来排序数据端口。该值只支持有两个或两个以上输金宝app入数据端口的配置。
提示
当控件端口是枚举类型时,选择
指定索引
.如果您选择
从零开始的连续的
或从连续的
,验证控件端口不是枚举类型。此配置已弃用并产生错误。您可以在模型上运行Upgrade Advisor来替换它们多端口切换块,使用显式指定数据端口索引的块。看到模型的升级.避免块包含用于模拟或代码生成的未使用的数据端口的情况。当控制端口是定点或内置数据类型时,请验证所有数据端口索引都可以用该类型表示。否则,将发生以下块行为:
如果该块有未使用的数据端口,且数据端口顺序为: 该块产生: 从零开始的连续的
或从连续的
一个警告 指定索引
一个错误
依赖关系
选择从零开始的连续的
或从连续的
使数据端口个数参数。
选择指定索引
使数据端口索引参数。
编程使用
块参数:DataPortOrder |
类型:特征向量 |
价值观:'基于零的连续' | '基于一的连续' | '指定索引' |
默认值:“从零开始的连续的” |
数据端口个数
—数据输入端口个数
1
(默认)| 1 ~ 65536之间的整数
指定块的数据输入端口的数量。
依赖关系
若要启用此参数,请设置数据端口订单来从零开始的连续的
或从连续的
.
编程使用
块参数:输入 |
类型:特征向量 |
价值观:1 ~ 65536之间的整数 |
默认值:' 1 ' |
信号的属性
要求所有数据端口输入具有相同的数据类型
-要求所有输入具有相同的数据类型
从
(默认)|在
选中此复选框要求所有数据输入端口具有相同的数据类型。清除此复选框时,该块允许数据端口输入具有不同的数据类型。
编程使用
块参数:InputSameDT |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
输出最小
-范围检查的最小输出值
[]
(默认)|标量
较低的值表示Simulink的输出范围金宝app®检查。
金宝appSimulink使用最小值执行:
参数范围检查(参见指定块参数的最小值和最大值)。
定点数据类型的自动伸缩。
优化从模型生成的代码。这种优化可以删除算法代码,并影响一些模拟模式的结果,如SIL或外部模式。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码).
请注意
输出最小不饱和或剪辑实际输出信号。使用饱和块来代替。
编程使用
块参数:OutMin |
类型:字符向量 |
值:“[]” |标量 |
默认的:“[]” |
输出最大
-范围检查的最大输出值
[]
(默认)|标量
Simulink检查的输出范围的最大值。金宝app
金宝appSimulink使用最大值执行:
参数范围检查(参见指定块参数的最小值和最大值)。
定点数据类型的自动伸缩。
优化从模型生成的代码。这种优化可以删除算法代码,并影响一些模拟模式的结果,如SIL或外部模式。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码).
请注意
输出最大不饱和或剪辑实际输出信号。使用饱和块来代替。
编程使用
块参数:OutMax |
类型:字符向量 |
值:“[]” |标量 |
默认的:“[]” |
输出数据类型
—指定输出数据类型
继承:通过内部规则继承
(默认)|继承:通过反向传播继承
|继承:与第一次数据输入相同
|双
|单
|一半
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt (16)
|fixdt (1 16 0)
|fixdt(1, 16日2 ^ 0,0)
|字符串
|金宝appSimulink.ImageType (480640 3)
|<数据类型表达式>
选择输出的数据类型。类型可以继承、直接指定或表示为数据类型对象,例如金宝app仿真软件。NumericType
.
当你选择一个继承的选项时,块的行为如下:
继承:通过内部规则继承
s金宝appimulink选择数据类型来平衡数值精度、性能和生成的代码大小,同时考虑到嵌入式目标硬件的属性。如果更改嵌入式目标设置,则内部规则选择的数据类型可能会更改。软件并不总是能够同时优化代码效率和数值精度。如果内部规则不能满足您对数值精度或性能的特定需求,请使用以下选项之一:继承:通过反向传播继承
—使用驱动块的数据类型。继承:与第一次数据输入相同
—使用第一个数据输入端口的数据类型。
编程使用
块参数:OutDataTypeStr |
类型:字符向量 |
值:继承:通过内部规则继承 |“继承:通过反向传播继承” |“继承:与第一个输入相同” |“双” |“单一” |“一半” |“int8” |“uint8” |“int16” |“uint16” |“int32” |“uint32” |“int64” |“uint64” |“fixdt(16)” |“fixdt(0) 1, 16日” |“fixdt(1, 16日2 ^ 0,0)” |“字符串” |金宝appSimulink.ImageType (480640 3) |'<数据类型表达式>' |
默认的:“继承:通过内部规则继承” |
锁定输出数据类型设置,防止定点工具更改
—防止定点工具覆盖数据类型
从
(默认)|在
选择以锁定此块的输出数据类型设置,防止定点工具和定点顾问的更改。有关更多信息,请参见使用锁输出数据类型设置(定点设计师).
编程使用
块参数:LockScale |
类型:字符向量 |
值:“关闭” |“上” |
默认的:“关闭” |
整数舍入模式
—指定定点操作的舍入方式
地板上
(默认)|天花板
|收敛
|最近的
|轮
|简单的
|零
选择其中一种舍入模式。
-
天花板
-
正数和负数都四舍五入到正无穷。相当于MATLAB®
装天花板
函数。 -
收敛
-
四舍五入到最接近的可表示值。如果出现平局,则舍入到最接近的偶数。相当于定点设计器™
收敛
函数。 -
地板上
-
正数和负数都取四舍五入到负无穷。相当于MATLAB
地板上
函数。 -
最近的
-
四舍五入到最接近的可表示值。如果出现平局,则舍入正无穷。相当于定点设计器
最近的
函数。 -
轮
-
四舍五入到最接近的可表示值。如果出现平局,则将正数舍入到正无穷,将负数舍入到负无穷。相当于定点设计器
轮
函数。 -
简单的
-
自动选择四舍五入到地板和四舍五入到零之间,以生成尽可能高效的四舍五入代码。
-
零
-
把数字四舍五入到零。相当于MATLAB
修复
函数。
编程使用
块参数:RndMeth |
类型:字符向量 |
值:“天花板” |“收敛” |“地板” |“最近的” |“圆” |“简单” |“零” |
默认的:“地板” |
另请参阅
有关更多信息,请参见舍入(定点设计师).
整数溢出时饱和
-溢流处理方法
从
(默认)|在
指定溢出是饱和还是换行。
从
-溢出换行为数据类型可以表示的适当值。例如,数字130不适合有符号的8位整数,它被包装为-126。
在
—溢出饱和到数据类型所能表示的最小值或最大值。例如,与有符号8位整数关联的溢出可以饱和到-128或127。
提示
当您的模型有可能溢出,并且您想要在生成的代码中显式地进行饱和保护时,请考虑选择此复选框。
当您想优化生成代码的效率时,请考虑清除此复选框。
清除此复选框还有助于避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围错误.
当您选中此复选框时,饱和将应用于块上的每个内部操作,而不仅仅是输出或结果。
通常,代码生成过程可以检测何时溢出是不可能的。在这种情况下,代码生成器不会产生饱和代码。
编程使用
块参数:SaturateOnIntegerOverflow |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
允许不同的数据输入大小(结果输出信号大小可变)
—允许不同大小的输入信号
从
(默认)|在
选中此复选框允许不同大小的输入信号。
在
—允许不同大小的输入信号,并将输入信号的大小传播到输出信号。在这种模式下,块产生一个可变大小的输出信号。从
-要求所有非标量数据输入信号的大小相同。
编程使用
参数:AllowDiffInputSizes |
类型:特征向量 |
值:“上” |“关闭” |
默认值:“关闭” |
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app
HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。
索引向量块是一个多端口交换块数据端口个数设置为1。有关HDL代码生成信息,请参见多端口切换.
PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。金宝app
定点转换
使用定点设计器设计和模拟定点系统。
版本历史
R2006a之前介绍过
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。web浏览器unterstützen keine MATLAB-Befehle。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。