Cayley-Hamilton定理在MATLAB中的实现
根据线性代数,每个方阵都满足自己的特征方程。考虑阶数为“n”的方阵“A”,则其特征方程由关系式给出:
其中“λ”是某个实数常数,“I”是与 A 的阶相同的阶单位矩阵。
扩展上述关系,我们得到:
λn + C1λn-1 + C2λn-2 + . . . + CnIn = 0 (
Another form of Characteristic equation)
where C1, C2, . . . , Cn are Real Constants.
根据 Cayley-Hamilton 定理,上式满足 'A',因此我们有:
An + C1An-1 + C2An-2 + . . . + CnIn = 0
以下代码中使用的不同方法是:
- input(text):此方法显示其中写入的文本并等待用户输入值并按回车键。
- size(A):此方法返回一个行向量,其元素是“A”对应维度的长度。
- poly(A):此方法返回方阵“A”的特征多项式的 n+1 个系数。
- zeroes(size):此方法返回一个零数组,其大小向量等于“size”的向量。
例子:
Matlab
% MATLAB code for Implementation of Cayley-Hamilton’s theorem
clear all
clc
disp("Cayley-Hamilton’s theorem in MATLAB | GeeksforGeeks")
A = input("Enter a matrix A : ")
% DimA(1) = no. of Columns & DimA(2) = no. of Rows
DimA = size(A)
charp = poly(A)
P = zeros(DimA);
for i = 1:(DimA(1)+1)
P = P + charp(i)*(A^(DimA(1)+1-i));
end
disp("Result of the Characteristic equation after substituting the Matrix itself = ")
disp(round(P))
if round(P)==0
disp("Therefore, Caylay-Hamilton theorem is verified")
end
输出: