当前位置:网站首页>使用Matlab实现:幂法、反幂法(原点位移)
使用Matlab实现:幂法、反幂法(原点位移)
2022-07-02 06:25:00 【霏霏小雨】
幂法
例题
使用幂法,计算下面矩阵的主特征值及对应的特征向量。
A = [ 2 − 1 0 − 1 2 − 1 0 − 1 2 ] A= \left[\begin{array}{ccc} 2 & -1 & 0\\ -1 & 2 & -1\\ 0 & -1 & 2 \end{array}\right] A=⎣⎡2−10−12−10−12⎦⎤
实现
幂法的数学迭代公式为:
取 v ( 0 ) ≠ 0 , α ≠ 0 , 令 u ( 0 ) = v ( 0 ) 取 v^{(0)} \neq 0,\alpha \neq 0, 令 u^{(0)} = v^{(0)} 取v(0)̸=0,α̸=0,令u(0)=v(0)
v ( 1 ) = A v ( 0 ) = A u ( 0 ) v^{(1)} = A v^{(0)} = A u^{(0)} v(1)=Av(0)=Au(0)
u ( 1 ) = v ( 1 ) m a x ( v ( 1 ) ) = A v ( 0 ) m a x ( A v ( 0 ) ) u^{(1)} = \frac{v^{(1)}}{max(v^{(1)})} = \frac{A v^{(0)}}{max(A v^{(0)})} u(1)=max(v(1))v(1)=max(Av(0))Av(0)
v ( 2 ) = A u ( 1 ) = A v ( 1 ) m a x ( A v ( 0 ) ) = A 2 v ( 0 ) m a x ( A 2 v ( 0 ) ) v^{(2)} = A u^{(1)} = \frac{Av^{(1)}}{max(A v^{(0)})} = \frac{A^2 v^{(0)}}{max(A^2 v^{(0)})} v(2)=Au(1)=max(Av(0))Av(1)=max(A2v(0))A2v(0)
u ( 2 ) = v ( 2 ) m a x ( v ( 2 ) ) = A 2 v ( 0 ) m a x ( A 2 v ( 0 ) ) u^{(2)} = \frac{v^{(2)}}{max(v^{(2)})} = \frac{A^2 v^{(0)}}{max(A^2 v^{(0)})} u(2)=max(v(2))v(2)=max(A2v(0))A2v(0)
依次类推。
使用Matlab实现:
format long g;
v0 = [1;1;1];
u0 = [1;1;1];
A = [2,-1,0;-1,2,-1;0,-1,2];
v = A * u0;
u = v / norm(v, inf);
i = 0;
while norm(u - u0, inf) >= 1e-5
u0 = u;
v = A * u0;
u = v / norm(v, inf);
i ++;
end;
norm(v, inf)
i
u
求解得:
i = 8 , u ( 9 ) = ( 0.70711 , − 1 , 0.70711 ) T , λ = m a x ( v ( 9 ) ) = 3.41422 i = 8,u^{(9)} = (0.70711, -1, 0.70711)^T,\lambda = max(v^{(9)}) = 3.41422 i=8,u(9)=(0.70711,−1,0.70711)T,λ=max(v(9))=3.41422
反幂法
例题
已知下列矩阵有特征值 λ \lambda λ 的近似值 p = 4.3 p = 4.3 p=4.3 ,用原点位移的反幂法,求对应的特征向量 u u u ,并改善 λ \lambda λ 。
A = [ 3 0 − 10 − 1 3 4 0 1 − 2 ] A= \left[\begin{array}{ccc} 3 & 0 & -10\\ -1 & 3 & 4\\ 0 & 1 & -2 \end{array}\right] A=⎣⎡3−10031−104−2⎦⎤
实现
反幂法,是基于幂法,推导出来的一个求最小特征值的方法。由于特征值的性质,可以用来求某个近似值的精确特征值。
其数学迭代方法如下:
首先,对矩阵 A − p I A - p I A−pI进行三角分解,便于以后求方程组的解。
A − p I = L U A - p I = L U A−pI=LU
求 v ( k ) v^{(k)} v(k) 时,相当于求两个三角方程组。
{ L y ( k ) = u ( k − 1 ) U v ( k ) = y ( k ) \begin{cases} L y^{(k)} = u^{(k - 1)}\\ U v^{(k)} = y^{(k)}\\ \end{cases} { Ly(k)=u(k−1)Uv(k)=y(k)
又有:
u ( k ) = v ( k ) m a x ( v ( k ) ) u^{(k)} = \frac{v^{(k)}}{max(v^{(k)})} u(k)=max(v(k))v(k)
使用Matlab实现:
A = [3,0,-10;-1,3,4;0,1,-2];
I = eye(3,3);
p = 4.3;
u0 = [1;1;1];
v = inv(A - p * I) * u0;
u = v / norm(v, inf);
i = 0;
while norm(u - u0, inf) > 1e-5
u0 = u;
v = inv(A - p * I) * u0;
u = v / norm(v, inf);
i ++;
end;
i
u
x = p + 1 / norm(v, inf)
求解得:
i = 6 , u ( 7 ) = ( − 0.96606 , 1 , 0.15210 ) T , λ = p + 1 m a x ( v ( k ) ) = 4.57447 i = 6,u^{(7)} = (-0.96606, 1, 0.15210)^T,\lambda = p + \frac{1}{max(v^{(k)})} = 4.57447 i=6,u(7)=(−0.96606,1,0.15210)T,λ=p+max(v(k))1=4.57447
边栏推荐
- Ceaspectuss shipping company shipping artificial intelligence products, anytime, anywhere container inspection and reporting to achieve cloud yard, shipping company intelligent digital container contr
- SSM二手交易网站
- Sqli labs customs clearance summary-page4
- SQLI-LABS通关(less15-less17)
- 外币记账及重估总账余额表变化(下)
- Explain in detail the process of realizing Chinese text classification by CNN
- JS countdown case
- SQLI-LABS通关(less2-less5)
- 叮咚,Redis OM对象映射框架来了
- ORACLE 11G SYSAUX表空间满处理及move和shrink区别
猜你喜欢

搭建frp进行内网穿透

Two table Association of pyspark in idea2020 (field names are the same)

Oracle EBs and apex integrated login and principle analysis

Uniapp introduces local fonts

sparksql数据倾斜那些事儿

ORACLE 11G利用 ORDS+pljson来实现json_table 效果

User login function: simple but difficult

Proteus -- RS-232 dual computer communication

中年人的认知科普

Analysis of MapReduce and yarn principles
随机推荐
Sqli-labs customs clearance (less2-less5)
Tool grass welfare post
软件开发模式之敏捷开发(scrum)
搭建frp进行内网穿透
ORACLE APEX 21.2安装及一键部署
離線數倉和bi開發的實踐和思考
第一个快应用(quickapp)demo
Sqli labs customs clearance summary-page4
How to call WebService in PHP development environment?
Data warehouse model fact table model design
中年人的认知科普
Oracle apex Ajax process + dy verification
oracle EBS标准表的后缀解释说明
2021-07-19C#CAD二次开发创建多线段
sqli-labs通关汇总-page1
2021-07-17c /cad secondary development creation circle (5)
php中生成随机的6位邀请码
JS judge whether the object is empty
解决万恶的open failed: ENOENT (No such file or directory)/(Operation not permitted)
MySQL无order by的排序规则因素