1

例如,我想将标量 Gamma 乘以 NxN 矩阵 A,并将结果作为 NxN 矩阵 B 返回,即 B = Gamma * A。

首先,我创建DenseMatrix64F A和。然后,我想使用该方法:DenseMatrix64F Bdouble Gamma

org.ejml.ops.CommonOps.mult(Gamma, A, B);

我收到一个无法应用于in的编译Gamma器错误。该方法的网页在这里doublemult()CommonOpsmult

我不知道我哪里错了。请问你能帮我解决问题吗?

4

1 回答 1

0

要执行逐个元素的标量乘法,请使用org.ejml.CommonOps.scale.

在您的情况下,请尝试:

org.ejml.CommonOps.scale(double Gamma, DenseMatrix64F A, DenseMatrix64F B).

在您的示例中,出现错误是因为三参数形式的org.ejml.CommonOps.mult 期望第一个参数是 type DenseMatrix64F,如:

org.ejml.CommonOps.mult(DenseMatrix64F a, DenseMatrix64F b, DenseMatrix64F c)

因此,当您传入 adouble作为第一个参数时,您将收到编译器错误。此外,mult执行矩阵乘法 c = a * b,这对于您的示例不是必需的。

于 2015-01-14T12:37:19.343 回答