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()
函数的更多详细信息。