概述
自己写的一个numpys库,方便考试使用行列式,矩阵。。。。
import numpy as np
import re
import sys
#=======
#获得数组(数组字符串)
def huodeshuzu(shuzustr):
lists = re.findall(r'-?d+.?d*', shuzustr)
return [float(i) for i in lists]
#获得n阶行列式(数组字符串,几阶)
def huodehanglieshi(shuzustr,jijie):
try:
lists = huodeshuzu(shuzustr)
if len(lists) == 0:
print('找不到一个数值')
raise Exception
if jijie ** 2 != len(lists):
print('输入的元素不是:',jijie ** 2,'个元素,记得是方阵才能求行列式')
else:
lists = np.array(lists).reshape(jijie,jijie)
return lists
except Exception as e:
sys.exit(0)
#获得行列式的值(行列式字符串,几阶层)
def huodehanglieshideZhi(shuzustr,jijie):
print(huodehanglieshi(shuzustr,jijie))
res = np.linalg.det(huodehanglieshi(shuzustr,jijie))
print('行列式的值为:%.4f'%res)
return res
# 获得行列式的转置(行列式)
def huodehanglieshideZhuanZhi(hanglieshi):
print('行列式的转置为:n' + hanglieshi.T)
return hanglieshi.T
#============================矩阵
#获得矩阵(矩阵字符串,行数,列数)
def huodejuzhen(juzhenstr,hang,lie):
try:
lists = huodeshuzu(juzhenstr)
if len(lists) == 0:
print('找不到一个数值')
raise Exception
if hang * lie != len(lists):
print('输入的元素不是:',hang * lie,'个元素')
else:
lists = np.array(lists).reshape(hang,lie)
print('获得矩阵:n',lists)
return np.matrix(lists)
except Exception as e:
sys.exit(0)
#获得矩阵的逆
def huodejuzhendeNi(juzhen):
print('--矩阵的逆为:n',juzhen.I)
return juzhen.I
#获得矩阵的转置
def huodejuzhendeZhuanZhi(juzhen):
print('--矩阵的转置为:n', juzhen.T)
return juzhen.T
#获得矩阵的乘积(矩阵A,矩阵B)
def huodejuzhendeChengJi(juzhenA,juzhenB):
res = np.dot(juzhenA,juzhenB)
print('矩阵的乘积为:n',res)
return res
#获得矩阵的值(表达式字符串)-->例子:2*A*B-2A,不能有转置
def jisuanjuzhendeZhi(shizistr):
print(shizistr + '的值为:n',eval(shizistr))
#获得单位矩阵(几阶)
def huodeDanWeijuzhen(jijie):
res = np.eye(jijie)
print('获得单位矩阵:n',res)
return res
def huodejuzhendeGongShi():
str = '''
1、 A的逆的逆还是A
2、 A的转置的逆是A的逆的转置
3、 (数字a*A)的逆 等于 (1/a) * A的逆
4、 A*B的逆 等于 B的逆*A的逆
5、 A*B的转置 等于 B的转置*A的转置
6、 (AB)的行列式 等于 A的行列式*B的行列式
7、 A*A的逆 等于 单位矩阵E
8、 A的逆的行列式 等于 A的行列式分之1
'''
print(str)
if __name__ == '__main__':
# print(huodehanglieshi('1,2,3,4,5,5',2,3))
# huodehanglieshidezhi('1 2 3 4 4 5 56 3 32 2 3 1 2 3 4 5',4,4)
# huodehanglieshidezhi('ssss',3)
# juzhen = huodejuzhen('1 2 3 4 4 5 56 3 32 2 3 1 2 3 4 5',4,4)
# print(juzhen)
# huodejuzhendeNi(juzhen)
# huodejuzhendeZhuanZhi(juzhen)
# a = np.matrix(np.array([[1,2,3]]))
# print(a,type(a))
# A = huodejuzhen('1,2,3,4,5,6,7,8,9',3,3)
# B = huodejuzhen('4,5,6,34,5,2,2,4,5',3,3)
# huodejuzhendeChengJi(A,B)
# A = huodejuzhen('1 1 1 1 1 -1 1 -1 1',3,3)
# B = huodejuzhen('1 2 3 -1 -2 4 0 5 1',3,3)
# # # print(3*A*B-2*A)
# jisuanjuzhendeZhi('A*B*3-2*A')
# huodeDanWeijuzhen(5)
# huodejuzhendeGongShi()
pass
最后
以上就是欣喜棉花糖为你收集整理的numpy快捷使用的全部内容,希望文章能够帮你解决numpy快捷使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复