精华内容
下载资源
问答
  • python矩阵运算

    2021-03-13 17:40:29
    python矩阵运算 之前美赛的时候查了一下怎么用python进行矩阵运算,最近要搞神经网络,还会用到,记录一下之前查找的python矩阵运算。 import math; from numpy import * a1 = mat(random.randint(10,size=(3,3))) #...

    python矩阵运算

    之前美赛的时候查了一下怎么用python进行矩阵运算,最近要搞神经网络,还会用到,记录一下之前查找的python矩阵运算。

    import math;
    from numpy import *
    a1 = mat(random.randint(10,size=(3,3)))   #产生0到10内的3*3的随机数矩阵
    print(a1) 
    print("\n")
    a2 = mat([[1,2,3],[3,4,5],[6,7,8]])  #矩阵
    print(a2) 
    print("\n")
    a3 = mat([[4,5,3],[3,6,5],[6,9,10]])
    print(a3)
    print("\n")
    a4=a2+a3   #矩阵相加
    print(a4)
    print("\n")
    a5=a2*a3  #矩阵相乘
    print(a5)
    print("\n")
    a6=multiply(a2,a3)  #矩阵点乘,即矩阵对应元素相乘
    print(a6)
    print("\n")
    a7=a6.I    #矩阵求逆
    print(a7)
    print("\n")
    a8=a6.T   #矩阵转置
    print(a8)
    
    展开全文
  • python矩阵运算第一次看见Python的运行感觉就让我想起了matlab,于是就上网嗖嗖他在矩阵方面的运算如何,如果不想安装Matlab那么大的软件,而你又只是想计算些矩阵,python绝对够用!尤其在Linux下太方便了Python...

    python

    矩阵运算

    第一次看见

    Python

    的运行感觉就让我想起了

    matlab

    ,于是就上网嗖嗖他在矩阵方面的运算

    如何,如果不想安装

    Matlab

    那么大的软件,而你又只是想计算些矩阵,

    python

    绝对够用!

    尤其在

    Linux

    下太方便了

    Python

    使用

    NumPy

    包完成了对

    N-

    维数组的快速便捷操作。使用这个包,需要导入

    numpy

    SciPy

    包以

    NumPy

    包为基础,大大的扩展了

    numpy

    的能力。为了使用的方便,

    scipy

    包在最

    外层名字空间中包括了所有的

    numpy

    内容,因此只要导入了

    scipy

    ,不必在单独导入

    numpy

    了!但是为了明确哪些是

    numpy

    中实现的,哪些是

    scipy

    中实现的,本文还是进行了区分。

    以下默认已经:

    import numpy as np

    以及

    impor scipy as sp

    下面简要介绍

    Python

    MATLAB

    处理数学问题的几个不同点。

    1.MATLAB

    的基本是矩阵,

    numpy

    的基本类型是多为数组,把

    matrix

    看做是

    array

    的子类。

    2.MATLAB

    的索引从

    1

    开始,而

    numpy

    0

    开始。

    1.

    建立矩阵

    a1=np.array([1,2,3],dtype=int)

    #

    建立一个一维数组,数据类型是

    int

    。也可以不指定数据类

    型,使用默认。几乎所有的数组建立函数都可以指定数据类型,即

    dtype

    的取值。

    a2=np.array([[1,2,3],[2,3,4]])

    #

    建立一个二维数组。此处和

    MATLAB

    的二维数组(矩阵)

    的建立有很大差别。

    同样,

    numpy

    中也有很多内置的特殊矩阵:

    b1=np.zeros((2,3))

    #

    生成一个

    2

    3

    列的全

    0

    矩阵。注意,参数是一个

    tuple

    (2,3)

    ,所以

    有两个括号。

    完整的形式为:

    zeros(shape,dtype=)

    相同的结构,

    ones()

    建立全

    1

    矩阵。

    empty()

    建立一个空矩阵,使用内存中的随机值来填充这个矩阵。

    b2=identity(n)

    #

    建立

    n*n

    的单位阵,这只能是一个方阵。

    b3=eye(N,M=None,k=0)

    #

    建立一个对角线是

    1

    其余值为

    0

    的矩阵,

    k

    指定对角线的位置。

    M

    默认

    None

    此外,

    numpy

    中还提供了几个

    like

    函数,即按照某一个已知的数组的规模

    (几行几列)建立

    同样规模的特殊数组。这样的函数有

    zeros_like()

    empty_like()

    ones_like()

    ,它们的参数均

    为如此形式:

    zeros_like(a,dtype=)

    ,其中,

    a

    是一个已知的数组。

    c1=np.arange(2,3,0.1)

    #

    起点,终点,步长值。含起点值,不含终点值。

    展开全文
  • Python矩阵运算

    2021-04-05 21:56:52
    一、python 矩阵操作 先引入 numpy ,以后的教程中,我们都引用 np 作为简写。 使用 mat 函数创建一个 2×3 矩阵。 #引入numpy import numpy as np #使用mat函数创建一个2×3矩阵 a=np.mat([[1,2,3],[4,5,6]]) a 1 2...

    目录


    一、python 矩阵操作
    先引入 numpy ,以后的教程中,我们都引用 np 作为简写。
    使用 mat 函数创建一个 2×3 矩阵。
    #引入numpy
    import numpy as np
    #使用mat函数创建一个2×3矩阵
    a=np.mat([[1,2,3],[4,5,6]])
    a
    1
    2
    3
    4
    5

    使用 shape 可以获取矩阵的大小。
    #使用shape可以获取矩阵的大小
    a.shape
    1
    2

    使用下表读取矩阵中的元素
    #使用下标读取矩阵中的元素
    a.T
    1
    2

    进行行列转换。
    #进行行列转换
    a.transpose()

    a.T
    1
    2
    3
    4

    实际上官方文档建议我们使用二维数组代替矩阵来进行矩阵运算;因为二维数组用得较多,而且基本可取代矩阵。
    #用二维数组代替矩阵
    b=np.array([[1,2,3],[4,5,6]])
    b

    b.T
    1
    2
    3
    4
    5

    加减法也是一样的。
    #加减法
    a+a

    b+b
    1
    2
    3
    4

    当然列表是不能这么尽兴加减的。
    #列表不能尽兴加减
    c=[[1,2,3],[4,5,6]]
    c+c
    1
    2
    3

    二、python 矩阵乘法
    使用二维数组创建两个矩阵 A 和 B。
    #使用二维数组创建两个矩阵A和B
    A=np.array([[1,2,3],[4,5,6]])
    B=A.T

    A

    B
    1
    2
    3
    4
    5
    6
    7

    先来一个矩阵的数乘,其实是矩阵的每一个元素乘以该数。
    #矩阵每个元素乘以该数
    2*A

    2*B
    1
    2
    3
    4

    dot 函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积。
    A*B

    np.dot(A,B)

    np.dot(B,A)
    1
    2
    3
    4
    5

    再创建一个二维数组
    #创建一个二维数组
    C=np.array([[1,2],[1,3]])
    C
    1
    2
    3

    我们验证一个矩阵乘法的结合性:(AB)C=A(BC)。
    #验证矩阵乘法的结合性 (AB)C=A(BC)
    np.dot(np.dot(A,B),C)

    np.dot(A,np.dot(B,C))
    1
    2
    3
    4

    接着看一下对加法的分配性:(A+B)C=AC+BC、C(A+B)=CA+CB。
    #验证加法的分配性 (A+B)C=AC+BC C(A+B)=CA+CB
    D=B-1
    D

    np.dot(A,B+D)

    np.dot(A,B)+np.dot(A,D)
    1
    2
    3
    4
    5
    6
    7

    数乘的结合性,也是一样的。
    #验证数乘的结合性
    2*(np.dot(A,B))

    np.dot(A,2*B)

    np.dot(2*A,B)

    np.dot(A,2*B)
    1
    2
    3
    4
    5
    6
    7
    8

    接着我们用到一个新知识,使用 eye 创建一个单位矩阵。
    #使用 eye 创建一个单位矩阵
    I=np.eye(3)
    I
    1
    2
    3

    一个矩阵 A 乘以一个单位矩阵,还是它本身。
    #矩阵 A 乘以一个单位矩阵
    np.dot(A,I)
    1
    2

    三、python 矩阵转置
    先创建一个矩阵 A(前面已经创建过了)。
    A
    1

    我们使用属性 T 来得到矩阵 A 的转置矩阵
    A.T
    1

    验证第一个性质:(A’)’=A。
    A.T.T
    1

    创建两个尺寸相同的矩阵(前面已经创建过了)。
    B

    D
    1
    2
    3

    验证矩阵转置的第二个性质:(A±B)’=A’±B’。
    (B+D).T

    B.T+D.T
    1
    2
    3

    验证矩阵转置的第三个性质:(KA)’=KA’
    10*A.T

    (10*A).T
    1
    2
    3

    验证矩阵转置的第四个性质:(A×B)’=B’×A’
    np.dot(A.T,B.T)

    np.dot(B.T,A.T)
    1
    2
    3

    四、python 求方阵的迹
    方阵的迹就是主对角元素之和。
    创建一个方阵(行数等于列数的矩阵)。
    E=np.array([[1,2,3],[4,5,6],[7,8,9]])
    E
    1
    2

    用 trace 计算方阵的迹。
    np.trace(E)
    1

    再创建一个方阵 F。
    F=E-2
    F
    1
    2

    验证一下方阵的迹等于方阵的转置的迹。
    np.trace(E)

    np.trace(E.T)
    1
    2
    3

    验证一下方阵的乘积的迹。
    np.trace(np.dot(E,F))

    np.trace(np.dot(F,E))
    1
    2
    3

    验证一下方阵的和的迹等于方阵的迹的和。
    np.trace(E+F)

    np.trace(E)+np.trace(F)
    1
    2
    3

    五、python 方阵的行列式计算方法
    如何计算方阵的行列式,用到的是 numpy 模块的 linalg.det 方法。
    行列式计算方法:

    创建两个方阵(上面已经创建过了)。
    E

    F
    1
    2
    3

    使用 det 方法求得方阵 E 和方阵 F 的行列式。
    np.linalg.det(E)

    np.linalg.det(F)
    1
    2
    3

    C

    np.linalg.det©
    1
    2
    3

    六、python 求逆矩阵 / 伴随矩阵
    设 A 是数域上的一个 n 阶方阵,若在相同数域上存在另一个 n 阶矩阵 B,使得:AB=BA=E,则我们称 B 是 A 的逆矩阵,而 A 则被称为可逆矩阵,当矩阵 A 的行列式 |A| 不等于 0 时才存在可逆矩阵。

    创建一个方阵。
    A=np.array([[1,-2,1],[0,2,-1],[1,1,-2]])
    A
    1
    2

    使用 linalg.det 求得方阵的行列式。
    A_abs=np.linalg.det(A)
    A_abs
    1
    2

    使用 linalg.inv 求得方阵 A 的逆矩阵。
    B=np.linalg.inv(A)
    B
    1
    2

    接着我们利用公式:A − 1 = A ′ ′ / ∣ A ∣ A^{-1}=A’’/|A|A
    −1
    =A
    ′′
    /∣A∣ ——> A ′ ′ = A − 1 ∣ A ∣ A’’=A^{-1}|A|A
    ′′
    =A
    −1
    ∣A∣ 来计算。
    A_bansui=B*A_abs
    A_bansui
    1
    2

    七、python 解多元一次方程
    用 python 的 numpy 包中的 linalg.solve() 方法解多元一次方程。
    首先看一下我们要解的方程,将这个方程格式调整好,按照 x-y-z-常数项的顺序排列:
    x + 2 y + z = 7 2 x − y + 3 z = 7 3 x + y + 2 z = 18 x+2y+z=7\ 2x-y+3z=7\ 3x+y+2z=18
    x+2y+z=7
    2x−y+3z=7
    3x+y+2z=18
    将未知数的系数写下来,排列成一个矩阵 a ,如下:
    a=[[1,2,1],[2,-1,3],[3,1,2]]
    a=np.array(a)
    a
    1
    2
    3

    常数项构成一个一维数组(向量)。
    b=[7,7,18]
    b=np.array(b)
    b
    1
    2
    3

    使用linalg.solve 方法解方程,参数 a 指的是系数矩阵,参数 b 指的是常数项矩阵。
    x=np.linalg.solve(a,b)
    x
    1
    2

    使用点乘的方法可以验证一下,系数乘以未知数可以得到常数项。
    np.dot(a,x)
    1

    ————————————————
    版权声明:本文为CSDN博主「一条咸鱼zcj」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ssj925319/article/details/115444806

    展开全文
  • python矩阵运算第一次看见Python的运行感觉就让我想起了matlab,于是就上网嗖嗖他在矩阵方面的运算如何,如果不想安装Matlab那么大的软件,而你又只是想计算些矩阵,python绝对够用!尤其在Linux下太方便了Python...

    python

    矩阵运算

    第一次看见

    Python

    的运行感觉就让我想起了

    matlab,

    于是就上网嗖嗖他在矩阵方面的运算

    如何,如果不想安装

    Matlab

    那么大的软件,而你又只是想计算些矩阵,python

    绝对够用!

    尤其在

    Linux

    下太方便了

    Python

    使用

    NumPy

    包完成了对

    N-维数组的快速便捷操作。使用这个包,需要导入

    numpy。

    SciPy

    包以

    NumPy

    包为基础,大大的扩展了

    numpy

    的能力。为了使用的方便,scipy

    包在最

    外层名字空间中包括了所有的

    numpy

    内容,因此只要导入了

    scipy,不必在单独导入

    numpy

    了!但是为了明确哪些是

    numpy

    中实现的,哪些是

    scipy

    中实现的,本文还是进行了区分。

    以下默认已经:import

    numpy

    as

    np

    以及

    impor

    scipy

    as

    sp

    下面简要介绍

    Python

    MATLAB

    处理数学问题的几个不同点。1.MATLAB

    的基本是矩阵,而

    numpy

    的基本类型是多为数组,

    matrix

    看做是

    array

    的子类。

    2.MATLAB

    的索引从

    1

    开始,

    numpy

    0

    开始。

    1.建立矩阵

    a1=np.array([1,2,3],dtype=int)

    #建立一个一维数组,数据类型是

    int。也可以不指

    定数据类型,使用默认。几乎所有的数组建立函数都可以指定数据类型,即

    dtype

    的取值。

    a2=np.array([[1,2,3],[2,3,4]])

    #建立一个二维数组。

    此处和

    MATLAB

    的二维数组

    (矩

    阵)的建立有很大差别。

    同样,numpy

    中也有很多内置的特殊矩阵:

    b1=np.zeros((2,3))

    #生成一个

    2

    3

    列的全

    0

    矩阵。

    注意,

    参数是一个

    tuple:

    (2,3),

    所以有两个括号。完整的形式为:zeros(shape,dtype=)。相同的结构,有

    ones()建立全

    1

    矩阵。empty()建立一个空矩阵,使用内存中的随机值来填充这个矩阵。

    b2=identity(n)

    #建立

    n*n

    的单位阵,这只能是一个方阵。

    b3=eye(N,M=None,k=0)

    #建立一个对角线是

    1

    其余值为

    0

    的矩阵,用

    k

    指定对角线的

    位置。M

    默认

    None。

    此外,numpy

    中还提供了几个

    like

    函数,即按照某一个已知的数组的规模(几行几列)建

    立同样规模的特殊数组。这样的函数有

    zeros_like()、empty_like()、ones_like(),它们

    的参数均为如此形式:zeros_like(a,dtype=),其中,a

    是一个已知的数组。

    c1=np.arange(2,3,0.1)

    #起点,终点,步长值。含起点值,不含终点值。

    展开全文
  • 本文转自:http://blog.sina.com.cn/s/blog_5f234d4701012p64.html科学计算:Python VS....本文主要设涉及线性代数和矩阵论的基本内容。先回顾这部分理论基础,然后给出MATLAB,继而给出Python的处理。个人...
  • python 矩阵运算

    2019-07-13 03:13:04
    import numpy as np import scipy as sp scipy 是numpy的扩展,上述导入两个库只是为了区分哪些来自numpy,哪些来自scipy。 转载于:https://www.cnblogs.com/huang-kun/p/3771546.html...
  • Python矩阵常见运算操作实例总结来源:中文源码网浏览: 次日期:2018年9月2日【下载文档:Python矩阵常见运算操作实例总结.txt】(友情提示:右键...分享给大家供大家参考,具体如下:python的numpy库提供矩阵运算的功...
  • python矩阵运算第一次看见Python的运行感觉就让我想起了matlab,于是就上网嗖嗖他在矩阵方面的运算如何,如果不想安装Matlab那么大的软件,而你又只是想计算些矩阵,python绝对够用!尤其在Linux下太方便了Python...
  • python矩阵运算程序There are following matrix operations, that we can implement with the numpy matrix. 我们可以使用numpy矩阵实现以下矩阵运算 。 Operations that we are performing here, (Here, x and y ...
  • python 怎么查看一个矩阵的维数你是知道的,等你,我已经栖息了疲惫的憧憬,夜夜抚慰残梦的翅膀。都是复制党,百度知道回答真的质量太低了,真的很心疼,言归正传 利用numpy分享矩阵维数: import numpy # 导入numpy...
  • 主要介绍了python矩阵运算,转置,逆运算,共轭矩阵实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python矩阵运算报错

    2021-04-23 23:29:25
    <p>python矩阵运算报错 <p>RuntimeError: The size of tensor a (32) must match the size of tensor b (31) at non-singleton dimension 3 应该怎么改?</p>
  • 本文实例讲述了Python矩阵常见运算操作。分享给大家供大家参考,具体如下:python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。一.numpy的导入和使用from numpy import *;#导入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,997
精华内容 1,998
关键字:

python矩阵运算

python 订阅