Find Nonzero Elements
查找数组中的非零元素
库:
Simulink /
Math Operations
描述
Find Nonzero Elements 模块找到输入信号的所有非零元素,并返回这些元素的线性索引。如果输入是多维信号,则 Find Nonzero Elements 模块还可以返回非零输入元素的下标。在这两种情况下,您都可以显示具有非零输入值的输出端口。
Find Nonzero Elements 模块输出一个可变大小信号。任何可变大小信号的采样时间必须是离散的。如果模型尚未使用定步长求解器,则可能需要在“配置参数”对话框中选择定步长求解器。有关详细信息,请参阅比较求解器和选择求解器。
扩展示例
Parallel Channel Power Allocation
A potential use of the Find Nonzero Elements block. This block outputs a variable-size signal containing the indices of the nonzero values of the input.
端口
输入
Port_1 — 输入信号
标量 | 向量 | 矩阵 | N 维数组
输入信号,模块将从中查找所有非零元素。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
输出
Port_1 — 非零元素的索引
可变大小信号
Find Nonzero Elements 模块将非零元素的索引输出为一个可变大小信号。您可以使用输出数据类型模块参数控制输出的数据类型。
依存关系
默认情况下,模块从第一个输出端口输出线性索引。当您将索引输出格式更改为下标时,该模块将以下标形式提供二维或更大信号的元素索引。在此模式下,必须指定输入维数,模块将为每个维度创建单独的输出端口。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Port_2 — 非零元素的值
可变大小信号
(可选)Find 模块可以将所有非零元素的值输出为一个可变大小信号。
依存关系
要启用此端口,请选择显示非零输入值的输出端口。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
参数
常设
索引输出格式 — 非零元素索引的格式
线性索引 (默认) | 下标
选择非零输入值的索引的输出格式。
选择线性索引将以向量形式提供任何维度信号的元素索引。对于一维(向量)信号,索引对应于向量内非零值的位置。对于具有多个维度的信号,会沿第一个维度将下标转换为索引。您无需知道输入信号的信号维度。
选择下标将以下标形式提供二维或更大信号的元素索引。由于该模块显示每个维度的输出端口,因此该选项要求您指定输入维数。
编程用法
模块参数:IndexOutputFormat
|
类型:字符向量 |
值:'Linear indices' | 'Subscripts'
|
默认值:'Linear indices'
|
输入维数 — 输入信号的维数
1
(默认) | 标量
将输入信号的维数指定为 1 到 32 之间的正整数值。
依存关系
要启用此参数,请将索引输出格式设置为下标。
编程用法
模块参数:NumberOfInputDimensions
|
类型:字符向量 |
值:标量 |
默认值:'1'
|
索引模式 — 指定从 0 或 1 开始的索引
从 0 开始 (默认) | 从 1 开始
将索引模式指定为从 0 开始或从 1 开始。
对于从 0 开始索引,索引
0
指定输入向量的第一个元素。索引1
指定第二个元素,依此类推。对于从 1 开始索引,索引
1
指定输入向量的第一个元素。索引2
指定第二个元素,依此类推。
编程用法
模块参数:IndexMode
|
类型:字符向量 |
值:'Zero-based' | 'One-based'
|
默认值:'Zero-based'
|
显示非零输入值的输出端口 — 为非零值启用输出端口
off
(默认) | on
显示或隐藏非零输入值的输出端口。
清除此复选框 (
off
) 后,模块会隐藏非零输入值的输出端口。选中此复选框 (
on
) 后,模块会显示非零输入值的输出端口。额外的输出端口提供非零输入元素的值。
编程用法
模块参数:ShowOutputPortForNonzeroInputValues
|
类型:字符向量 |
值:'on' | 'off'
|
默认值:'off'
|
采样时间(-1 表示继承) — 采样之间的时间间隔
-1
(默认) | 标量 | 向量
指定采样时间间隔。要继承采样时间,请将此参数设置为 -1
。有关详细信息,请参阅指定采样时间。
依存关系
仅当您将此参数设置为 -1
以外的值时才可见。要了解详细信息,请参阅不建议设置采样时间的模块。
编程用法
模块参数:SampleTime |
类型:字符串标量或字符向量 |
默认值:"-1" |
数据类型
输出数据类型 — 输出数据类型
Inherit: Inherit via internal rule
(默认) | int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| <data type expression>
指定输出数据类型。
数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 。有关详细信息,请参阅使用数据类型助手指定数据类型。
编程用法
模块参数:OutDataTypeStr
|
类型:字符向量 |
值:'Inherit: Inherit via internal rule' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32'| 'int64' | 'uint64'| 'fixdt(1,16)'| '<data type expression>'
|
默认值:'Inherit: Inherit via internal rule'
|
模式 — 选择数据类型模式
Inherit
(默认) | Built in
| Fixed Point
选择要指定的数据类别。
继承 - 数据类型的继承规则。选择
Inherit
将在右侧启用另一个菜单/文本框,您可以在其中选择继承模式。内置 - 内置数据类型。选择
Built in
将在右侧启用另一个菜单/文本框,您可以在其中选择内置数据类型。定点 - 定点数据类型。选择定点将启用可用于指定定点数据类型的其他参数。
表达式 - 计算结果为数据类型的表达式。选择
Expression
将在右侧启用另一个菜单/文本框,您可以在其中输入表达式。
有关详细信息,请参阅使用数据类型助手指定数据类型。
依存关系
要启用此参数,请点击显示数据类型助手按钮。
数据类型覆盖 — 为此信号指定数据类型覆盖模式
Inherit
| Off
为此信号选择数据类型覆盖模式。
当您选择 inherit 时,Simulink 从信号的上下文(即:从 Simulink® 中使用该信号的模块、
Simulink.Signal
对象或 Stateflow® 图)中继承数据类型覆盖设置。当您选择 off 时,Simulink 忽略信号上下文的数据类型覆盖设置,并使用为信号指定的定点数据类型。
有关详细信息,请参阅 Simulink 文档中的使用数据类型助手指定数据类型。
依存关系
要启用此参数,请将模式设置为内置或定点。
提示
由于能够关闭单个数据类型的数据类型覆盖,您可以在应用数据类型覆盖时更好地控制模型中的数据类型。例如,您可以使用此选项确保数据类型满足下游模块的要求,而忽略数据类型覆盖设置。
符号性 — 指定有符号或无符号
Signed
(默认) | Unsigned
指定定点数据是有符号还是无符号。有符号数据可以表示正值和负值,无符号数据只表示正值。
有符号,将定点数据指定为有符号数据。
无符号,将定点数据指定为无符号数据。
有关详细信息,请参阅使用数据类型助手指定数据类型。
依存关系
要启用此参数,请将模式设置为 Fixed point
。
字长 — 存储量化整数的字的位大小
16
(默认) | 从 0 到 32 的整数
定标 — 定点数据的定标方法
Integer
(默认)
指定定点数据的定标方法,以避免发生溢出情况并最大限度地减少量化错误。选择整数会指定定点数据的二进制小数点位置,并将小数长度设置为 0
。有关详细信息,请参阅使用数据类型助手指定数据类型。
依存关系
要启用此参数,请将模式设置为 Fixed point
。
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2010a 中推出
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)