本文实例讲述了python简单实现矩阵的乘,加,转置和逆运算。分享给大家供大家参考,具体如下:
使用python完成矩阵的乘,加,转置和逆:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# -*- coding:utf-8 -*-
#矩阵的乘,加,转置和逆
#numpy库提供矩阵运算的功能
from numpy import * ;
import numpy as np;
#矩阵的创建(随机) data=mat(random.randint(10,size=(3,3)))
data = mat([ [ 3 , 4 , 4 ],
[ 4 , 9 , 7 ],
[ 2 , 3 , 3 ] ])
#矩阵的乘:
data_1 = mat([[ 1 ],[ 2 ],[ 3 ]]); # 3 x 3 矩阵与 3 x 1 矩阵相乘得 3 x 1 矩阵
text1 = data * data_1;
print ( "矩阵的乘:" )
print (text1) #验证结果
#矩阵的加:
data_2 = mat([[ 3 , 4 , 4 ],[ 4 , 9 , 7 ],[ 2 , 3 , 3 ]])
text2 = data + data_2
print ( "矩阵的加:" )
print (text2) #矩阵自加
#矩阵的转置:mat.T
data_3 = data.T
print ( "矩阵的转置:" )
print (data_3) #验证转置结果
#矩阵的逆:mat.I
data_4 = data.I
print ( "矩阵的逆:" )
print (data_4) #验证逆
|
运行结果:
矩阵的乘:
[[23]
[43]
[17]]
矩阵的加:
[[ 6 8 8]
[ 8 18 14]
[ 4 6 6]]
矩阵的转置:
[[3 4 2]
[4 9 3]
[4 7 3]]
矩阵的逆:
[[ 3.00000000e+00 2.22044605e-16 -4.00000000e+00]
[ 1.00000000e+00 5.00000000e-01 -2.50000000e+00]
[ -3.00000000e+00 -5.00000000e-01 5.50000000e+00]]
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://www.cnblogs.com/double-points/p/10834566.html