您现在的位置是:网站首页> 编程资料编程资料
python生成单位阵或对角阵的三种方式小结_python_
2023-05-26
343人已围观
简介 python生成单位阵或对角阵的三种方式小结_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=,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) >>>[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]] [[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]] [[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) >>>[[0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.] [0. 0. 0. 0.]] [[0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.] [0. 0. 0. 0.]] [[0. 0. 0. 0.] [1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]
动动小手,感悟一下就好啦!以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关内容
- PyTorch搭建LSTM实现时间序列负荷预测_python_
- 一文搞懂python可迭代对象,迭代器,生成器,协程_python_
- Python 网易易盾滑块验证功能的实现_python_
- Python异步处理返回进度——使用Flask实现进度条_python_
- 国产化设备鲲鹏CentOS7上源码安装Python3.7的过程详解_python_
- Python PIL图片如何按比例裁剪_python_
- python机器学习GCN图卷积神经网络原理解析_python_
- Python+Pillow+Pytesseract实现验证码识别_python_
- Python绘制多因子柱状图的实现示例_python_
- PyCharm如何配置SSH和SFTP连接远程服务器_python_
