NumPy 学习笔记二

笔记来源:python数据分析【Ivan Idris著, 韩波译】

一、用NumPy进行线性代数运算【numpy.linalg包】

1、用NumPy求矩阵的逆

(1) 创建一个矩阵【np.mat()函数】

(2) 求矩阵的逆【np.linalg.inv()函数】

(3) 乘法检验

相乘结果发现,得到的是一个单位矩阵,但是还存在一些小误差,要获取误差,可如下操作

2、用NumPy求解线性方程组【使用np.linalg的solve()求解类似Ax=b线性方程组】

(1)创建矩阵A和数组b

(2)求解线性方程组(np.linalg.solve())

(3) 使用dot()函数进行验算

3、用NumPy计算特征值和特征向量

特征值是方程式Ax=ax的标量解,其中A为一个二维矩阵,而x是一维向量,x是特征值a对应的特征向量

(1)数学上的求解示例:

(2)使用numpy.linalg包求解

1)创建矩阵

2)使用eigvals()函数求解特征值

3)使用eig()函数获取特征值与特征向量【返回两个值,第一个元素为特征值,第二个为特征向量】

4)验算求解的结果

由上述结果可知,左边A*x与右边a*x是相等的,说明求解无误。

二、NumPy随机数

随机数常用于蒙特卡洛法、随机积分等方面。真正的随机数很难得到,一般实际获取的是伪随机数。大部分情况下,伪随机数满足我们的需求。对于NumPy,与随机数有关的函数在random子程序包中。NumPy核心的随机数发生器是基于梅森算法而来的。

1、用二项分布进行博弈

每次运行程序结果都不同,若要总是得到相同的结果,则需给NumPy的随机数子程序包中的binomial()函数的一个种子值.

2、正态分布采样

(1) 一维正态分布即标准正态分布定义【百度百科】

(2)使用NumPy的random子模块的normal()函数,将正态分布以直观的形势图示出来

 

参考:

[1]. Ivan Idris. 著; 韩波译.python数据分析[M]. 北京:人民邮电出版社,2016.2.

[2]. 百度百科; 正态分布[DB/OL]. https://baike.baidu.com/item/%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83/829892?fr=aladdin

[3].百度经验;线性代数:如何求特征值和特征向量?[DB/OL].https://jingyan.baidu.com/article/27fa7326afb4c146f8271ff3.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值