原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历
使用Python创建普通二维矩阵
import numpy as np
m = np.mat([[1,2,3],[4,5,6]])
print m
输出为:
[[1 2 3]
[4 5 6]]
使用zeros
创建一个3×23\times 23×2的0矩阵,还可以使用ones
函数创建1矩阵
from numpy import *
import numpy as np
m = np.mat(zeros((3,2)))
print m
输出为:
[[0. 0.]
[0. 0.]
[0. 0.]]
创建单位矩阵,单位矩阵部分有介绍
from numpy import *
import numpy as np
m = np.mat(eye(3,3,dtype=int))
print m
输出为:
[[1 0 0]
[0 1 0]
[0 0 1]]
矩阵的装置
# coding=utf-8
import numpy as np
m = np.mat([[1,2,3],[4,5,6]])
print '转置前:\n%s' % m
t = m.T
print '转置前:\n%s' % t
输出为:
转置前:
[[1 2 3]
[4 5 6]]
转置前:
[[1 4]
[2 5]
[3 6]]
计算两个同型矩阵的加法
import numpy as np
m1 = np.mat([[1, 2, 3], [4, 5, 6]])
m2 = np.mat([[11, 12, 13], [14, 15, 16]])
print "m1 + m2 = \n%s " % (m1 + m2)
输出为:
m1 + m2 =
[[12 14 16]
[18 20 22]]
Python代码实现
计算2×3矩阵与3×2矩阵相乘
import numpy as np
m1 = np.mat([[1, 2, 3], [4, 5, 6]])
m2 = np.mat([[11, 12], [13, 14], [15, 16]])
print "m1 * m2 = \n%s " % (m1 * m2)
输出为:
m1 * m2 =
[[ 82 88]
[199 214]]
单位矩阵的计算
from numpy import *
import numpy as np
m = np.mat(eye(3,3,dtype=int))
print m
输出为:
[[1 0 0]
[0 1 0]
[0 0 1]]
计算3×33\times33×3矩阵的逆矩阵
# coding=utf-8
import numpy as np
m = np.mat([[2, 0, 0], [0, 4, 0], [0, 0, 8]])
I = m.I
print '矩阵:\n%s\n的逆矩阵为:\n%s' % (m, I)
输出为:
矩阵:
[[2 0 0]
[0 4 0]
[0 0 8]]
的逆矩阵为:
[[0.5 0. 0. ]
[0. 0.25 0. ]
[0. 0. 0.125]]
求3×33\times33×3方阵的行列式
# coding=utf-8
import numpy as np
m = np.mat([[2, 0, 0], [0, 4, 0], [0, 0, 8]])
d = np.linalg.det(m)
print d
输出为:
64.0
求3×33\times33×3方阵的伴随矩阵
import numpy as np
m = np.mat([[2, 0, 0], [0, 4, 0], [0, 0, 8]])
i = m.I
d = np.linalg.det(m)
a = i * d
print a
输出为:
[[32. 0. 0.]
[ 0. 16. 0.]
[ 0. 0. 8.]]