python 矩阵_python的矩阵运算

0db2701e11e5

1.jpg

python自身不支持矩阵运算,一般想要在python进行矩阵运算:一个方法是自己用二维列表定义矩阵,然后自己写矩阵基本运算的函数,这个方法有点事倍功半的意思,所以一般不采用。第二个方法是使用numpy库。

NumPy是用Python进行科学计算的基础软件包。它包含以下内容:

一个强大的N维数组对象

复杂的(广播)功能

用于集成C / C ++和Fortran代码的工具

有用的线性代数,傅里叶变换和随机数能力

除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使得NumPy能够与各种数据库无缝并快速地整合。

在python中安装了numpy库,就相当于安装了matlab一样,是的。这个库能够让你在python中操作矩阵仿佛是在matlab中一样轻松方便。

下面就对使用这个numpy库进行矩阵运算做简单地介绍

NumPy的数组类被称为ndarray,ndarray对象具有如下重要属性:

ndarray.ndim 矩阵的维度。在Python中,维度的数量被称为级数。

ndarray.shape矩阵的尺寸。返回一个数组,表示矩阵行和列的大小,也就是每个维度的大小。对于具有n行m列的矩阵,返回值是(n,m)。

ndarray.dtype 一个描述数组中元素类型的对象。可以使用标准的Python类型创建或指定dtype。另外NumPy提供它自己的类型。numpy.int32,numpy.int16和numpy.float64就是一些例子。

ndarray.itemsize 数组中每个元素的字节大小。例如,类型的元件的阵列float64具有itemsize 8(= 64/8),而类型的一个complex32具有itemsize 4(= 32/8)。它相当于- - ndarray.dtype.itemsize。

ndarray.data该缓冲区包含数组的实际元素。通常,我们不需要使用此属性,因为我们将使用索引设施访问数组中的元素。

下面是一个实例:

>>> import numpy as np #导入numpy 库

>>> a = np.arange(15).reshape(3, 5) #arange(15)表示生成从0到14的序列reshape(3, 5)表示将这个序列重新设置成3行5列的矩阵

>>> a

array([[ 0, 1, 2, 3, 4],

[ 5, 6, 7, 8, 9],

[10, 11, 12, 13, 14]])

>>> a.shape

(3, 5)

>>> a.ndim

2

>>> a.dtype.name

'int64'

>>> a.itemsize

8

>>> a.size

15

>>> type(a)

>>> b = np.array([6, 7, 8])

>>> b

array([6, 7, 8])

>>> type(b)

比较需要注意的是矩阵的乘法的符号表示,不少人会犯这个小错误。

>>> A = np.array( [[1,1],

... [0,1]] )

>>> B = np.array( [[2,0],

... [3,4]] )

>>> A*B # 只是对应元素相乘而已

array([[2, 0],

[0, 4]])

>>> A.dot(B) # 这个才是矩阵相乘

array([[5, 4],

[3, 4]])

>>> np.dot(A, B) # 这是另外一种形式

array([[5, 4],

[3, 4]])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值