python生成单位阵的方法及代码是什么
Admin 2022-09-09 群英技术资讯 619 次浏览
前提:
import numpy as np
np.identity(4) array([[ 1., 0., 0., 0.], [ 0., 1., 0., 0.], [ 0., 0., 1., 0.], [ 0., 0., 0., 1.]])
np.eye(4) array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]])
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]])
有趣的地方是前两种方法元素都是浮点数,最后一种是整数,使用的时候注意区分就好
最近博主在研究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.]]
关于“python生成单位阵的方法及代码是什么”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python内置函数-hash() 函数。hash() 用于获取取一个对象(字符串或者数值等)的哈希值。
这篇文章主要介绍了Python实战之实现简单的名片管理系统,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
它是一个用来快速生成Python扩展模块(extention module)的工具它的语法是python语言语法和c语言语法的混血他比swig更容易编写python的扩展模块也许你会说swig可以直接通过c的头文件
在本篇文章里小编给大家整理了关于Python的缺点和劣势总结,有兴趣的朋友们可以学习下。
这篇文章主要为大家详细介绍了python链表的基础概念和基础用法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008