Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

normest

2-范数估值

说明

示例

n = normest(S) 返回矩阵 S 的 2-范数估值。

本函数旨在主要用于稀疏矩阵,尽管也适用于大型满矩阵。

示例

n = normest(S,tol) 使用相对误差容限 tol 而不是默认容限 1.0e-6 来估计 2-范数。

示例

[n,count] = normest(___) 返回 2-范数估值并给出在计算中使用的幂迭代数。请将此语法与上述语法中的任何输入参数结合使用。

示例

全部折叠

创建一个 5×5 稀疏对角矩阵。

S = sparse(1:5,1:5,1:5)
S = 
   (1,1)        1
   (2,2)        2
   (3,3)        3
   (4,4)        4
   (5,5)        5

估计矩阵 S 的 2-范数。

n = normest(S)
n = 5.0000

创建一个由均匀分布的随机数组成的 1000×1000 矩阵。

rng default
S = rand(1000);

使用 norm 计算矩阵 S 的 2-范数。通过一对 tictoc 调用来测量经过的时间。

tic
norm(S)
ans = 500.4856
toc
Elapsed time is 0.458821 seconds.

要加快 2-范数的计算速度,请使用 normest 与指定的容差 1.0e-4 来估计 S 的 2-范数。

tic
normest(S,1.0e-4)
ans = 500.4856
toc
Elapsed time is 0.052954 seconds.

创建一个 7×7 矩阵。

S = gallery('clement',7,7)
S = 7×7

         0    2.4495         0         0         0         0         0
    2.4495         0    3.1623         0         0         0         0
         0    3.1623         0    3.4641         0         0         0
         0         0    3.4641         0    3.4641         0         0
         0         0         0    3.4641         0    3.1623         0
         0         0         0         0    3.1623         0    2.4495
         0         0         0         0         0    2.4495         0

估计该矩阵的 2-范数,并返回在计算中使用的幂迭代的次数。

[n,count] = normest(S)
n = 6.0000
count = 4

输入参数

全部折叠

输入矩阵,指定为稀疏矩阵或满矩阵。

数据类型: single | double
复数支持:

相对误差容限,指定为非负实数。tol 的值确定何时认为范数估计是可接受的:执行迭代,直到两个连续的估计值均在指定的 tol 内。

数据类型: single | double

输出参数

全部折叠

矩阵范数,以标量形式返回。如果输入包含 NaN 值,则 normest 返回 NaN

用于估计 2-范数的幂迭代的次数,以非负整数形式返回。

算法

幂迭代涉及到 S 及其转置 S' 的多次相乘。执行迭代,直到两个连续的范数估计值均在指定的相对误差容限内。

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |