numpy求特征向量_python计算矩阵

numpy求特征向量_python计算矩阵文章目录numpy计算矩阵特征值,特征向量一、示例:二、numpy实现:numpy计算矩阵特征值,特征向量一、示例:首先借参考百度demo的来看一下矩阵的特征值和特征向量的解题过程及结果。可知矩阵A:特征值为1对应的特征向量为[-1,-2,1]T。特征值为2对应的特征向量为[0,0,1]T我们可以进一步对特征向量进行单位化,单位化之后的结果如下:特征值为1对应的特征向量为[…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

python — numpy计算矩阵特征值,特征向量

一、数学演算

  • 示例:

    首先参考百度demo的来看一下矩阵的特征值和特征向量的解题过程及结果。

    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    可知矩阵A:特征值为1对应的特征向量为 [ -1,-2,1]T。特征值为2对应的特征向量为 [ 0,0,1]T

    我们可以进一步对特征向量进行单位化,单位化之后的结果如下:

    • 特征值为1对应的特征向量为 [ 1/√6, 2/√6, -1/√6]T,即 [ 0.40824829, 0.81649658, -0.40824829]T
    • 特征值为2对应的特征向量为 [ 0,0,1]T
      A = [ − 1 1 0 − 4 3 0 1 0 2 ] A= \left[ \begin{matrix} -1 & 1 & 0 \\ -4 & 3 & 0 \\ 1 & 0 & 2 \end{matrix} \right] A=141130002

二、numpy实现

  • 完整代码:

    #!/usr/bin/env python
    # encoding: utf-8
    ''' @Author : pentiumCM @Email : 842679178@qq.com @Software: PyCharm @File : __init__.py.py @Time : 2020/4/11 9:39 @desc : numpy计算矩阵的特征值,特征向量 '''
    
    import numpy as np
    
    mat = np.array([[-1, 1, 0],
                  [-4, 3, 0],
                  [1, 0, 2]])
    
    eigenvalue, featurevector = np.linalg.eig(mat)
    
    print("特征值:", eigenvalue)
    print("特征向量:", featurevector)
    
    

    Jetbrains全家桶1年46,售后保障稳定

  • 运行结果:

    特征值: [2. 1. 1.]
    特征向量: [[ 0.          0.40824829  0.40824829]
     [ 0.          0.81649658  0.81649658]
     [ 1.         -0.40824829 -0.40824829]]
    
  • 结果解释:

    • 返回的特征值:[2. 1. 1.],表示有三个特征值,分别为:2, 1, 1

    • 返回的特征向量:

      [[ 0.          0.40824829  0.40824829]
      [ 0.           0.81649658  0.81649658]
      [ 1.         -0.40824829 -0.40824829]]
      

      是需要 按 列 来 看 的 \color{red}按列来看的 ,并且返回的特征向量是单位化之后的特征向量,
      如第一列 [ 0,0,1]T 是对应于特征值为2的特征向量,
      第二列[ 0.40824829, 0.81649658, -0.40824829]T是对应于特征值为1的特征向量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204266.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql 事物语法

    Mysql 事物语法

    2022年3月4日
    40
  • python怎么表示取余_python如何实现取余操作[通俗易懂]

    python怎么表示取余_python如何实现取余操作[通俗易懂]python实现取余操作的方法:可以利用求模运算符(%)来实现。求模运算符可以将两个数相除得到其余数。我们还可以使用divmod()函数来实现取余操作,具体方法如:【divmod(10,3)】。在python中要实现取余操作可以使用求模运算符(%),该运算符可以将两个数相除得到其余数。(推荐教程:Python入门教程)如果一个数恰好能被另外一个数据整除,则余数为0,%运算后返回结果为0。可利用余数…

    2022年4月25日
    76
  • Linux WIFI优先连接5G频段「建议收藏」

    Linux WIFI优先连接5G频段「建议收藏」最近遇到一个项目,要求树莓派无线优先连接5G,目前测试了一个方法,先记录下来,测试下来是有用的。现场无线网络知识2.4G和5G双频,SSID和密码都是相同的,树莓派在这个环境中,优先连接2.4G网络。由于2.4G网络干扰问题,网络通讯不稳定,因此需要树莓派优先连接到5G网络。有查到通过修改wpa_supplicant.conf文件中,定义frep_list的频点值,可以修改单独连接到5WIFI.后来经过测试,将5G频段排序到2.4G频段之前,无线会优先连接5G网络,如果5G网络不可用,也可以连接到

    2022年10月20日
    6
  • Wireshark零基础使用教程(超详细)

    Wireshark零基础使用教程(超详细)Wireshark安装入门,Wireshark工具使用教程,Wireshark过滤操作

    2022年6月17日
    122
  • numpy 数组拼接方法

    numpy 数组拼接方法参考:https://blog.csdn.net/zyl1042635242/article/details/43162031方法一:转为list,使用“+”,append()或者extend()可做简单的拼接。不过要注意一些小问题,如下图:方法二:使用numpy提供的函数-append(arr,values,axis=None)不能对三个或者三个以上数组…

    2022年5月7日
    53
  • Java中类的概念

    Java中类的概念Java中类的概念类:类是一个模板,它描述一类对象的行为和状态。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等Java中的类定义一个类的基本格式[修饰符]class类名{0到多个构造器0到多个成员变量0到多个方法0到多给初始化块}修饰符可以写publicfinalabstract或者不写,jav…

    2022年7月8日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号