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

📄 lda2.c

📁 LDA程式設計
💻 C
📖 第 1 页 / 共 5 页
字号:
		rand_temp = rand()%10000;
		LDAFea7[i].mean[2] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].mean[2] = -4+8*LDAFea7[i].mean[2];
		rand_temp = rand()%10000;
		LDAFea7[i].std[0] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].std[0] = -4+8*LDAFea7[i].std[0];
		rand_temp = rand()%10000;
		LDAFea7[i].std[1] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].std[1] = -4+8*LDAFea7[i].std[1];
		rand_temp = rand()%10000;
		LDAFea7[i].std[2] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].std[2] = -4+8*LDAFea7[i].std[2];
		rand_temp = rand()%10000;
		LDAFea7[i].corrcoef[0] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].corrcoef[0] = -4+8*LDAFea7[i].corrcoef[0];
		rand_temp = rand()%10000;
		LDAFea7[i].corrcoef[1] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].corrcoef[1] = -4+8*LDAFea7[i].corrcoef[1];
		rand_temp = rand()%10000;
		LDAFea7[i].corrcoef[2] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].corrcoef[2] = -4+8*LDAFea7[i].corrcoef[2];
		rand_temp = rand()%10000;
		LDAFea7[i].mad[0] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].mad[0] = -4+8*LDAFea7[i].mad[0];
		rand_temp = rand()%10000;
		LDAFea7[i].mad[1] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].mad[1] = -4+8*LDAFea7[i].mad[1];
		rand_temp = rand()%10000;
		LDAFea7[i].mad[2] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].mad[2] = -4+8*LDAFea7[i].mad[2];
		rand_temp = rand()%10000;
		LDAFea7[i].rms[0] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].rms[0] = -4+8*LDAFea7[i].rms[0];
		rand_temp = rand()%10000;
		LDAFea7[i].rms[1] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].rms[1] = -4+8*LDAFea7[i].rms[1];
		rand_temp = rand()%10000;
		LDAFea7[i].rms[2] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].rms[2] = -4+8*LDAFea7[i].rms[2];
		rand_temp = rand()%10000;
		LDAFea7[i].var[0] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].var[0] = -4+8*LDAFea7[i].var[0];
		rand_temp = rand()%10000;
		LDAFea7[i].var[1] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].var[1] = -4+8*LDAFea7[i].var[1];
		rand_temp = rand()%10000;
		LDAFea7[i].var[2] = (double)( rand_temp/10000.0 );   
		LDAFea7[i].var[2] = -4+8*LDAFea7[i].var[2];		fprintf(f, "%f, ", LDAFea7[i].mean[0]);		fprintf(f, "%f, ", LDAFea7[i].mean[1]);		fprintf(f, "%f, ", LDAFea7[i].mean[2]);		fprintf(f, "%f, ", LDAFea7[i].std[0]);		fprintf(f, "%f, ", LDAFea7[i].std[1]);		fprintf(f, "%f, ", LDAFea7[i].std[2]);		fprintf(f, "%f, ", LDAFea7[i].corrcoef[0]);		fprintf(f, "%f, ", LDAFea7[i].corrcoef[1]);		fprintf(f, "%f, ", LDAFea7[i].corrcoef[2]);		fprintf(f, "%f, ", LDAFea7[i].mad[0]);		fprintf(f, "%f, ", LDAFea7[i].mad[1]);		fprintf(f, "%f, ", LDAFea7[i].mad[2]);		fprintf(f, "%f, ", LDAFea7[i].rms[0]);		fprintf(f, "%f, ", LDAFea7[i].rms[1]);		fprintf(f, "%f, ", LDAFea7[i].rms[2]);		fprintf(f, "%f, ", LDAFea7[i].var[0]);		fprintf(f, "%f, ", LDAFea7[i].var[1]);		fprintf(f, "%f\n", LDAFea7[i].var[2]);	}	for(i=0;i<25;i++)	{		rand_temp = rand()%10000;
		LDAFea8[i].mean[0] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].mean[0] = -4+8*LDAFea8[i].mean[0];		rand_temp = rand()%10000;
		LDAFea8[i].mean[1] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].mean[1] = -4+8*LDAFea8[i].mean[1];
		rand_temp = rand()%10000;
		LDAFea8[i].mean[2] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].mean[2] = -4+8*LDAFea8[i].mean[2];
		rand_temp = rand()%10000;
		LDAFea8[i].std[0] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].std[0] = -4+8*LDAFea8[i].std[0];
		rand_temp = rand()%10000;
		LDAFea8[i].std[1] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].std[1] = -4+8*LDAFea8[i].std[1];
		rand_temp = rand()%10000;
		LDAFea8[i].std[2] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].std[2] = -4+8*LDAFea8[i].std[2];
		rand_temp = rand()%10000;
		LDAFea8[i].corrcoef[0] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].corrcoef[0] = -4+8*LDAFea8[i].corrcoef[0];
		rand_temp = rand()%10000;
		LDAFea8[i].corrcoef[1] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].corrcoef[1] = -4+8*LDAFea8[i].corrcoef[1];
		rand_temp = rand()%10000;
		LDAFea8[i].corrcoef[2] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].corrcoef[2] = -4+8*LDAFea8[i].corrcoef[2];
		rand_temp = rand()%10000;
		LDAFea8[i].mad[0] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].mad[0] = -4+8*LDAFea8[i].mad[0];
		rand_temp = rand()%10000;
		LDAFea8[i].mad[1] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].mad[1] = -4+8*LDAFea8[i].mad[1];
		rand_temp = rand()%10000;
		LDAFea8[i].mad[2] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].mad[2] = -4+8*LDAFea8[i].mad[2];
		rand_temp = rand()%10000;
		LDAFea8[i].rms[0] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].rms[0] = -4+8*LDAFea8[i].rms[0];
		rand_temp = rand()%10000;
		LDAFea8[i].rms[1] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].rms[1] = -4+8*LDAFea8[i].rms[1];
		rand_temp = rand()%10000;
		LDAFea8[i].rms[2] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].rms[2] = -4+8*LDAFea8[i].rms[2];
		rand_temp = rand()%10000;
		LDAFea8[i].var[0] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].var[0] = -4+8*LDAFea8[i].var[0];
		rand_temp = rand()%10000;
		LDAFea8[i].var[1] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].var[1] = -4+8*LDAFea8[i].var[1];
		rand_temp = rand()%10000;
		LDAFea8[i].var[2] = (double)( rand_temp/10000.0 );   
		LDAFea8[i].var[2] = -4+8*LDAFea8[i].var[2];		fprintf(f, "%f, ", LDAFea8[i].mean[0]);		fprintf(f, "%f, ", LDAFea8[i].mean[1]);		fprintf(f, "%f, ", LDAFea8[i].mean[2]);		fprintf(f, "%f, ", LDAFea8[i].std[0]);		fprintf(f, "%f, ", LDAFea8[i].std[1]);		fprintf(f, "%f, ", LDAFea8[i].std[2]);		fprintf(f, "%f, ", LDAFea8[i].corrcoef[0]);		fprintf(f, "%f, ", LDAFea8[i].corrcoef[1]);		fprintf(f, "%f, ", LDAFea8[i].corrcoef[2]);		fprintf(f, "%f, ", LDAFea8[i].mad[0]);		fprintf(f, "%f, ", LDAFea8[i].mad[1]);		fprintf(f, "%f, ", LDAFea8[i].mad[2]);		fprintf(f, "%f, ", LDAFea8[i].rms[0]);		fprintf(f, "%f, ", LDAFea8[i].rms[1]);		fprintf(f, "%f, ", LDAFea8[i].rms[2]);		fprintf(f, "%f, ", LDAFea8[i].var[0]);		fprintf(f, "%f, ", LDAFea8[i].var[1]);		fprintf(f, "%f\n", LDAFea8[i].var[2]);	}	gsl_matrix *W = gsl_matrix_alloc (7, 18);	gsl_matrix_complex *W_pre = gsl_matrix_complex_alloc (18, 18);	W_pre = lda( LDAFea1, LDAFea2, LDAFea3, LDAFea4, LDAFea5, LDAFea6, LDAFea7, LDAFea8 );	for (i = 0; i < 18; i++)
	{		//gsl_complex eval_i = gsl_vector_complex_get (eval, i);
		gsl_vector_complex_view W_i = gsl_matrix_complex_column (W_pre, i);
     
		//printf ("eigenvalue = %g + %gi\n", GSL_REAL(eval_i), GSL_IMAG(eval_i));
		//printf ("eigenvector %d= \n", i);
		for (j = 0; j < 18; ++j)
		{			gsl_complex z = gsl_vector_complex_get(&W_i.vector, j);
			//printf("%g + %gi\n", GSL_REAL(z), GSL_IMAG(z));					if(i < 7)			{				gsl_matrix_set (W, i, j, gsl_complex_abs (z));			}
		}
	}	for(i=0;i<18;i++)	{		for(j=0;j<7;j++)		{			printf("%f   ", gsl_matrix_get (W, j, i));			fprintf(file_W, "%f   ", gsl_matrix_get (W, j, i));		}		fprintf(file_W, "\n");		fprintf(file_W, "\n");		printf("\n");	}
}gsl_matrix_complex* lda( featurePtr LDAFea1, featurePtr LDAFea2, featurePtr LDAFea3, featurePtr LDAFea4, featurePtr LDAFea5, featurePtr LDAFea6, featurePtr LDAFea7, featurePtr LDAFea8 ){	int i, j;	int sign = 1;/* class1 */	gsl_vector *class1_v1 = gsl_vector_alloc(18);	gsl_vector_set (class1_v1, 0, LDAFea1[0].mean[0]);	gsl_vector_set (class1_v1, 1, LDAFea1[0].mean[1]);	gsl_vector_set (class1_v1, 2, LDAFea1[0].mean[2]);	gsl_vector_set (class1_v1, 3, LDAFea1[0].std[0]);	gsl_vector_set (class1_v1, 4, LDAFea1[0].std[1]);	gsl_vector_set (class1_v1, 5, LDAFea1[0].std[2]);	gsl_vector_set (class1_v1, 6, LDAFea1[0].corrcoef[0]);	gsl_vector_set (class1_v1, 7, LDAFea1[0].corrcoef[1]);	gsl_vector_set (class1_v1, 8, LDAFea1[0].corrcoef[2]);	gsl_vector_set (class1_v1, 9, LDAFea1[0].mad[0]);	gsl_vector_set (class1_v1, 10, LDAFea1[0].mad[1]);	gsl_vector_set (class1_v1, 11, LDAFea1[0].mad[2]);	gsl_vector_set (class1_v1, 12, LDAFea1[0].rms[0]);	gsl_vector_set (class1_v1, 13, LDAFea1[0].rms[1]);	gsl_vector_set (class1_v1, 14, LDAFea1[0].rms[2]);	gsl_vector_set (class1_v1, 15, LDAFea1[0].var[0]);	gsl_vector_set (class1_v1, 16, LDAFea1[0].var[1]);	gsl_vector_set (class1_v1, 17, LDAFea1[0].var[2]);	gsl_vector *class1_v2 = gsl_vector_alloc(18);	gsl_vector_set (class1_v2, 0, LDAFea1[1].mean[0]);	gsl_vector_set (class1_v2, 1, LDAFea1[1].mean[1]);	gsl_vector_set (class1_v2, 2, LDAFea1[1].mean[2]);	gsl_vector_set (class1_v2, 3, LDAFea1[1].std[0]);	gsl_vector_set (class1_v2, 4, LDAFea1[1].std[1]);	gsl_vector_set (class1_v2, 5, LDAFea1[1].std[2]);	gsl_vector_set (class1_v2, 6, LDAFea1[1].corrcoef[0]);	gsl_vector_set (class1_v2, 7, LDAFea1[1].corrcoef[1]);	gsl_vector_set (class1_v2, 8, LDAFea1[1].corrcoef[2]);	gsl_vector_set (class1_v2, 9, LDAFea1[1].mad[0]);	gsl_vector_set (class1_v2, 10, LDAFea1[1].mad[1]);	gsl_vector_set (class1_v2, 11, LDAFea1[1].mad[2]);	gsl_vector_set (class1_v2, 12, LDAFea1[1].rms[0]);	gsl_vector_set (class1_v2, 13, LDAFea1[1].rms[1]);	gsl_vector_set (class1_v2, 14, LDAFea1[1].rms[2]);	gsl_vector_set (class1_v2, 15, LDAFea1[1].var[0]);	gsl_vector_set (class1_v2, 16, LDAFea1[1].var[1]);	gsl_vector_set (class1_v2, 17, LDAFea1[1].var[2]);	gsl_vector *class1_v3 = gsl_vector_alloc(18);	gsl_vector_set (class1_v3, 0, LDAFea1[2].mean[0]);	gsl_vector_set (class1_v3, 1, LDAFea1[2].mean[1]);	gsl_vector_set (class1_v3, 2, LDAFea1[2].mean[2]);	gsl_vector_set (class1_v3, 3, LDAFea1[2].std[0]);	gsl_vector_set (class1_v3, 4, LDAFea1[2].std[1]);	gsl_vector_set (class1_v3, 5, LDAFea1[2].std[2]);	gsl_vector_set (class1_v3, 6, LDAFea1[2].corrcoef[0]);	gsl_vector_set (class1_v3, 7, LDAFea1[2].corrcoef[1]);	gsl_vector_set (class1_v3, 8, LDAFea1[2].corrcoef[2]);	gsl_vector_set (class1_v3, 9, LDAFea1[2].mad[0]);	gsl_vector_set (class1_v3, 10, LDAFea1[2].mad[1]);	gsl_vector_set (class1_v3, 11, LDAFea1[2].mad[2]);	gsl_vector_set (class1_v3, 12, LDAFea1[2].rms[0]);	gsl_vector_set (class1_v3, 13, LDAFea1[2].rms[1]);	gsl_vector_set (class1_v3, 14, LDAFea1[2].rms[2]);	gsl_vector_set (class1_v3, 15, LDAFea1[2].var[0]);	gsl_vector_set (class1_v3, 16, LDAFea1[2].var[1]);	gsl_vector_set (class1_v3, 17, LDAFea1[2].var[2]);	gsl_vector *class1_v4 = gsl_vector_alloc(18);	gsl_vector_set (class1_v4, 0, LDAFea1[3].mean[0]);	gsl_vector_set (class1_v4, 1, LDAFea1[3].mean[1]);	gsl_vector_set (class1_v4, 2, LDAFea1[3].mean[2]);	gsl_vector_set (class1_v4, 3, LDAFea1[3].std[0]);	gsl_vector_set (class1_v4, 4, LDAFea1[3].std[1]);	gsl_vector_set (class1_v4, 5, LDAFea1[3].std[2]);	gsl_vector_set (class1_v4, 6, LDAFea1[3].corrcoef[0]);	gsl_vector_set (class1_v4, 7, LDAFea1[3].corrcoef[1]);	gsl_vector_set (class1_v4, 8, LDAFea1[3].corrcoef[2]);	gsl_vector_set (class1_v4, 9, LDAFea1[3].mad[0]);	gsl_vector_set (class1_v4, 10, LDAFea1[3].mad[1]);	gsl_vector_set (class1_v4, 11, LDAFea1[3].mad[2]);	gsl_vector_set (class1_v4, 12, LDAFea1[3].rms[0]);	gsl_vector_set (class1_v4, 13, LDAFea1[3].rms[1]);	gsl_vector_set (class1_v4, 14, LDAFea1[3].rms[2]);	gsl_vector_set (class1_v4, 15, LDAFea1[3].var[0]);	gsl_vector_set (class1_v4, 16, LDAFea1[3].var[1]);	gsl_vector_set (class1_v4, 17, LDAFea1[3].var[2]);	gsl_vector *class1_v5 = gsl_vector_alloc(18);	gsl_vector_set (class1_v5, 0, LDAFea1[4].mean[0]);	gsl_vector_set (class1_v5, 1, LDAFea1[4].mean[1]);	gsl_vector_set (class1_v5, 2, LDAFea1[4].mean[2]);	gsl_vector_set (class1_v5, 3, LDAFea1[4].std[0]);	gsl_vector_set (class1_v5, 4, LDAFea1[4].std[1]);	gsl_vector_set (class1_v5, 5, LDAFea1[4].std[2]);	gsl_vector_set (class1_v5, 6, LDAFea1[4].corrcoef[0]);	gsl_vector_set (class1_v5, 7, LDAFea1[4].corrcoef[1]);	gsl_vector_set (class1_v5, 8, LDAFea1[4].corrcoef[2]);	gsl_vector_set (class1_v5, 9, LDAFea1[4].mad[0]);	gsl_vector_set (class1_v5, 10, LDAFea1[4].mad[1]);	gsl_vector_set (class1_v5, 11, LDAFea1[4].mad[2]);	gsl_vector_set (class1_v5, 12, LDAFea1[4].rms[0]);	gsl_vector_set (class1_v5, 13, LDAFea1[4].rms[1]);	gsl_vector_set (class1_v5, 14, LDAFea1[4].rms[2]);	gsl_vector_set (class1_v5, 15, LDAFea1[4].var[0]);	gsl_vector_set (class1_v5, 16, LDAFea1[4].var[1]);	gsl_vector_set (class1_v5, 17, LDAFea1[4].var[2]);	gsl_vector *class1_v6 = gsl_vector_alloc(18);	gsl_vector_set (class1_v6, 0, LDAFea1[5].mean[0]);	gsl_vector_set (class1_v6, 1, LDAFea1[5].mean[1]);	gsl_vector_set (class1_v6, 2, LDAFea1[5].mean[2]);	gsl_vector_set (class1_v6, 3, LDAFea1[5].std[0]);	gsl_vector_set (class1_v6, 4, LDAFea1[5].std[1]);	gsl_vector_set (class1_v6, 5, LDAFea1[5].std[2]);	gsl_vector_set (class1_v6, 6, LDAFea1[5].corrcoef[0]);

⌨️ 快捷键说明

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