怎么用matlab求矩阵的特征值和特征向量

2020-11-25 11:24:03 字数 10592 阅读 2415

1楼:天云一号

eig函数直接可以求特征值和特征向量

在matlab中,计算矩阵a的特征值和特征向量的函数是eig(a),常用的调用格式有5种:

e=eig(a):求矩阵a的全部特征值,构成向量e。

[v,d]=eig(a):求矩阵a的全部特征值,构成对角阵d,并求a的特征向量构成v的列向量。

[v,d]=eig(a,'nobalance'):与第2种格式类似,但第2种格式中先对a作相似变换后求矩阵a的特征值和特征向量,而格式3直接求矩阵a的特征值和特征向量。

e=eig(a,b):由eig(a,b)返回n×n阶方阵a和b的n个广义特征值,构成向量e。

[v,d]=eig(a,b):由eig(a,b)返回方阵a和b的n个广义特征值,构成n×n阶对角阵d,其对角线上的n个元素即为相应的广义特征值,同时将返回相应的特征向量构成n×n阶满秩矩阵,且满足av=bvd。

在matlab中求矩阵特征值和特征向量的**

2楼:大野瘦子

>>clc;clear;close;

>>a=[3,-1,-2;2,0,-2;2,-1,-1];

>>[x,b]=eig(a) %求矩阵a的特征值和特征向量,其中b的对角线元素是特征值,

%x的列是相应的特征向量

最后的结果是:

x =0.7276 -0.5774 0.6230

0.4851 -0.5774 -0.2417

0.4851 -0.5774 0.7439

b =1.0000 0 0

0 0.0000 0

0 0 1.0000

特征值和特征向量的求解根据项目的需求或者是矩阵的具体形式,主要可以分成如下三种形式:

1、只需要获得矩阵的最大特征值和特征值所对应的特征向量。

2、需要求取矩阵的所有特征值。

3、需要求取特征值和特征向量的矩阵为实对称矩阵,则可以通过另一种方法进行求解。

这三种形式特征值和特征向量的求取:

1.如果自己仅仅要求最大特征值的话肯定采用形式1的算法,该算法的优点是时间复杂度较低,计算量相对较小,该方法不但能够求取特征值和特征向量,而且只要特征值不全为0,该方法都能获得想要的结果。

2.如果需要获得一个矩阵的所有特征值,则通过形式2可以很好的解决该问题,但是该方法的缺点是仅仅能够获得特征值,获得特征值之后利用其它方法进行求解,这样做自然而然计算量就大了起来。

3.如果矩阵为实对称矩阵,那么可以通过形式3对其进行特征值和特征向量的求取,该方法相对于形式2的好处就是能够一次性将特征值和特征向量求取出来,缺点就是矩阵必须是实对称矩阵,至于算法复杂度方面我没有进行测试。

3楼:匿名用户

1、首先打开自己的电脑,然后在桌面上打开matlab软件,进入matlab主界面。

2、然后需要知道计算矩阵的特征值和特征向量要用eig函数,可以在该软件的命令行窗口中输入help eig,查看一下eig函数的用法。

3、在该软件命令行窗口中输入a=[1 2 3;2 4 5;7 8 9],你按键盘上的回车键之后,输入[x,y]=eig(a)。

4、当你按了键盘上的回车键之后,得到了x,y的值,其中x的每一列值表示矩阵a的一个特征向量,里面有3个特征向量,y的对角元素值代表a矩阵的特征值。

4楼:

matlab具体**如下:

>>clc;

>>clear;

>>close;

>>a=[3,-1,-2;2,0,-2;2,-1,-1];

>>[x,b]=eig(a)

**中最后一行指的是求矩阵a的特征值和特征向量,其中b的对角线元素是特征值,而x的列即为相应的特征向量。

5楼:g用事实说话

不明白你说的是什么意思,我看不懂啊,你能把那个意思详细说一下吗?

