人工智能 机器学习Numpy函数库基础功能(MacOS)

进入Python Numpy 开发环境

  1. 进入开发环境,导入函数库。
python
>>> from numpy import *
>>>
  1. 构造随机4*4的数组。
>>> random.rand(4,4)
array([[0.768388  , 0.25985153, 0.22463279, 0.15207017],
       [0.54974659, 0.66975723, 0.43260259, 0.16968662],
       [0.99561439, 0.19247713, 0.06272048, 0.02427845],
       [0.37828522, 0.07717839, 0.82606638, 0.62284816]])
  1. 调用mat()函数可以将数组转化为矩阵:
randMat = mat(random.rand(4,4))
  1. .I操作符实现了矩阵求逆的运算:
>>> randMat.I
matrix([[ 1.82854954,  6.18721531, -1.23217589, -6.21081253],
        [-2.77985587, -6.95624578,  3.20273141,  6.39917325],
        [ 3.59647331,  4.48562014, -2.46083948, -4.08390475],
        [-5.94615554, -9.97699439,  3.74538554, 11.04422169]])
  1. 执行矩阵的乘法运算,得到矩阵与其逆矩阵相乘的结果:
>>> invRandMat = randMat.I
>>> randMat*invRandMat
matrix([[ 1.0000000e+00,  0.0000000e+00,  0.0000000e+00,  0.0000000e+00],
        [ 8.8817842e-16,  1.0000000e+00,  0.0000000e+00,  0.0000000e+00],
        [-4.4408921e-16,  0.0000000e+00,  1.0000000e+00,  0.0000000e+00],
        [ 0.0000000e+00,  8.8817842e-16,  0.0000000e+00,  1.0000000e+00]])

结果应该是单位矩阵,除了对角线是1,其他都应该是0,但是实际运算中存在误差。

  1. eye(4)函数可以创建一个4*4的单位矩阵。用计算后的矩阵减去单位矩阵,计算误差:
myEye = randMat*invRandMat
>>> myEye - eye(4)
matrix([[ 2.22044605e-16,  0.00000000e+00,  0.00000000e+00,
          0.00000000e+00],
        [ 8.88178420e-16,  1.77635684e-15,  0.00000000e+00,
          0.00000000e+00],
        [-4.44089210e-16,  0.00000000e+00,  4.44089210e-16,
          0.00000000e+00],
        [ 0.00000000e+00,  8.88178420e-16,  0.00000000e+00,
         -8.88178420e-16]])

猜你喜欢

转载自blog.csdn.net/qq_40636596/article/details/86300038
今日推荐