Gonum矩阵计算 - 逐元素乘法和除法


逐元素乘法和除法

每个矩阵元素对应相乘 element-wise multiplication
需要两个矩阵的形状完全一样。

比如下面的示例代码

a := mat.NewDense(2, 3, []float64{
	1, 2, 3,
	4, 5, 6})
b := mat.NewDense(3, 2, []float64{
	6, 8,
	6, 8,
	6, 8})
var c mat.Dense
c.Mul(a, b)
fmt.Printf("%v\n\n", mat.Formatted(&c))

d := mat.NewDense(2, 3, []float64{
	1, 2, 3,
	4, 5, 6})
var e mat.Dense
e.MulElem(a, d)
fmt.Printf("%v\n\n", mat.Formatted(&e))

var f mat.Dense
f.DivElem(a, d)
fmt.Printf("%v\n\n", mat.Formatted(&f))

输出

? 36   48?
? 90  120?

? 1   4   9?
?16  25  36?

?1  1  1?
?1  1  1?

相关