用matlab写一段求矩阵特征值和特征向量的代码

来源:百度知道 编辑:UC知道 时间:2024/07/05 00:29:12
使用matlab求N阶矩阵的特征值与特征向量,要求不能使用软件自带的函数,自己编写代码。麻烦高手将代码跟贴发出,或者发至邮箱scorpiowjk@163.com

举一个简单的例子供参考一下
>>A=sym('[1 1/5 1/3 1/3;5 1 5 5;3 1/5 1 1/3;3 1/5 3 1 ]')

A =
[ 1, 1/5, 1/3, 1/3]
[ 5, 1, 5, 5]
[ 3, 1/5, 1, 1/3]
[ 3, 1/5, 3, 1]

>> [V,D]=eig(A)

V =

[ 1/3*i*3^(1/2), -1/3*i*3^(1/2), 1/3*3^(1/2), -1/3*3^(1/2)]
[ -5, -5, 5, 5]
[ 1, 1, 1, 1]
[ -i*3^(1/2), i*3^(1/2), 3^(1/2), -3^(1/2)]

D =

[ 2/3*i*3^(1/2), 0, 0, 0]
[ 0, -2/3*i*3^(1/2), 0, 0]
[ 0, 0, 2+4/3*3^(1/2), 0]
[ 0, 0, 0, 2-4/3*3^(1/2)]

其它的道理一样。
[V,D] = EIG(X) produces a diagonal matrix D of eigenvalues and a full matrix V whose columns are the corresponding eigenvectors so that X*V = V*D.

V是特征向量,D是特征值

mark先