matlab 根据特征多项式 如何求矩阵

作者&投稿:逮钢 (若有异议请与网页底部的电邮联系)
matlab中怎么求矩阵特征多项式~

使用matlab的符号计算功能即可。
使用到的函数:
eye 生成单位矩阵
det 求矩阵行列式
simplify 符号量化简

示例代码:
syms x
A=[1 2 0;2 2 -2;0 -2 3]%定义一个矩阵
simplify(det(A-eye(3)*x))%求出并展示其特征多项式

运行结果为:
A =

1 2 0
2 2 -2
0 -2 3


ans =

- x^3 + 6*x^2 - 3*x - 10

特征矩阵如上,求其行列式,即特征多项式。
按第1列展开,得到2阶行列式,然后按对角线法则展开,得到:
(λ-1)[(λ+1)λ-1]
=(λ-1)(λ^2+λ-1)
=(λ-1)[(λ^2+λ+1)-2]
=(λ^3-1)-2(λ-1)
=λ^3-2λ+1
对于求解线性递推数列,我们还经常使用生成函数法,而对于常系数线性递推数列,其生成函数是一个有理分式,其分母即特征多项式。
为n*n的矩阵A的特征多项式为|A-λE|,其中E为n*n的单位矩阵。
扩展资料:
特征多项式解法:
1、把|λE-A|的各行(或各列)加起来,若相等,则把相等的部分提出来(一次因式)后,剩下的部分是二次多项式,肯定可以分解因式。
2、把|λE-A|的某一行(或某一列)中不含λ的两个元素之一化为零,往往会出现公因子,提出来,剩下的又是一二次多项式。
3、试根法分解因式。
对布于任何交换环上的方阵都能定义特征多项式。要理解特征多项式,首先需要了解一下特征值与特征向量,这些都是联系在一起的:
设A是n阶矩阵,如果数λ和n维非零列向量x使得关系式Ax=λx成立,那么,这样的数λ就称为方阵A的特征值,非零向量x称为A对应于特征值λ的特征向量。
参考资料来源:百度百科——特征多项式

使用matlab的符号计算功能即可。
使用到的函数:
eye
生成单位矩阵
det
求矩阵行列式
simplify
符号量化简
示例代码:
syms
x
a=[1
2
0;2
2
-2;0
-2
3]%定义一个矩阵
simplify(det(a-eye(3)*x))%求出并展示其特征多项式
运行结果为:
a
=
1
2
0
2
2
-2
0
-2
3
ans
=
-
x^3
+
6*x^2
-
3*x
-
10

p=[1
3
-5
-6];
a=roots(p)';
A=blkdiag(a(1),a(2),a(3))
先求出特征值,然后以这些特征值为对角线元素的矩阵就是所求


吴中区13360792523: matlab 根据特征多项式 如何求矩阵 -
竹眨三七: p=[1 3 -5 -6]; a=roots(p)'; A=blkdiag(a(1),a(2),a(3)) 先求出特征值,然后以这些特征值为对角线元素的矩阵就是所求

吴中区13360792523: 怎么用MATLAB求矩阵的特征多项式???求高手相助.....先谢谢啦. -
竹眨三七: A=[1,2,3;4,5,6;7,8,9]; poly(A) 得到的 ans = 1.0000 -15.0000 -18.0000 -0.0000 这个不好看.可以这样弄一下. A=[1,2,3;4,5,6;7,8,9]; AA=sym(A); poly(AA) 得到的结果 ans =x^3-15*x^2-18*x 这下就清楚了吧.

吴中区13360792523: 如何利用数学软件MATLAB计算特征多项式 -
竹眨三七: 你好 一般先输入矩阵,假设A 然后poly(A) 输出的就是对应特征多项式从最高次到零次的系数 希望对你有帮助!

吴中区13360792523: matlab中怎么求矩阵特征多项式 -
竹眨三七: 举个例子:>> A=[3 7 -3;-2 -5 2; -4 -10 3]; >> AA=sym(A); >> poly(AA)ans =x^3 - x^2 + x - 1

吴中区13360792523: 请用matlab求下矩阵的特征多项式矩阵是[ - 2 2 - 1 0 - 2 0 1 - 4 0],注意是特征多项式 -
竹眨三七:[答案] 输入命令“ syms t; expand(det(t*eye(3)-s))”即可. 答案是t^3 + 4*t^2 + 5*t + 2.

吴中区13360792523: 如何用matlab求矩阵的特征多项式和特征值啊,例如我生成的是一个4阶魔术矩阵 -
竹眨三七: >> magic(4) ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1>> [d,v]=eig(ans) d = -0.5000 -0.8236 0.3764 -0.2236 -0.5000 0.4236 0.0236 -0.6708 -0.5000 0.0236 0.4236 0.6708 -0.5000 0.3764 -0.8236 0.2236 v = 34.0000 0 0 0 0 8.9443 0 0 0 0 -8.9443 0 0 0 0 0.0000

吴中区13360792523: MATLAB中poly函数的用法 -
竹眨三七: 该函数用于求特征多项式 poly(A) 当A是一个N*N矩阵式,poly(A)命令求出A的特征多项式 det(lambda*eye(size(A))-A) 当V是向量时,命令poly(A)生成以V为根的多项式 参考 >>help poly >>A = magic(3); >>poly(A)

吴中区13360792523: matlab中如何求符号矩阵的简化的特征多项式 -
竹眨三七: 使用matlab的符号计算功能即可.使用到的函数:eye 生成单位矩阵 det 求矩阵行列式 simplify 符号量化简 示例代码:syms x A=[1 2 0;2 2 -2;0 -2 3]%定义一个矩阵 simplify(det(A-eye(3)*x))%求出并展示其特征多项式

吴中区13360792523: Matlab:求矩阵 的特征多项式 P,并计算 P(A),这个P(A)怎么求,啥意思 -
竹眨三七:[答案] 意思是这样的:A是一个矩阵,P是A的特征多项式.P(A)的意思就是把lamda的地方全部换成A,然后计算出来.例如:>> clear;>> A=[1,2;3,4]A =1 2 3 4 >> syms x>> P=det(x*eye(2)-A)P =x^2 - 5*x - 2>> subs(P,A)ans =[ -...

吴中区13360792523: Matlab怎么求特征多项式(带未知量的) -
竹眨三七: 特征值和特征向量 用 [x,lumda]=eig(A) 即Ax=lumda*x

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网