6楼:匿名用户

>> a=[3 -1 -2;2 0 -2;2 -1 -1]a =3 -1 -2

2 0 -2

2 -1 -1

>> [v,d]=eig(a)

v =0.7276 -0.5774 0.

62300.4851 -0.5774 -0.

24170.4851 -0.5774 0.

7439d =1.0000 0 00 0.0000 00 0 1.

0000d为特征值,v为每个特征值对应

的特征向量

7楼:匿名用户

[d,v]=eig(a)

8楼:匿名用户

a=[3 -1 -2 ;2 0 -2;2 -1 -1];

[u v]=eigs(a)

怎么求复数矩阵的特征值和特征向量

9楼:小乐笑了

跟实矩阵求特征值,特征向量类似,一步一步往下做

如何用matlab求矩阵的特征值及其特征向量

10楼:射手座

[v,d]=eig(a):求矩阵a的全部特征值,构成对角阵d,并求a的特征向量构成v的列向量

a=[1 2 3;4 5 3;5 4 2];

>> [v,d]=eig(a)

v =-0.370937915979909 -0.691545561718756 0.482529180116882

-0.703281764566580 0.083451238716327 -0.753226224556934

-0.606465021346326 0.717496081399613 0.447007656506505

d =9.696761517759944 0 0

0 -2.353923226499950 0

0 0 0.657161708740017

11楼:戊遐思卫词

用函数[v,d]=eig(a)

矩阵d的对角元存储的是a的所有特征值,

而且是从小到大排列的

矩阵v的每一列存储的是相应的特征向量

所以应该是v的最后一个列

就是最大特征值的特征向量

12楼:朱培胜钞雨

这有个我们以前的matlab幂法求特征值和特征响量的程序:

[maxnorm.m]

function

t=maxnorm(a)

%求数列中按模最大的分量

n=length(a);

t=0;

fori=1:n

ifabs(a(i)/max(abs(a)))>=1t=a(i);

endend

function

[mt,my]=maxtr(a,eps)

%用幂法求矩阵的主特征值和对应的特征向量

n=length(a);

x0=diag(ones(n));

k=1x=a*x0

while

norm(x-x0)>eps

k=k+1

q=x;

y=x/maxnorm(x)

x=a*y;

x0=q;

endmt=maxnorm(x)

my=y

[main1.m]

a=[3

2;45]

maxtr(a,0.0001)

[invmaxtr.m]

function

[mx,mt,my]=invmaxtr(a,eps)%求矩阵按模最小的特征值和对应的特征向量

n=length(a);

x0=diag(ones(n));

x=inv(a)*x0;

k=0while

norm(x-x0)>eps

k=k+1

q=x;

y=x/maxnorm(x)

x=inv(a)*y;

x0=q;

endmt=1/maxnorm(x)

my=y

[main.m]

a=[3

2;45]

invmaxtr(a)

matlab怎么计算矩阵的特征值和特征向量

13楼:天云一号

在matlab中,可以用eig函数计算矩阵的特征值和特征向量。举例如下:

>>a=[1,2,3;4,5,6;7,8,9]%原始数据矩阵

a=123

456

789

>>[v,d]=eig(a)%特征值分解,其中v的每一列表示矩阵a的一个特征向量,d是一个对角矩阵,对角线上的元素表示矩阵a的特征值

v=-0.2320-0.78580.

4082-0.5253-0.0868-0.

8165-0.81870.61230.

4082d=16.1168000-1.1168000-0.

0000

14楼:我行我素

类似这样:

a=[....];

[v,d]=eig(a);%v是特征矢量组成的矩阵,d的对角线元素就是特征值

15楼:今天

使用库函数eig()

eig: find eigenvalues and eigenvectors(返回矩阵的特征值和特征向量; )

[v,d] = eig(a)

d是特征值

v特征向量

16楼:匿名用户

矩阵a特征值:x=eig(a)

