用matlab写一段求矩阵特征值和特征向量的代码
使用matlab求N阶矩阵的特征值与特征向量,要求不能使用软件自带的函数,自己编写代码。麻烦高手将代码跟贴发出,或者发至邮箱scorpiowjk@163.com...
使用matlab求N阶矩阵的特征值与特征向量,要求不能使用软件自带的函数,自己编写代码。麻烦高手将代码跟贴发出,或者发至邮箱scorpiowjk@163.com
展开
1个回答
展开全部
举一个简单的例子供参考一下
>>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是特征值
>>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是特征值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询