multiply函数实例

来源:互联网 发布:ios更新后数据还在吗 编辑:程序博客网 时间:2024/06/05 00:31

第一次在csdn写东西,好激动。
看到了multiply,本人一般都不读用户手册,都是自己试几个,基本上就够用了。
(欢迎转载,标明出处,欢迎交流)
————————————————-割——————————————-

函数有两个参数。如果有一个参数是常数,那就是多另一个向量的每个元素广播。我们讨论“向量*向量”问题。

这个函数的“向量*向量”不是线性代数里的向量乘法。

函数内部判断维度。如果是一参二参都是一维,那就把一二参的各元素相乘,out一个多个乘积为元素的list(如果一二参的元素数量不同也error);如果一参是二维,二参是一维,则将一参的每行和二参做对应项乘积,out一个与一参同结构的二维list。

————————————————实例——————————————–

写前面已经“from numpy import multiply”了。

  • 有常数情况——————————————————————-

In [22]: multiply(2,3)
Out[22]: 6

In [23]: multiply([2,5],3)
Out[23]: array([ 6, 15])

In [24]: multiply(2,[3,5])
Out[24]: array([ 6, 10])

  • 主要讨论的“一维一维”,“ 多维一维”情况———————-

In [15]: multiply([1,2],[7,8])
Out[15]: array([ 7, 16])

In [16]: multiply([[1,2],[3,4]],[7,8])
Out[16]:
array([[ 7, 16],
[21, 32]])

In [17]: multiply([[1,2],[3,5]],[7,9])
Out[17]:
array([[ 7, 18],
[21, 45]])

In [18]: multiply([[1,2],[3,5]],[7,11])
Out[18]:
array([[ 7, 22],
[21, 55]])

In [19]: multiply([1,2,3],[7,8])

================================

ValueError Traceback (most recent call last)
in ()
—-> 1 multiply([1,2,3],[7,8])

ValueError: operands could not be broadcast together with shapes (3,) (2,)

In [20]: multiply([[1,2],[3,5],[55,77]],[7,11])
Out[20]:
array([[ 7, 22],
[ 21, 55],
[385, 847]])

In [21]: multiply([[1,2],[3,5],[55,77]],[[7,11],[1,1]])


ValueError Traceback (most recent call last)
in ()
—-> 1 multiply([[1,2],[3,5],[55,77]],[[7,11],[1,1]])

ValueError: operands could not be broadcast together with shapes (3,2) (2,2)

原创粉丝点击