Find Nonzero Elements
查找数组中的非零元素
- 库:
Simulink / Math Operations

描述
Find Nonzero Elements 模块找到输入信号的所有非零元素,并返回这些元素的线性索引。如果输入是多维信号,则 Find Nonzero Elements 模块还可以返回非零输入元素的下标。在这两种情况下,您都可以显示具有非零输入值的输出端口。
Find Nonzero Elements 模块输出一个可变大小信号。任何可变大小信号的采样时间必须是离散的。如果模型尚未使用定步长求解器,则可能需要在“配置参数”对话框中选择定步长求解器。有关详细信息,请参阅比较求解器和选择求解器。
端口
输入
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'
|
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
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)