Matlab 7.0及以上
根据线性代数理论,特征值与特征向量只存在于方阵。如下所示为一方阵A:在matlab输入矩阵:A = [1 2 4; 4 0 7 9 1 3];
查阅matlab help可以知道,利用eig函数可以快速求解矩阵的特征值与特征向量。格式:[V,D] = eig(A)说明:其中D为特征值构成的对角阵,每个特征值对应于V矩阵中列向量(也正是其特征向量),如果只有一个返回变量,则得到该矩阵特征值构成的列向量。
按上述说明,在matlab输入: [V,D] = eig(A) 即可求出结果。完整的代码:clc;clear;% [V,D] = eig(A) A = [1 2 4; 4 0 7 9 1 3];[V,D] = eig(A)注:需点击运行按钮,如下图所示:
运行结果如下所示:V = 0.4301 0.1243 - 0.2934i 0.1243 + 0.2934i 0.6288 0.7870 0.7870 0.6478 -0.4054 + 0.3388i -0.4054 - 0.3388iD = 9.9473 0 0 0 -2.9736 + 1.5220i 0 0 0 -2.9736 - 1.5220i可以看到,该方阵有三个特征值,分别为:9.9473 -2.9736 + 1.5220i -2.9736 - 1.5220i对应的特征向量为:(1) 0.4301 0.6288 0.6478(2) 0.1243 - 0.2934i 0.7870 -0.4054 + 0.3388i(3)0.1243 + 0.2934i0.7870-0.4054 - 0.3388i
求解特征值与特征向量时矩阵必须是方阵!