基于MATLAB的特征值与特征向量(附完整代码)

这篇具有很好参考价值的文章主要介绍了基于MATLAB的特征值与特征向量(附完整代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一. 一般矩阵的特征值与特征向量

例题1

二. 广义特征向量问题

例题2

三.稀疏矩阵的最大特征值

例题3


一. 一般矩阵的特征值与特征向量

数学理论部分,推荐阅读:

利用矩阵特征值解决微分方程【1】-CSDN博客

矩阵特征值解决微分方程问题【2】-CSDN博客

A为n阶矩阵,若数和向量x满足,那么数称为A的特征值,x称为A对应于特征值的特征向量。如果把式子改写成,那么就叫做A的特征多项式

在MATLAB中,求解特征值和特征向量,格式如下:

[V,D]=eig(A)

备注:该函数也可以只求一个量

例题1

利用两种方法求矩阵A的特征值与特征向量,并验证其对应的范数误差。

解:

MATLAB代码如下:

clc;clear;
A=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];

%直接求解
[v,d]=eig(A)
norm1=norm(A*v-v*d)

%解析解
[v,d]=eig(sym(A))
norm2=norm(double(A*v(:,2)-34*v(:,2))) %double函数转换为双精度类型

运行结果:

v =

   -0.5000   -0.8236    0.3764   -0.2236
   -0.5000    0.4236    0.0236   -0.6708
   -0.5000    0.0236    0.4236    0.6708
   -0.5000    0.3764   -0.8236    0.2236


d =

   34.0000         0         0         0
         0    8.9443         0         0
         0         0   -8.9443         0
         0         0         0   -0.0000


norm1 =1.2284e-14

 
v =
[ -1, 1, (12*5^(1/2))/31 - 41/31, - (12*5^(1/2))/31 - 41/31]
[ -3, 1,  17/31 - (8*5^(1/2))/31,    (8*5^(1/2))/31 + 17/31]
[  3, 1, - (4*5^(1/2))/31 - 7/31,     (4*5^(1/2))/31 - 7/31]
[  1, 1,                       1,                         1]
 
 
d =
[ 0,  0,          0,         0]
[ 0, 34,          0,         0]
[ 0,  0, -4*5^(1/2),         0]
[ 0,  0,          0, 4*5^(1/2)]
 

norm2 =0

二. 广义特征向量问题

广义特征向量的表达式,如下:

如果上式子中的B=I,那么就是普通矩阵特征值问题。求解广义特征值与特征向量的MATLAB格式如下:

[V,D]=eig(A,B)

很遗憾的是,符号运算工具箱中的eig()函数不支持广义特征值的相关运算。

例题2

求A,B的广义特征值与特征向量矩阵。

解:

MATLAB代码如下:

clc;clear;
A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10];
B=[2 6 -1 -2;5 -1 2 3;-3 -4 1 10;5 -2 -3 8];
[V,D]=eig(A,B)

norm(A*V-B*V*D)

运行结果:

V =

   0.3697 + 0.0000i  -0.3741 + 0.6259i  -0.3741 - 0.6259i   1.0000 + 0.0000i
   0.9948 + 0.0000i  -0.0674 - 0.2531i  -0.0674 + 0.2531i  -0.6090 + 0.0000i
   0.7979 + 0.0000i   0.9239 + 0.0264i   0.9239 - 0.0264i  -0.2316 + 0.0000i
   1.0000 + 0.0000i  -0.6599 - 0.3263i  -0.6599 + 0.3263i   0.1319 + 0.0000i


D =

   4.7564 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0471 + 0.1750i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0471 - 0.1750i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0037 + 0.0000i


ans =

   3.3761e-14

三.稀疏矩阵的最大特征值

计算稀疏矩阵k个模最大特征值,MATLAB格式如下:

d=eigs(A,k)

同时计算最大特征值与特征向量,MATLAB格式如下:

[V,D]=eigs()

例题3

利用delsq和numgrid函数生成稀疏矩阵,求该稀疏矩阵的六个模最大特征值,并分析该方法的误差。

解:

MATLAB代码如下:

clc;clear;
A=delsq(numgrid('C',15));
%生成稀疏矩阵,这个稀疏矩阵有点复杂,感兴趣的小伙伴可自行查找下 delsq和numgrid函数
[v,d]=eigs(A,6) %6代表6个模
norm=norm(A*v-v*d)

运行结果:

d =

    7.8666         0         0         0         0         0
         0    7.7324         0         0         0         0
         0         0    7.6531         0         0         0
         0         0         0    7.5213         0         0
         0         0         0         0    7.4480         0
         0         0         0         0         0    7.3517


norm =

   1.4182e-14
特征向量的结果较长,此处仅显示一部分。

基于MATLAB的特征值与特征向量(附完整代码)文章来源地址https://www.toymoban.com/news/detail-408337.html

