Пример #1
0
double getSimilarity(double t,substitution::MultiModel& SM) 
{
  double S = 0;

  for(int m=0;m<SM.n_base_models();m++) {
    // We can't use models with more than one part
    Matrix Q = SM.transition_p(t,0,m);
    double Sm = 0;
    for(int i=0;i<Q.size1();i++)
      Sm += SM.base_model(m).frequencies()[i]*Q(i,i);
    S += Sm * SM.distribution()[m];
  }
  
  return S;
}