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()
函式的更多詳細資訊。