迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > MATLAB >

MATLAB norm() 函数

作者:迹忆客 最近更新:2023/03/19 浏览次数:

在本文章中,我们将讨论使用 MATLAB 中的 norm() 函数查找向量或矩阵的欧几里得范数和 Frobenius 范数。

MATLAB norm() 函数

MATLAB 的 norm() 函数用于求向量或矩阵的欧几里德范数和 Frobenius 范数。欧几里得范数是向量到其原点的欧几里得距离,它等于向量的大小、2 范数或欧几里得长度。

欧几里得距离等于欧几里得空间中两点之间线段的长度。我们还可以通过求向量与其自身的内积然后取其平方根来求欧几里得范数。

Frobenius 范数是矩阵的欧几里得范数。如果我们在 norm() 函数中传递一个向量,它将返回该向量的欧几里得范数,但在矩阵的情况下,norm() 函数将返回 Frobenius 范数。

norm() 函数有五种不同的语法,如下所示。

nm = norm(vec)
nm = norm(vec,p)
nm = norm(mat)
nm = norm(mat,p)
nm = norm(mat,"fro")

第一种语法将返回给定向量的 2 范数或欧几里得范数。第二种语法将返回给定向量的 p-范数,其中 p-范数可以是 1-范数、2-范数、3-范数等。

第三种语法将返回矩阵的最大奇异值或欧几里得范数。第四种语法将返回给定矩阵的 p 范数,p 可以是 1、2 或 Inf

如果 p 为 1,语法将返回给定矩阵的列的最大绝对和,如果 p 为 2,将返回 2-范数。如果 pInf,语法将返回给定矩阵的最大绝对行数。

最后一种语法将返回给定矩阵的 Frobenius 范数。例如,让我们使用 norm() 函数找到向量和矩阵的欧几里得范数。

请参阅下面的代码。

clc
clear

v1 = 1:5;
m = [1:10;21:30];
n1 = norm(v1)
n3 = norm(m)

输出:

n1 =

    7.4162


n3 =

   83.2005

在上面的输出中,返回了整个矩阵的范数,即 83。如果我们想找到矩阵中每一行或每一列的范数,我们可以使用 vecnorm() 函数,它将给定矩阵的每一行或每一列视为一个单独的向量并计算其范数。

例如,如果我们在 vecnorm() 函数中传递一个矩阵,它将返回一个向量,其中包含给定矩阵中存在的每一列的 2-范数。我们还可以将规范数设置为第二个参数,并将我们想要将规范作为第三个参数的维度设置为 vecnorm() 函数中的第三个参数。

查看此链接以获取有关 norm() 函数的更多详细信息。此外,查看此链接以了解有关 vecnorm() 函数的更多详细信息。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Matplotlib Pyplot 中显示网格

发布时间:2024/02/04 浏览次数:142 分类:Python

本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。

如何在 Matplotlib 中画一条任意线

发布时间:2024/02/04 浏览次数:166 分类:Python

本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。

Matplotlib 中的叠加条形图

发布时间:2024/02/04 浏览次数:182 分类:Python

本教程展示了如何使用 plt.bar()方法将某些数据集的条形图堆叠在另一个数据集上。我们在 Matplotlib 中使用 matplotlib.pyplot.bar()方法生成条形图。

设置 Matplotlib 网格间隔

发布时间:2024/02/04 浏览次数:250 分类:Python

本教程将介绍我们如何在 Matplotlib 绘图中设置网格间距,并对主要网格和次要网格应用不同的样式。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便