码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MATLAB程序设计与应用 3.4 矩阵的特征值与特征向量


    MATLAB程序设计与应用

    3. 第3章 MATLAB矩阵处理

    文章目录

      • MATLAB程序设计与应用
        • 3. 第3章 MATLAB矩阵处理
          • 3.4 矩阵的特征值与特征向量

    3.4 矩阵的特征值与特征向量

    对于n阶方阵A,求数λ和向量ξ,使得等式Aξ = λξ成立,满足等式的数λ称为A的特征值,而向量ξ称为A的特征向量。

    实际上,方程Aξ = λξ 和 (A - λI ) ξ = 0 是两个等价方程。要使方程(A - λI)ξ = 0 有非零解ξ , 那必须使其系数行列式为0,即|A - λ I| = 0。

    线性代数中已经证明,行列式|A - λ I|是一个关于λ的n次多项式,因而方程|A - λ I|=0是一个n次方程,有n个根(含重根),就是矩阵A的n个特征值,每一个特征值对应无穷多个特征向量。矩阵的特征值问题有确定解,但特征向量问题没有确定解。

    特征值和特征向量在科学研究和工程计算中有广泛应用。在 MATLAB 中,计算矩阵A的特征值和特征向量的函数是eig(A)。

    常用调用格式:

    • V=eig(A):求矩阵A的全部特征值,构成向量V。
    • [X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量,满足A·X=X·D。
    • [X,D]=eig(A,‘nobalance’):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

    一个矩阵的特征向量有无穷多个,eig函数只找出其中的n个,A的其他特征向量均可由这n个特征向量的线性组合表示。

    >> A = [1,1,0.5;1,1,0.25;0.5,0.25,2];
    >> [X,D] = eig(A)
    
    X =
    
        0.7212    0.4443    0.5315
       -0.6863    0.5621    0.4615
       -0.0937   -0.6976    0.7103
    
    
    D =
    
       -0.0166         0         0
             0    1.4801         0
             0         0    2.5365
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    求得的3个特征值是-0.0166、1.4801和2.5365,各特征值对应的特征向量为X的各列构成的向量。验证结果A·X和X·D的值均为

    >> X * D
    
    ans =
    
       -0.0120    0.6576    1.3481
        0.0114    0.8320    1.1705
        0.0016   -1.0325    1.8018
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    示例:用求特征值的方法解方程

    在这里插入图片描述

    先构造与方程对应的多项式的伴随矩阵A,再求A的特征值。A的特征值即为方程的根。

    >> p = [3,-7,0,5,2,-18];
    >> A = compan(p); % 求A 的伴随矩阵 
    >> x1 = eig(A)    % 求A 的特征值
    
    x1 =
    
       2.1837 + 0.0000i
       1.0000 + 1.0000i
       1.0000 - 1.0000i
      -0.9252 + 0.7197i
      -0.9252 - 0.7197i
    
    >> x2 = roots(p) % 直接求多项式p的零点
    
    x2 =
    
       2.1837 + 0.0000i
       1.0000 + 1.0000i
       1.0000 - 1.0000i
      -0.9252 + 0.7197i
      -0.9252 - 0.7197i
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    可以看出,两种方法求得的方程的根是完全一致的,实际上,roots 函数正是应用求伴随矩阵的特征值的方法来求方程的根。

  • 相关阅读:
    FreeRTOS 消息队列 详解
    全屋网络覆盖方案笔记
    R语言基于with函数对指定的协变量执行双样本t检验、t.test函数对不同分组对应的协变量的均值进行Welch双样本t检验分析、双独立样本t检验
    Elasticsearch入门(一):CentOS 7.6 安装ES 7.6.1
    kafka使用场景与设计原理
    js 获取字符串中某字符出现的次数
    PaddleOCR训练手写文字识别模型
    用DIV+CSS技术设计的美食主题网站(web前端网页制作课作业)美食餐饮网站设计与实现(HTML+CSS+JavaScript)
    VUE 数据分页
    软考 系统架构设计师系列知识点之边缘计算(5)
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126497098
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号