g.setMean(means.get(i)); CommonOps_DDRM.fill(g.covariance, 0);
g.setMean(means.get(i)); CommonOps_DDRM.fill(g.covariance, 0);
@Test public void setMean() { GaussianGmm_F64 g = new GaussianGmm_F64(3); g.setMean(new double[]{1,2,3}); for (int i = 0; i < 3; i++) { assertEquals(i+1,g.mean.get(i,0),1e-8); } }
@Test public void addCovariance() { GaussianGmm_F64 g = new GaussianGmm_F64(3); g.setMean(new double[]{4,3,6}); Equation eq = new Equation(); eq.process("Q = zeros(3,3)"); for (int i = 0; i < 5; i++) { DMatrixRMaj x = RandomMatrices_DDRM.rectangle(3,1,rand); eq.alias(x,"x",0.4+i*0.1,"w"); eq.process("Q = Q + w*x*x'"); g.addCovariance(x.data,0.4+i*0.1); } DMatrixRMaj Q = eq.lookupDDRM("Q"); assertTrue(MatrixFeatures_DDRM.isIdentical(Q, g.covariance, 1e-8)); }
a.setMean(alg.info.get(i).point); a.weight = 2; CommonOps_DDRM.setIdentity(a.covariance);