特征向量: v

特征对角阵:d av=vd

[v,d]=eig(a)

17楼:匿名用户

[v, d]=eig(a)

如何用matlab求这个矩阵的特征值和特征向量呢?

18楼:匿名用户

[v,d]=eig(a)

d为特征值

v的列向量为对应特征值的特征向量

19楼:化学工程

20个太多,用2个举例:

clc;clear

m=1;n=2;

for x=1:n

for y=1:n

for z=1:n

a(:,:,m)=[0 -1 x 0;1 0 0 x;y 0 z/y -1;0 y 1 z/x];

[v(:,:,m),d(:,:,m)]=eig(a(:,:,m))

m=m+1;

endend

end结果:

v(:,:,1) =

0.0000 + 0.6015i 0.0000 - 0.6015i 0.3717 + 0.0000i 0.3717 - 0.0000i

0.6015 0.6015 -0.0000 - 0.3717i -0.0000 + 0.3717i

-0.0000 - 0.3717i -0.0000 + 0.3717i 0.6015 0.6015

-0.3717 + 0.0000i -0.3717 - 0.0000i -0.0000 - 0.6015i -0.0000 + 0.6015i

v(:,:,2) =

-0.6533 -0.6533 0.2706 + 0.0000i 0.2706 - 0.0000i

0.0000 + 0.6533i 0.0000 - 0.6533i -0.0000 - 0.2706i -0.0000 + 0.2706i

0.2706 + 0.0000i 0.2706 - 0.0000i 0.6533 0.6533

-0.0000 - 0.2706i -0.0000 + 0.2706i -0.0000 - 0.6533i -0.0000 + 0.6533i

v(:,:,3) =

0.0527 - 0.3450i 0.0527 + 0.3450i -0.4661 + 0.0198i -0.4661 - 0.0198i

-0.3238 - 0.0141i -0.3238 + 0.0141i 0.0517 + 0.4846i 0.0517 - 0.4846i

0.1132 - 0.5975i 0.1132 + 0.5975i 0.5407 0.5407

-0.6351 -0.6351 -0.0717 - 0.4974i -0.0717 + 0.4974i

v(:,:,4) =

0.1041 - 0.2772i 0.1041 + 0.2772i -0.0501 + 0.5145i -0.0501 - 0.5145i

-0.2482 - 0.0204i -0.2482 + 0.0204i 0.5498 0.5498

0.2535 - 0.5790i 0.2535 + 0.5790i 0.0867 - 0.4927i 0.0867 + 0.4927i

-0.6714 -0.6714 -0.4237 + 0.0265i -0.4237 - 0.0265i

v(:,:,5) =

0.6337 0.6337 -0.0539 - 0.4971i -0.0539 + 0.4971i

0.0386 - 0.6054i 0.0386 + 0.6054i -0.5384 -0.5384

-0.3265 + 0.0121i -0.3265 - 0.0121i -0.0740 - 0.4843i -0.0740 + 0.4843i

-0.0373 + 0.3496i -0.0373 - 0.3496i -0.4688 - 0.0167i -0.4688 + 0.0167i

v(:,:,6) =

0.6681 0.6681 0.4123 + 0.0339i 0.4123 - 0.0339i

0.0609 - 0.6253i 0.0609 + 0.6253i 0.1729 - 0.4606i 0.1729 + 0.4606i

-0.2574 + 0.0161i -0.2574 - 0.0161i 0.5578 0.5578

-0.0527 + 0.2994i -0.0527 - 0.2994i 0.2106 - 0.4810i 0.2106 + 0.4810i

v(:,:,7) =

0.5301 0.5301 -0.4680 - 0.0000i -0.4680 + 0.0000i

0.0000 - 0.5301i 0.0000 + 0.5301i -0.0000 + 0.4680i -0.0000 - 0.4680i

-0.4680 + 0.0000i -0.4680 - 0.0000i -0.5301 -0.5301

