このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
nnz
非ゼロ行列要素の数
説明
例
単位行列を作成し、その中に含まれる非ゼロの数を判別します。
X = eye(4)
X = 4×4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
N = nnz(X)
N = 4
nnz
を関係演算子とあわせて使用し、条件を満たしている行列要素の数を判別します。関係演算子は 1 と 0 から成る logical 行列を生成するため、関数 nnz
は 1 (条件が true) の数をカウントします。
行列を作成し、10 より大きい要素の数を特定します。
X = magic(5)
X = 5×5
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
nnz(X>10)
ans = 15
行列の密度は、非ゼロの総要素数に対する比率、すなわち nnz(X)/numel(X)
です。
L 型領域の有限差分ラプラシアンを表すスパース行列を作成し、その密度を計算します。
X = delsq(numgrid('L',20));
spy(X)
d = nnz(X)/numel(X)
d = 0.0194
結果からは、行列の要素のうち約 2% のみが非ゼロであることがわかります。
入力引数
入力行列。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| calendarDuration
複素数のサポート: あり
拡張機能
nnz
関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
nnz
関数は、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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の 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)