www.pudn.com > HMM.rar > hmm.cpp


#include "hmm.h" 
#include  
using 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;it) 
				{ 
					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;it) 
		{ 
			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