-0.0000 + 0.4680i -0.0000 - 0.4680i -0.0000 + 0.5301i -0.0000 - 0.5301i

v(:,:,8) =

-0.5573 -0.5573 -0.0000 + 0.4352i -0.0000 - 0.4352i

0.0000 + 0.5573i 0.0000 - 0.5573i 0.4352 + 0.0000i 0.4352 - 0.0000i

0.4352 + 0.0000i 0.4352 - 0.0000i -0.0000 + 0.5573i -0.0000 - 0.5573i

-0.0000 - 0.4352i -0.0000 + 0.4352i 0.5573 0.5573

d(:,:,1) =

-0.6180 + 1.0000i 0 0 0

0 -0.6180 - 1.0000i 0 0

0 0 1.6180 + 1.0000i 0

0 0 0 1.6180 - 1.0000i

d(:,:,2) =

-0.4142 + 1.0000i 0 0 0

0 -0.4142 - 1.0000i 0 0

0 0 2.4142 + 1.0000i 0

0 0 0 2.4142 - 1.0000i

d(:,:,3) =

1.8415 + 0.9852i 0 0 0

0 1.8415 - 0.9852i 0 0

0 0 -1.0915 + 0.9933i 0

0 0 0 -1.0915 - 0.9933i

d(:,:,4) =

2.3617 + 0.9230i 0 0 0

0 2.3617 - 0.9230i 0 0

0 0 -0.8617 + 0.9840i 0

0 0 0 -0.8617 - 0.9840i

d(:,:,5) =

-1.0915 + 0.9933i 0 0 0

0 -1.0915 - 0.9933i 0 0

0 0 1.8415 + 0.9852i 0

0 0 0 1.8415 - 0.9852i

d(:,:,6) =

-0.8617 + 0.9840i 0 0 0

0 -0.8617 - 0.9840i 0 0

0 0 2.3617 + 0.9230i 0

0 0 0 2.3617 - 0.9230i

d(:,:,7) =

-1.7656 + 1.0000i 0 0 0

0 -1.7656 - 1.0000i 0 0

0 0 2.2656 + 1.0000i 0

0 0 0 2.2656 - 1.0000i

d(:,:,8) =

-1.5616 + 1.0000i 0 0 0

0 -1.5616 - 1.0000i 0 0

0 0 2.5616 + 1.0000i 0

0 0 0 2.5616 - 1.0000i

请问线性代数求矩阵的特征值与特征向量怎样算的

1楼 是行列式,不是矩阵。行列式的第二列加到第一列上,则第一列提取公因子y 2,然后第一行乘以 1加到第二行上,行列式是上三角行列式了,直接得结果 y 2 平方 y 4 线性代数的时候给了矩阵是怎么求特征值和特征函数的 2楼 匿名用户 根据ax x,即 a e x o 令a e的行列式等于0求所有特...

线性代数特征值和特征向量的关系,线性代数,A的特征值与A的伴随矩阵的特征值有什么关系?怎么推出来的?

1楼 小乐笑了 将特征值代入特征方程 i a x 0 求出基础解系,即可得到该特征值所对应的特征向量 线性代数,a的特征值与a的伴随矩阵的特征值有什么关系?怎么推出来的? 2楼 demon陌 当a可逆时 若 是 a的特征值 是a的属于特征值 的特征向量 则 a 是 a 的特征值 仍是a 的属于特征值...

请教如何理解不同特征值对应的特征向量线性无关

1楼 夙愿 对应于不同特征值的特征向量之间是线性 无关的。问 在对角化里的p不是线性无关的吗? 答 是的,n阶矩阵a能对角化的充要条件就是a有n个线性无关的特征向量,p就是这些特征向量构成的可逆矩阵。问 而特征值却有可能的是相同的答 特征值相同就是指特征值的重数。例如矩阵a有3个特征值1 3 3 如...