怎么新建MySQL数据库

发布时间:2022-09-09 作者:admin
阅读:458
很多朋友都对“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.]]

关于“python生成单位阵的方法及代码是什么”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

二维码-群英

长按识别二维码并关注微信

更方便到期提醒、手机管理

7*24 全天候服务

售前 400-678-4567

售后 0668-2555666

售后 400 678 4567

信息安全 0668-2555 118

域名空间 3004329145