Main Content

nonzeros

説明

v = nonzeros(A) は、A の非ゼロ要素からなるフル列ベクトルを返します。v の要素は列順になっています。

すべて折りたたむ

nonzeros を使用してスパース行列の非ゼロ要素を返します。

いくつかの非ゼロ要素を含む 10 行 10 列のスパース行列を作成します。スパース行列の一般的な表示は非ゼロの値とその位置のリストを示します。

A = sparse([1 3 2 1],[1 1 2 3],1:4,10,10)
A = 
   (1,1)        1
   (3,1)        2
   (2,2)        3
   (1,3)        4

非ゼロ要素の値を求めます。

v = nonzeros(A)
v = 4×1

     1
     2
     3
     4

nonzerosnnz、および 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++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考

| | | | |