Matlab 中的eig和sort函数

eig 函数

e = eig(A) 返回一个列向量,其中包含方阵 A 的特征值。

[V,D] = eig(A) 返回特征值的对角矩阵 D 和矩阵 V,其列是对应的右特征向量,使得 A*V = V*D

[V,D,W] = eig(A) 还返回满矩阵 W,其列是对应的左特征向量,使得 W'*A = D*W'

特征值问题是用来确定方程 Av = λv 的解,其中,A 是 n×n 矩阵,v 是长度 n 的列向量,λ 是标量。满足方程的 λ 的值即特征值。满足方程的 v 的对应值即右特征向量。左特征向量 w 满足方程 w’A = λw’。

e = eig(A,B) 返回一个列向量,其中包含方阵 AB 的广义特征值。

[V,D] = eig(A,B) 返回广义特征值的对角矩阵 D 和满矩阵 V,其列是对应的右特征向量,使得 A*V = B*V*D

[V,D,W] = eig(A,B) 还返回满矩阵 W,其列是对应的左特征向量,使得 W'*A = D*W'*B

广义特征值问题是用来确定方程 Av = λBv 的解,其中,A 和 B 是 n×n 矩阵,v 是长度 n 的列向量,λ 是标量。满足方程的 λ 的值即广义特征值。对应的 v 的值即广义右特征向量。左特征向量 w 满足方程 w’A = λw’B。

[___] = eig(A,balanceOption)(其中,balanceOption'nobalance')禁用该算法中的初始均衡步骤。balanceOption 的默认值是 'balance',表示启用均衡步骤。eig 函数可以返回先前语法中的任何输出参数。

[___] = eig(A,B,algorithm)(其中,algorithm'chol')使用 B 的 Cholesky 分解计算广义特征值。algorithm 的默认值取决于 AB 的属性,但通常是 'qz',表示使用 QZ 算法。

如果 A 为 Hermitian 并且 B 为 Hermitian 正定矩阵,则 algorithm 的默认值为 'chol'

[___] = eig(___,eigvalOption) 使用先前语法中的任何输入或输出以 eigvalOption 指定的形式返回特征值。将 eigvalOption 指定为 'vector' 可返回列向量中的特征值,指定为 'matrix' 可返回对角矩阵中的特征值。

sort 函数

B = sort(A) 按升序对 A 的元素进行排序。

  • 如果 A 是向量,则 sort(A) 对向量元素进行排序。
  • 如果 A 是矩阵,则 sort(A) 会将 A 的列视为向量并对每列进行排序。
  • 如果 A 是多维数组,则 sort(A) 会沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。

B = sort(A,dim) 返回 A 沿维度 dim 的排序元素。例如,如果 A 是一个矩阵,则 sort(A,2) 对每行中的元素进行排序。

B = sort(___,direction) 使用上述任何语法返回按 direction 指定的顺序显示的 A 的有序元素。'ascend' 表示升序(默认值),'descend' 表示降序。

B = sort(___,Name,Value) 指定用于排序的其他参数。例如,sort(A,'ComparisonMethod','abs') 按模对 A 的元素进行排序。

[B,I] = sort(___) 还会为上述任意语法返回一个索引向量的集合。I 的大小与 A 的大小相同,它描述了 A 的元素沿已排序的维度在 B 中的排列情况。例如,如果 A 是一个向量,则 B = A(I)

updatedupdated2021-08-162021-08-16