某不知名人士 2024-03-16 16:49 采纳率: 92%
浏览 3

Nnumpy库矩阵与向量的乘积

我是在网络上找视频跟着学这个库的,本人没学过线性代数,由于作者本身没着重去讲
矩阵乘法计算的方法,所以我一直没看懂(3,5)X(5,1)=(3,1)是怎么来的,希望有人能给我
解释一下

img

  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2024-03-16 16:49
    关注

    某不知名人士 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    对于矩阵和向量的乘法,我们可以使用numpy库进行计算。在numpy中,矩阵与向量的乘法遵循以下规则:

    1. 如果矩阵形状为(m, n),向量形状为(n,),则它们可以相乘,结果的形状为(m,)。

    根据你提供的示例代码:

    import numpy as np
    
    arr1 = np.arange(15).reshape(3, 5)
    arr2 = np.arange(5)
    print(arr1)
    print(arr2)
    

    输出结果为:

    [[ 0  1  2  3  4]
     [ 5  6  7  8  9]
     [10 11 12 13 14]]
    [0 1 2 3 4]
    

    从输出结果可以看出,arr1的形状为(3, 5),arr2的形状为(5,)。

    根据上述规则,我们可以进行矩阵乘法的计算,即arr1arr2相乘,结果应该是一个形状为(3,)的向量。

    解决方法如下:

    1. 使用numpy.dot()函数进行矩阵乘法计算,将arr1arr2相乘,并将结果赋值给变量result
    2. 打印输出结果result

    修改后的代码如下:

    import numpy as np
    
    arr1 = np.arange(15).reshape(3, 5)
    arr2 = np.arange(5)
    result = np.dot(arr1, arr2)
    print(result)
    

    输出结果为:

    [ 30  80 130]
    

    从结果可以看出,输出的形状为(3,),符合矩阵乘法的规则。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月16日