use sharedMeanAndStddev
parent
9eb4ac6848
commit
381087f48d
|
@ -42,19 +42,18 @@ inline HybridBayesNet createHybridBayesNet(int numMeasurements = 1,
|
||||||
|
|
||||||
// Create Gaussian mixture z_i = x0 + noise for each measurement.
|
// Create Gaussian mixture z_i = x0 + noise for each measurement.
|
||||||
for (int i = 0; i < numMeasurements; i++) {
|
for (int i = 0; i < numMeasurements; i++) {
|
||||||
const auto conditional0 = boost::make_shared<GaussianConditional>(
|
|
||||||
GaussianConditional::FromMeanAndStddev(Z(i), I_1x1, X(0), Z_1x1, 0.5));
|
|
||||||
const auto conditional1 = boost::make_shared<GaussianConditional>(
|
|
||||||
GaussianConditional::FromMeanAndStddev(Z(i), I_1x1, X(0), Z_1x1, 3));
|
|
||||||
const auto mode_i = manyModes ? DiscreteKey{M(i), 2} : mode;
|
const auto mode_i = manyModes ? DiscreteKey{M(i), 2} : mode;
|
||||||
GaussianMixture gm({Z(i)}, {X(0)}, {mode_i}, {conditional0, conditional1});
|
GaussianMixture gm({Z(i)}, {X(0)}, {mode_i},
|
||||||
|
{GaussianConditional::sharedMeanAndStddev(
|
||||||
|
Z(i), I_1x1, X(0), Z_1x1, 0.5),
|
||||||
|
GaussianConditional::sharedMeanAndStddev(
|
||||||
|
Z(i), I_1x1, X(0), Z_1x1, 3)});
|
||||||
bayesNet.emplaceMixture(gm); // copy :-(
|
bayesNet.emplaceMixture(gm); // copy :-(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create prior on X(0).
|
// Create prior on X(0).
|
||||||
const auto prior_on_x0 =
|
bayesNet.addGaussian(
|
||||||
GaussianConditional::FromMeanAndStddev(X(0), Vector1(5.0), 0.5);
|
GaussianConditional::sharedMeanAndStddev(X(0), Vector1(5.0), 0.5));
|
||||||
bayesNet.emplaceGaussian(prior_on_x0); // copy :-(
|
|
||||||
|
|
||||||
// Add prior on mode.
|
// Add prior on mode.
|
||||||
const size_t nrModes = manyModes ? numMeasurements : 1;
|
const size_t nrModes = manyModes ? numMeasurements : 1;
|
||||||
|
|
Loading…
Reference in New Issue