iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python生成单位阵或对角阵的三种方式小结
  • 831
分享到

python生成单位阵或对角阵的三种方式小结

2024-04-02 19:04:59 831人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录python生成单位阵或对角阵1.identity2.eye3.diag(可以指定对角元素)Python创建对角阵的np.eye()函数看下面两个例子就明白用法啦python生成

python生成单位阵或对角阵

前提:

import numpy as np

1.identity

np.identity(4)
array([[ 1., 0., 0., 0.],
       [ 0., 1., 0., 0.],
       [ 0., 0., 1., 0.],
       [ 0., 0., 0., 1.]])

2.eye

np.eye(4)
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])

3.diag(可以指定对角元素)

np.diag([1] * 4)
Out[1]: 
array([[1, 0, 0, 0],
       [0, 1, 0, 0],
       [0, 0, 1, 0],
       [0, 0, 0, 1]])
np.diag([2] * 4)
Out[2]: 
array([[2, 0, 0, 0],
       [0, 2, 0, 0],
       [0, 0, 2, 0],
       [0, 0, 0, 2]])

有趣的地方是前两种方法元素都是浮点数,最后一种是整数,使用的时候注意区分就好

python创建对角阵的np.eye()函数

最近博主在研究kalman滤波,里面初始矩阵定义需要对角阵,于是查了一些资料,发现numpy中有一个eye函数可以达到这样的目的

np.eye(N,M=None,k=0,dtype=<class 'float'>,order='C)
  • N表示输出的行数;
  • M表示输出的列数,不给默认等于N;
  • K默认等于0,表示主对角线,负数代表低对角,正数代表高对角;
  • dtype表示输出数据的类型;
  • order表示输出的数组的形式是按照C语言的行优先’C’,还是按照Fortran形式的列优先‘F’存储在内存中。

看下面两个例子就明白用法啦

    a = np.eye(4)
    print(type(a))
    print(a)
    a = np.mat(a)
    print(type(a))
    print(a)
    a = a.I
    print(type(a))
    print(a)
>>><class 'numpy.ndarray'>
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
<class 'numpy.matrix'>
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
<class 'numpy.matrix'>
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
    a = np.eye(4,k=1)
    print(type(a))
    print(a)
    a = np.mat(a)
    print(type(a))
    print(a)
    a = a.T
    print(type(a))
    print(a)
>>><class 'numpy.ndarray'>
[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]
 [0. 0. 0. 0.]]
<class 'numpy.matrix'>
[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]
 [0. 0. 0. 0.]]
<class 'numpy.matrix'>
[[0. 0. 0. 0.]
 [1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]]

动动小手,感悟一下就好啦!以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: python生成单位阵或对角阵的三种方式小结

本文链接: https://www.lsjlt.com/news/117864.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python生成单位阵或对角阵的三种方式小结
    目录python生成单位阵或对角阵1.identity2.eye3.diag(可以指定对角元素)python创建对角阵的np.eye()函数看下面两个例子就明白用法啦python生成...
    99+
    2024-04-02
  • python生成单位阵或对角阵的三种方式是什么
    本篇内容介绍了“python生成单位阵或对角阵的三种方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python生成单位阵或对角阵前...
    99+
    2023-06-30
  • python如何生成任意n阶的三对角矩阵
    目录如何生成任意n阶的三对角矩阵python矩阵分成上三角下三角和对角三个矩阵如何生成任意n阶的三对角矩阵 数学作业要求实现共轭梯度法的算法。 题目中的矩阵A是n=400/500/6...
    99+
    2024-04-02
  • python生成excel文件的三种方式
    在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel。当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库...
    99+
    2023-09-01
    python excel pandas
  • Python处理mat文件的三种方式小结
    目录处理mat文件的三种方式scipyh5pymat73mat4pypython操作.mat文件python读取.mat格式mat转图片处理mat文件的三种方式 读书的时候,处理数据...
    99+
    2024-04-02
  • springboot集成本地缓存Caffeine的三种使用方式(小结)
    目录第一种方式(只使用Caffeine)第二种方式(使用Caffeine和spring cache)第三种方式(使用Caffeine和spring cache)第一种方式(只使用Ca...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作