我试图让EJML工作,特别是创建带有随机数的矩阵。创建一个常规的SimpleMatrix和DMatrixRMaj很好。但是我一直得到java.lang.RuntimeException:无法编译的代码-在使用更高级的语句(如
DMatrixRMaj D2 = new RandomMatrices_DDRM.createSymmetric(20,-2,3,rand);
或
SimpleMatrix S2 = new SimpleMatrix.random64(20,20,-2,3,rand);
下面是完整的代码和错误消息。
谢谢!
/Benny
package com.benny.evosim;
import java.util.*;
import org.ejml.simple.SimpleMatrix;
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.RandomMatrices_DDRM;
public class EvoSim {
public static void main(String[] args) {
EvoSim evoSimInstance = new EvoSim();
evoSimInstance.start();
}
public void start() {
Random rand = new Random();
SimpleMatrix A = new SimpleMatrix(3,3);
DMatrixRMaj D = new DMatrixRMaj(3,3) ;
DMatrixRMaj D2 = new RandomMatrices_DDRM.createSymmetric(20,-2,3,rand);
SimpleMatrix S2 = new SimpleMatrix.random64(20,20,-2,3,rand);
A.print();
}
}
错误信息
--------------------------< com.benny:evosim >--------------------------
Building evosim 1.0-SNAPSHOT
--------------------------------[ jar ]---------------------------------
--- exec-maven-plugin:3.0.0:exec (default-cli) @ evosim ---
Exception in thread "main" java.lang.RuntimeException: Uncompilable code - cannot find symbol
symbol: variable RandomMatrices_DDRM
location: class com.benny.evosim.EvoSim
at com.benny.evosim.EvoSim.start(EvoSim.java:1)
at com.benny.evosim.EvoSim.main(EvoSim.java:26)
Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
发布于 2022-04-22 21:01:47
在方法之前创建RandomMatrices_DDRM
的实例。在这种情况下,方法实际上是symmetric
DMatrixRMaj d2 = new RandomMatrices_DDRM().symmetric(20,-2,3,rand);
SimpleMatrix
也是如此
https://stackoverflow.com/questions/71974563
复制相似问题