www.pudn.com > HMM.rar > hmm.cpp
#include "hmm.h" #includeusing namespace std; int HMM2(int N,double *A,double *B,double *init,int T,int *a, int *b){ int i,j; double * R=new double[N*T]; double * S=new double[N*T]; //int *b=new int[T];//最为合理的解释观察序列a的序列 for(i=0;i t) { l=i; t=t1; } } int tt; tt=a[k]; //记录最大值 R[k*N+j]=t*B[j*N+tt]; S[k*N+j]=l; } ///近似对数据做归一化 double temp; int temp1; temp1=0; temp=0; for(i=0;i t) { t=t1; l=i; } } b[T-1]=l; //求S序列 for(i=T-2;i>=0;i--) { b[i]=S[(i+1)*N+l]; l=b[i]; } for(i=0;i