【数值分析实验】(七)特征值与特征向量(含matlab代码)

您所在的位置:网站首页 matlab怎么求矩阵乘积 【数值分析实验】(七)特征值与特征向量(含matlab代码)

【数值分析实验】(七)特征值与特征向量(含matlab代码)

2023-03-06 18:58| 来源: 网络整理| 查看: 265

目录 1 背景简介2 案例设计3 数学模型3.1 幂法3.1.1 算法过程3.1.2 代码3.1.3 计算结果 3.2 反幂法3.2.1 算法过程3.2.2 代码3.2.3 计算结果 4 分析与讨论

1 背景简介

        利用已有的非线性方程的数值解法能够近似计算部分特征值,但要求出特征方程的所有根难度极大。幂法是一种计算矩阵主特征值及对应特征向量的迭代方法,特别适用于大型稀疏矩阵。反幂法是计算海森伯格阵或三对角阵的对应一个给定近似特征值的特征向量的有效方法之一。

2 案例设计

在这里插入图片描述

3 数学模型

在这里插入图片描述

3.1 幂法 3.1.1 算法过程

在这里插入图片描述

3.1.2 代码 %% 输入参数 % 输入矩阵 A = [6 3 1;2 3 1;1 1 1]; % 输入初始值 u0 = [1;1;1]; %% 采用幂法进行计算 v = A * u0; u = v / norm(v,inf); i = 1; while norm(u-u0,inf) > 1e-5 u0 = u; v = A * u0; u = v / norm(v,inf); i=i+1; end; i % 迭代次数 u % 特征向量 norm(v,inf) % 主特征值 3.1.3 计算结果

在这里插入图片描述

3.2 反幂法 3.2.1 算法过程

在这里插入图片描述

3.2.2 代码 %% 输入参数 % 输入矩阵 A = [6 3 1;2 3 1;1 1 1]; % 特征值的近似值 p = 6; % 输入初始值 u0 = [1;1;1]; %% 采用幂法进行计算 I = eye(3,3); v = inv(A - p * I) * u0; u = v / norm(v, inf); i = 1; while norm(u - u0, inf) > 1e-5 u0 = u; v = inv(A - p * I) * u0; u = v / norm(v, inf); i = i+1; end; i % 迭代次数 u % 特征向量 x = p + 1 / norm(v, inf) % 主特征值 3.2.3 计算结果

在这里插入图片描述

4 分析与讨论

        本实验运用了实方阵的特征值和特征向量的近似计算方法。 幂法给出了矩阵的按模最大特征值的近似值及其对应的特征向量;反幂法可以用来修正已知的近似特征值,以较快地得到更好的近似特征值和特征向量。幂法收敛的快慢取决于次特征值与主特征值的比值。比值越大,幂法收敛得越快;反之,则收敛得越慢。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3