我是靠谱客的博主 欣喜棉花糖,最近开发中收集的这篇文章主要介绍numpy快捷使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 自己写的一个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快捷使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部