到了这里,关于基于MATLAB的特征值与特征向量(附完整代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenCV4】计算对称矩阵特征值和特征向量 cv::eigen() 用法详解和代码示例(c++)

    解析: src:输入矩阵,只能是 CV_32FC1 或 CV_64FC1 类型的方阵(即矩阵转置后还是自己) eigenvalues:输出的特征值组成的向量,数据类型同输入矩阵,排列从大到小 eigenvectors:输出的特征向量组成的矩阵,数据类型同输入矩阵,每一行是一个特征向量,对应相应位置的特征值

    2024年02月13日
    浏览(46)
  • 特征值和特征向量的解析解法--带有重复特征值的矩阵

    当一个矩阵具有重复的特征值时,意味着存在多个线性无关的特征向量对应于相同的特征值。这种情况下,我们称矩阵具有重复特征值。 考虑一个n×n的矩阵A,假设它有一个重复的特征值λ,即λ是特征值方程det(A-λI) = 0的多重根。我们需要找到与特征值λ相关的特征向量。 首

    2024年02月05日
    浏览(45)
  • 12、特征值与特征向量

    目录 一、特征值和特征向量的定义 二、特征值和特征向量的相关函数 三、特征值和特征向量的计算 假设A是一个n×n的矩阵,A的特征值问题就是找到下面方程组的解: 其中,λ为标量,V为矢量,若把矩阵A的n个特征值放在矩阵P的对角线上,相应的特征向量按照与特征值对应

    2024年02月07日
    浏览(44)
  • MATLAB中对方阵行列式的求解、矩阵的累加和与累乘积进行求解、矩阵的排序、矩阵的秩和迹、以及矩阵的特征值和特征向量的求解

    目录 1、方阵的行列式计算 2、累加和与累乘积 (1)累加和 (2)累乘积 3、对于数据进行排序 4、求矩阵的秩 5、矩阵的迹 6、计算矩阵的特征值和特征向量 在线性代数中,对于一个方阵进行求值运算需要先将其转换为行列式,MATLAB中提供过了det函数用于对于方阵的行列式进

    2023年04月22日
    浏览(61)
  • 线性代数 --- 特征值与特征向量

    Part I:特征值,特征向量的意义与性质         已知任意向量x,现有矩阵A对x进行操作后,得到新的向量Ax。这就好比是自变量x与函数f(x)的关系一样,向量x通过类似“函数”的处理得到了一个新的向量Ax。这个新的向量可能和原向量x方向相同,也可能不同(事实上大多都不同

    2024年03月10日
    浏览(49)
  • 特征值和特征向量的通俗解释

    我们知道,特征向量的公式是                 ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         其中A代表矩阵,x代表特征向量,代表特征值。 众所

    2024年02月15日
    浏览(31)
  • 线性代数——特征值和特征向量

    学习高等数学和线性代数需要的初等数学知识 线性代数——行列式 线性代数——矩阵 线性代数——向量 线性代数——线性方程组 线性代数——特征值和特征向量 线性代数——二次型 本文大部分内容皆来自李永乐老师考研教材和视频课。 设 A = [ a i j ] A=[a_{ij}] A = [ a ij ​

    2024年02月15日
    浏览(44)
  • 线性代数 --- 特征值与特征向量(下)

    Eigen Values Eigen Vectors Part III:如何求解特征向量与特征值 对于一般矩阵A,如何找到他的特征值与特征向量? Step I: Find λ first! 首先,我们有方程: 但这里有两个未知数,因此我们把上面的方程改写一下:         这个齐次方程的解就是矩阵(A-I)的零空间,抛开平凡解全0向

    2024年03月14日
    浏览(48)
  • LA@特征值和特征向量的性质

    特征值之和 ∑ i = 1 n λ i = ∑ i = 1 n a i i sumlimits_{i=1}^{n}lambda_i=sumlimits_{i=1}^{n}a_{ii} i = 1 ∑ n ​ λ i ​ = i = 1 ∑ n ​ a ii ​ 其中 ∑ i = 1 n a i i sum_{i=1}^{n}a_{ii} ∑ i = 1 n ​ a ii ​ 称为矩阵的迹,记为 T r ( A ) Tr(bold A) T r ( A ) 特征值之积 ∏ i = 1 n λ i = ∣ A ∣ prod_{i=1}^{n}lambda

    2024年02月10日
    浏览(40)
  • 线性代数基础 | 特征值和特征向量

    一、特征值和特征向量的定义 A. 特征值的定义和性质 特征值(eigenvalue)是线性代数中一个重要的概念,用于描述线性变换对于某个向量的伸缩效应。在本文中,我们将深入讨论特征值的定义和性质。 首先,我们考虑一个线性变换(或者说一个方阵)A。对于一个非零向量v,

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包