MATLAB 中的 nnz() 函式

Ammar Ali 2022年6月7日
MATLAB 中的 nnz() 函式

本教程將討論使用 MATLAB 中的 nnz() 函式查詢向量或矩陣中存在的非零元素的數量。

在 MATLAB 中使用 nnz() 函式

MATLAB 的 nnz() 函式用於查詢向量或矩陣中存在的非零元素。以下是 nnz() 函式的基本語法。

語法:

num = nnz(m)

該語法將返回儲存在矩陣或向量 m 中的非零元素的總數,並將其儲存在變數 num 中。nnz() 函式的輸入應該是矩陣或向量。

例如,讓我們建立一個向量並使用 nnz() 函式查詢存在的非零元素的數量。

程式碼:

m = [0 1 0 5]
num = nnz(m)

輸出:

m =

   0   1   0   5

num = 2

我們在上面的程式碼中使用了一個包含四個元素的向量,其中兩個元素為零。我們可以看到 nnz() 函式返回兩個,這意味著給定矩陣或向量中存在兩個非零元素。

我們還可以在 nnz() 函式中定義條件。如果我們只想找到大於 1 的元素個數,我們可以使用大於符號來定義 nnz() 函式內部的條件。

例如,讓我們找出上述矩陣中存在的大於 1 的元素的數量。

程式碼:

m = [0 1 0 5]
num = nnz(m>1)

輸出:

m =

   0   1   0   5

num = 1

在上面的示例中,我們在 nnz() 函式中定義了一個條件來返回大於 1 的元素數。大於一的元素數為 1,正如我們在輸出中看到的那樣。

如果我們不定義條件,nnz() 函式將返回大於 0 的元素數,但我們可以更改該條件。我們還可以設定 nnz() 函式返回大於某個負數(如 -5)的元素數,在這種情況下,該函式將計算所有大於 -5 的元素,包括零。

例如,讓我們計算矩陣中大於負值的元素數量。

程式碼:

m = [-5 -1 1 0 5]
num = nnz(m>-5)

輸出:

m =

  -5  -1   1   0   5

num = 4

如我們所見,上述矩陣中有四個數字大於 -5,而 nnz() 函式也返回四個作為輸出。我們可以使用大於 >、小於 <、等於 =、大於等於 >=、小於等於 <=、邏輯與&和邏輯與或|運算子在 nnz() 函式中定義我們的條件。

AND & 和 OR |如果我們想定義多個條件,運算子會很有用。在 AND 運算子的情況下,如果元素滿足所有條件,則將被計算在內,而在 OR 運算子的情況下,如果元素滿足一個條件,則將被計算在內。

如果我們要統計大於某個值的元素個數和小於某個值的元素個數,可以使用 AND 運算子定義兩個條件。如果我們要計算大於某個值的元素個數和大於另一個值的元素個數,我們可以使用 OR 運算子。

例如,讓我們使用 nnz() 函式中的多個條件來計算矩陣中存在的元素數量。

程式碼:

m = [15 10 1 0 5]
num = nnz(m>1 & m<15)
num_2 = nnz(m>5 | m<1)

輸出:

m =

   15   10    1    0    5

num = 2
num_2 = 3

我們使用 AND 運算子查詢大於 1 和小於 15 的元素的數量,並且我們知道只有兩個元素也由 nnz() 函式返回。我們還使用 OR 運算子來查詢大於 5 或​​小於 1 的元素個數,我們知道兩個元素大於 5 和一個元素小於 1。

元素總數為 3,由 nnz() 函式返回。我們還可以在 nnz() 函式中使用 AND 和 OR 運算子來定義條件並定義任意數量的條件。

檢視此文件以獲取有關 nnz() 函式的更多詳細資訊。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Matrix