⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esthmm.c

📁 HMM的演示源程序
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "nrutil.h"
#include "hmm.h"
#include "backward.c"
#include "baum.c"
#include "forward.c"
#include "hmmutils.c"
#include "nrutil.c"
#include "sequence.c"

int main (int argc, char **argv)
{
	int 	T;
	HMM  	hmm;
	int	N;
	int	M;
	double 	**alpha;
	double	**beta;
	double	**gamma;
	int	*O;
	FILE	*fp;
	if (argc != 4) {
		printf("Usage error. \n");
		printf("Usage: %s N M file.seq\n", argv[0]);
		printf("  N - number of states\n");
		printf("  M - number of symbols\n");
		printf("  file.seq - file containing the obs. seqence\n");
		exit (1);
	}

	fp = fopen(argv[3], "r");
	ReadSequence(fp, &T, &O);
	fclose(fp);
	N = atoi(argv[1]);
	M = atoi(argv[2]);
	InitHMM(&hmm, N, M);
	alpha = dmatrix(1, T, 1, hmm.N);
	beta = dmatrix(1, T, 1, hmm.N);
	gamma = dmatrix(1, T, 1, hmm.N);

	BaumWelch(&hmm, T, O, alpha, beta, gamma);
	PrintHMM(stdout, &hmm);
	free_ivector(O, 1, T);
	free_dmatrix(alpha, 1, T, 1, hmm.N);
	free_dmatrix(beta, 1, T, 1, hmm.N);
	free_dmatrix(gamma, 1, T, 1, hmm.N);
	FreeHMM(&hmm);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -