矩阵行的 MATLAB 范数
本教程将讨论使用 MATLAB 中的 vecnorm() 或 sqrt() 和 sum() 函数查找矩阵每一行的范数。
使用 vecnorm() 函数对矩阵行进行 MATLAB 范数
我们可以使用 Matlab 的 vecnorm()
函数对矩阵的每一行取范数。 该函数可以找到向量、矩阵或多维数组的欧几里德和一般向量范数。
在欧几里德范数的情况下,vecnorm()
函数取所有值的平方,求出它们的和,然后取和的平方根。 在一般向量范数的情况下,vecnorm() 函数使用输入的值作为元素的幂。
该函数的基本语法如下所示。
output = vecnorm(matrix)
output = vecnorm(matrix, p)
第一个语法返回欧几里德范数或矩阵的 2 范数。 第二种语法返回一般向量范数或 p 范数,其中 p 的值可以是 1、2 或 Inf。
如果 p 的值为 1,范数将等于矩阵的绝对值之和。 如果 p 的值为 2,则一般向量范数将等于欧氏范数,如果值为无穷大,则范数将等于每个矩阵列中的最大值。
在向量的情况下,输出将是单个值,这将是向量的范数,而在数组的情况下,函数将沿数组的第一维取范数,其大小不应 等于 1。
假设我们在 vecnorm()
函数中传递一个矩阵,它将返回矩阵中每一列的范数,但我们可以使用 vecnorm()
函数的另一种语法来查找矩阵每一行的范数。
下面给出了用于查找每个矩阵行的范数的 vecnorm()
函数的语法。
output = vecnorm(matrix, normType, dimension);
在此语法中,第二个参数是范数类型,其值可以是正标量。 默认情况下,第二个参数的值设置为 2。
第三个参数是计算范数所依据的矩阵的维数。 在矩阵的情况下,我们可以使用 2 作为行维度,使用 1 作为列维度。
例如,让我们沿着列和行维度找到矩阵的范数。 请参阅下面的代码和输出。
clc
clear
m = magic(3)
n1 = vecnorm(m)
n2 = vecnorm(m,2,2)
输出:
m =
8 1 6
3 5 7
4 9 2
n1 =
9.4340 10.3441 9.4340
n2 =
10.0499
9.1104
10.0499
在上面的代码中,我们使用 magic()
函数创建了一个 3×3 矩阵来查找行和列的范数。 在上面的输出中,我们可以看到 vecnorm(m)
函数返回了每一列的范数,而 vecnorm(m,2,2)
返回了矩阵每一行的范数。
使用 sqrt() 和 sum() 函数的矩阵行的 MATLAB 范数
我们还可以使用 sqrt()
和 sum()
函数找到矩阵行的范数。 我们知道用于查找矩阵行范数的算法,其中我们首先需要取值的平方,然后使用 sum()
函数求出它们的和,之后,我们可以使用 平方根()函数。
例如,让我们沿着行维度找到矩阵的范数。 请参阅下面的代码和输出。
clc
clear
m = magic(3)
n1 = sqrt(sum(m.^2,2))
输出:
m =
8 1 6
3 5 7
4 9 2
n1 =
10.0499
9.1104
10.0499
在上面的代码中,我们使用 m.^2
参数来计算矩阵所有值的平方,并且我们在 sum()
函数中使用 2 作为第二个参数来计算行元素的总和,但是如果 我们想找到列的范数,我们可以使用 1 作为第二个参数。 上面的输出显示范数与第一个示例中的相同。
相关文章
如何在 Matplotlib Pyplot 中显示网格
发布时间:2024/02/04 浏览次数:142 分类:Python
-
本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。
在 Matplotlib 中的图中添加文字
发布时间:2024/02/04 浏览次数:180 分类:Python
-
本教程展示了我们如何使用 plt.text()方法在 Matplotlib 中为图或轴添加文字。
如何在 Matplotlib 中的多个线条之间进行填充
发布时间:2024/02/04 浏览次数:208 分类:Python
-
`fill_between()` 每次只能填充两条线之间的区域,但是我们可以选择一对行来填充多个线条之间的区域。
如何在 Matplotlib 中画一条任意线
发布时间:2024/02/04 浏览次数:166 分类:Python
-
本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。
Pandas 在 Matplotlib 柱状图上绘制多列图
发布时间:2024/02/04 浏览次数:189 分类:Python
-
在本教程中,我们将探讨如何使用 `DataFrame` 对象的 `plot()` 方法在柱状图上绘制多列。
如何在 Matplotlib 中绘制数据列表的直方图
发布时间:2024/02/04 浏览次数:178 分类:Python
-
本教程介绍了如何使用 plt.hist()方法从数据列表中绘制直方图。我们可以使用 plt.hist()方法从数据列表中绘制直方图。
Matplotlib 中的叠加条形图
发布时间:2024/02/04 浏览次数:182 分类:Python
-
本教程展示了如何使用 plt.bar()方法将某些数据集的条形图堆叠在另一个数据集上。我们在 Matplotlib 中使用 matplotlib.pyplot.bar()方法生成条形图。
在 Python Matplotlib 中生成反向色彩图
发布时间:2024/02/04 浏览次数:136 分类:Python
-
本教程解释了如何反转 Python Matplotlib Plot 的 Colormap。
设置 Matplotlib 网格间隔
发布时间:2024/02/04 浏览次数:250 分类:Python
-
本教程将介绍我们如何在 Matplotlib 绘图中设置网格间距,并对主要网格和次要网格应用不同的样式。