科学计算库Numpy-矩阵操作

来源:互联网 发布:win10网络重置命令 编辑:程序博客网 时间:2024/05/21 03:54

假定所有操作都事先导入numpy库

import numpy as np

1、构造矩阵
①构造一个零阵

np.zeros((3,4))#构造的零阵其中的值默认为folat类型

结果为:

array([[ 0.,  0.,  0.,  0.],       [ 0.,  0.,  0.,  0.],       [ 0.,  0.,  0.,  0.]])

②构造一个初始化为1的三维矩阵,其中的值为int类型

np.ones((2,3,4), dtype=np.int32)

结果为:

array([[[1, 1, 1, 1],        [1, 1, 1, 1],        [1, 1, 1, 1]],       [[1, 1, 1, 1],        [1, 1, 1, 1],        [1, 1, 1, 1]]])

③构造一个矩阵,起始值为10,终止值小于30,每隔5个值创建一个矩阵元素

np.arange(10, 30, 5)

结果为:array([10, 15, 20, 25])

④构造一个矩阵,起始值为0,终止值小于2,每隔0.3创建一个矩阵元素

np.arange(0, 2, 0.3)

结果为:array([ 0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])

⑤构造一个随机初始化的矩阵(每个元素的值介于-1到+1之间)

np.random.random((3,4))

结果为:

array([[ 0.63569183,  0.47289918,  0.51768133,  0.79131544],       [ 0.87953741,  0.47233199,  0.76741983,  0.3156414 ],       [ 0.93806506,  0.11797016,  0.90171483,  0.52385309]])

⑥构造一个有100个元素的矩阵,起始值是0,终止值为2π

from numpy import pinp.linspace(0, 2*pi, 100)

结果为:

array([ 0.        ,  0.06346652,  0.12693304,  0.19039955,  0.25386607,        0.31733259,  0.38079911,  0.44426563,  0.50773215,  0.57119866,        0.63466518,  0.6981317 ,  0.76159822,  0.82506474,  0.88853126,        0.95199777,  1.01546429,  1.07893081,  1.14239733,  1.20586385,        1.26933037,  1.33279688,  1.3962634 ,  1.45972992,  1.52319644,        1.58666296,  1.65012947,  1.71359599,  1.77706251,  1.84052903,        1.90399555,  1.96746207,  2.03092858,  2.0943951 ,  2.15786162,        2.22132814,  2.28479466,  2.34826118,  2.41172769,  2.47519421,        2.53866073,  2.60212725,  2.66559377,  2.72906028,  2.7925268 ,        2.85599332,  2.91945984,  2.98292636,  3.04639288,  3.10985939,        3.17332591,  3.23679243,  3.30025895,  3.36372547,  3.42719199,        3.4906585 ,  3.55412502,  3.61759154,  3.68105806,  3.74452458,        3.8079911 ,  3.87145761,  3.93492413,  3.99839065,  4.06185717,        4.12532369,  4.1887902 ,  4.25225672,  4.31572324,  4.37918976,        4.44265628,  4.5061228 ,  4.56958931,  4.63305583,  4.69652235,        4.75998887,  4.82345539,  4.88692191,  4.95038842,  5.01385494,        5.07732146,  5.14078798,  5.2042545 ,  5.26772102,  5.33118753,        5.39465405,  5.45812057,  5.52158709,  5.58505361,  5.64852012,        5.71198664,  5.77545316,  5.83891968,  5.9023862 ,  5.96585272,        6.02931923,  6.09278575,  6.15625227,  6.21971879,  6.28318531])

2、numpy的运算
①numpy的加减运算

a = np.array([20, 30, 40, 50])b = np.arange(4)print(a)print(b)c = a + bd = a - bprint(c)print(d)#结论:对应位置的元素相加减

结果为:

[20 30 40 50][0 1 2 3][20 31 42 53][20 29 38 47]

②numpy的乘除运算

b = np.arange(4)print(b ** 2)#推广结论:进行乘除时对每个元素执行相同的运算

结果为:[0 1 4 9]

③比较

a = np.array([20, 30, 40, 50])print(a<35)#结论:每个元素都进行比较

结果为:[ True True False False]

3、矩阵的运算

A = np.array([[1, 1],              [0, 1]])B = np.array([[2, 0],              [3, 4]])print(A)print('--------')print(B)print('--------')#求内积print(A * B)#对应位置元素相乘print('--------')#矩阵乘法print(A.dot(B))#等同于print(np.dot(A, B))print('--------')

结果为:

[[1 1] [0 1]]--------[[2 0] [3 4]]--------[[2 0] [0 4]]--------[[5 4] [3 4]]--------[[5 4] [3 4]]

另附:
科学计算库Numpy-数据结构
科学计算库Numpy-数据操作
科学计算库Numpy-矩阵属性
科学计算库Numpy-常用函数

原创粉丝点击