MATLAB函数及应用
上QQ阅读APP看书,第一时间看更新

37.eigs函数

eigs函数用于计算矩阵的特征值和特征向量的子集。函数的语法格式为:

d=eigs(A):返回一个向量,其中包含矩阵A的6个模最大的特征值。当使用eig计算所有特征值的计算量很大时(如对于大型稀疏矩阵来说),这是非常有用的。

d=eigs(A,k):返回k个模最大的特征值。

d=eigs(A,k,sigma):基于sigma的值返回k个特征值。例如,eigs(A,k,'smallestabs')返回k个模最小的特征值。

d=eigs(A,k,sigma,Name,Value):使用一个或多个名称-值对组参数指定其他选项。例如,eigs(A,k,sigma,'Tolerance',1e-3)将调整算法的收敛容差。

d=eigs(A,k,sigma,opts):使用结构体指定选项。

d=eigs(A,B,____):解算广义特征值问题A∗V=B∗V∗D。可以选择指定k、sigma、opts或名称-值对组作为额外的输入参数。

d=eigs(Afun,n,___):指定函数句柄Afun,而不是矩阵。第二个输入n可求出Afun中使用的矩阵A的大小。可以选择指定B、k、sigma、opts或名称-值对组作为额外的输入参数。

[V,D]=eigs(____):返回对角矩阵D和矩阵V,前者包含主对角线上的特征值,后者的各列中包含对应的特征向量。可以使用上述语法中的任何输入参数组合。

[V,D,flag]=eigs(___):也返回一个收敛标志。如果flag为0,则表示已收敛所有特征值。

【例1-40】求稀疏矩阵的最大与最小特征值。

矩阵A=delsq(numgrid('C',15))是一个对称正定矩阵,特征值合理分布在区间(0,8)内。