【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)

简介: 【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)

题目

用幂法计算下列矩阵的按模最大特征值及对应的特征向量

幂法

代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 简介:用幂法计算矩阵的主特征值和对应的特征向量
% 作者:不雨_亦潇潇
% 文件:mifa.m
% 日期:20221109
% 博客:https://blog.csdn.net/weixin_43470383
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc; clear all;
% A = [7 3 -2; 3 4 -1; -2 -1 3];
A = [3 -4 3; -4 6 3; 3 3 1];
u =[1; 1; 1];
err = 10^(-4);
% 第一次迭代
k = 1;
m0 = 1;
V =A*u;
m = max(V);
u = V/m;
disp('k=')
disp(k)
disp('V^T=')
disp(V')
disp('m=')
disp(m)
disp('u^T=')
disp(u')
while abs(m0-m)>err
    m0 = m;
    k = k+1;
    V =A*u;
    m = max(V); % V绝对值最大的分量
    u = V/m; % 规范化向量  
    disp('k=')
    disp(k)
    disp('V^T=')
    disp(V')
    disp('m=')
    disp(m)
    disp('u^T=')
    disp(u')
end
lambda = m0 % 最终得到的主特征值
vector = u % 最终得到的特征向量

题目1输出结果

k=

1

V^T=

8 6 0

m=

8

u^T=

1.0000 0.7500 0

k=

2

V^T=

9.2500 6.0000 -2.7500

m=

9.2500

u^T=

1.0000 0.6486 -0.2973

k=

3

V^T=

9.5405 5.8919 -3.5405

m=

9.5405

u^T=

1.0000 0.6176 -0.3711

k=

4

V^T=

9.5949 5.8414 -3.7309

m=

9.5949

u^T=

1.0000 0.6088 -0.3888

k=

5

V^T=

9.6041 5.8240 -3.7753

m=

9.6041

u^T=

1.0000 0.6064 -0.3931

k=

6

V^T=

9.6054 5.8187 -3.7857

m=

9.6054

u^T=

1.0000 0.6058 -0.3941

k=

7

V^T=

9.6056 5.8172 -3.7881

m=

9.6056

u^T=

1.0000 0.6056 -0.3944

k=

8

V^T=

9.6056 5.8168 -3.7887

m=

9.6056

u^T=

1.0000 0.6056 -0.3944

lambda =

9.6056

vector =

1.0000

0.6056

-0.3944

题目2输出结果

k=

1

V^T=

2 5 7

m=

7

u^T=

0.2857 0.7143 1.0000

k=

2

V^T=

1.0000 6.1429 4.0000

m=

6.1429

u^T=

0.1628 1.0000 0.6512

k=

3

V^T=

-1.5581 7.3023 4.1395

m=

7.3023

u^T=

-0.2134 1.0000 0.5669

k=

4

V^T=

-2.9395 8.5541 2.9268

m=

8.5541

u^T=

-0.3436 1.0000 0.3421

k=

5

V^T=

-4.0045 8.4010 2.3112

m=

8.4010

u^T=

-0.4767 1.0000 0.2751

k=

6

V^T=

-4.6047 8.7320 1.8451

m=

8.7320

u^T=

-0.5273 1.0000 0.2113

k=

7

V^T=

-4.9481 8.7432 1.6293

m=

8.7432

u^T=

-0.5659 1.0000 0.1864

k=

8

V^T=

-5.1387 8.8228 1.4886

m=

8.8228

u^T=

-0.5824 1.0000 0.1687

k=

9

V^T=

-5.2412 8.8359 1.4214

m=

8.8359

u^T=

-0.5932 1.0000 0.1609

k=

10

V^T=

-5.2969 8.8553 1.3814

m=

8.8553

u^T=

-0.5982 1.0000 0.1560

k=

11

V^T=

-5.3265 8.8606 1.3615

m=

8.8606

u^T=

-0.6011 1.0000 0.1537

k=

12

V^T=

-5.3425 8.8655 1.3502

m=

8.8655

u^T=

-0.6026 1.0000 0.1523

k=

13

V^T=

-5.3509 8.8673 1.3445

m=

8.8673

u^T=

-0.6034 1.0000 0.1516

k=

14

V^T=

-5.3555 8.8686 1.3413

m=

8.8686

u^T=

-0.6039 1.0000 0.1512

k=

15

V^T=

-5.3579 8.8692 1.3396

m=

8.8692

u^T=

-0.6041 1.0000 0.1510

k=

16

V^T=

-5.3592 8.8695 1.3387

m=

8.8695

u^T=

-0.6042 1.0000 0.1509

k=

17

V^T=

-5.3599 8.8697 1.3383

m=

8.8697

u^T=

-0.6043 1.0000 0.1509

k=

18

V^T=

-5.3602 8.8698 1.3380

m=

8.8698

u^T=

-0.6043 1.0000 0.1509

lambda =

8.8697

vector =

-0.6043

1.0000

0.1509

相关文章
|
27天前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
|
27天前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
27天前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
129 8
|
27天前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
113 8
|
27天前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
159 0
|
27天前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
|
27天前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
|
27天前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
137 8
|
1月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
150 12
|
1月前
|
人工智能 数据可视化 网络性能优化
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)

热门文章

最新文章