nonzeros
非零矩阵元素
说明
示例
使用 nonzeros
返回稀疏矩阵中的非零元素。
创建一个包含几个非零元素的 10×10 稀疏矩阵。稀疏矩阵的典型显示是一个包含非零值及其位置的列表。
A = sparse([1 3 2 1],[1 1 2 3],1:4,10,10)
A = 10×10 sparse double matrix (4 nonzeros)
(1,1) 1
(3,1) 2
(2,2) 3
(1,3) 4
找到非零元素的值。
v = nonzeros(A)
v = 4×1
1
2
3
4
使用 nonzeros
、nnz
、find
来定位和计数非零矩阵元素。
创建一个非零元素密度为 7% 的 10×10 随机稀疏矩阵。
A = sprand(10,10,0.07);
使用 nonzeros
找到非零元素的值。
v = nonzeros(A)
v = 7×1
0.9595
0.4218
0.7922
0.8003
0.1419
0.9157
0.6557
使用 nnz
计算非零元素数。
n = nnz(A)
n = 7
使用 find
获取非零元素的索引和值。
[i,j,v] = find(A)
i = 7×1
10
3
9
1
2
7
10
j = 7×1
2
5
6
10
10
10
10
v = 7×1
0.9595
0.4218
0.7922
0.8003
0.1419
0.9157
0.6557
输入参数
输入数组,指定为向量、矩阵或多维数组。A
可以是满矩阵或稀疏矩阵。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
复数支持: 是
输出参量
非零元素,以列向量形式返回。无论 A
是满矩阵还是稀疏矩阵,v
都以满存储方式返回。v
中的元素首先按列下标排序,然后按行下标排序。
nonzeros
给出 [i,j,v] = find(A)
中的 v
,而不是索引 i
和 j
。通常,
length(v) = nnz(A) <= nzmax(A) <= prod(size(A))
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
nonzeros
函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray
(Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)