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

📄 lda3.c

📁 LDA程式設計
💻 C
📖 第 1 页 / 共 4 页
字号:
		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_REAL(z)/*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, k;	int sign = 1;	FILE *mean_1, *mean_2, *mean_3, *mean_4, *mean_5, *mean_6, *mean_7, *mean_8;	FILE *sw_1, *sw_2, *sw_3, *sw_4, *sw_5, *sw_6, *sw_7, *sw_8;	mean_1 = fopen ("mean_1.txt", "w+");	mean_2 = fopen ("mean_2.txt", "w+");	mean_3 = fopen ("mean_3.txt", "w+");	mean_4 = fopen ("mean_4.txt", "w+");	mean_5 = fopen ("mean_5.txt", "w+");	mean_6 = fopen ("mean_6.txt", "w+");	mean_7 = fopen ("mean_7.txt", "w+");	mean_8 = fopen ("mean_8.txt", "w+");	sw_1 = fopen ("sw_1.txt", "w+");	sw_2 = fopen ("sw_2.txt", "w+");	sw_3 = fopen ("sw_3.txt", "w+");	sw_4 = fopen ("sw_4.txt", "w+");	sw_5 = fopen ("sw_5.txt", "w+");	sw_6 = fopen ("sw_6.txt", "w+");	sw_7 = fopen ("sw_7.txt", "w+");	sw_8 = fopen ("sw_8.txt", "w+");/* class1 */	matrixPtr class1;	matrixPtr class2;	matrixPtr class3;	matrixPtr class4;	matrixPtr class5;	matrixPtr class6;	matrixPtr class7;	matrixPtr class8;	matrixPtr class1_T;	matrixPtr class2_T;	matrixPtr class3_T;	matrixPtr class4_T;	matrixPtr class5_T;	matrixPtr class6_T;	matrixPtr class7_T;	matrixPtr class8_T;	matrixPtr class1_mul;	matrixPtr class2_mul;	matrixPtr class3_mul;	matrixPtr class4_mul;	matrixPtr class5_mul;	matrixPtr class6_mul;	matrixPtr class7_mul;	matrixPtr class8_mul;	matrixPtr class1_sw;	matrixPtr class2_sw;	matrixPtr class3_sw;	matrixPtr class4_sw;	matrixPtr class5_sw;	matrixPtr class6_sw;	matrixPtr class7_sw;	matrixPtr class8_sw;	matrixPtr m_sw;	matrixPtr class1_sb;	matrixPtr class2_sb;	matrixPtr class3_sb;	matrixPtr class4_sb;	matrixPtr class5_sb;	matrixPtr class6_sb;	matrixPtr class7_sb;	matrixPtr class8_sb;	matrixPtr m_sb;	class1 = malloc( lda_sample*sizeof( matrix ) );	class2 = malloc( lda_sample*sizeof( matrix ) );	class3 = malloc( lda_sample*sizeof( matrix ) );	class4 = malloc( lda_sample*sizeof( matrix ) );	class5 = malloc( lda_sample*sizeof( matrix ) );	class6 = malloc( lda_sample*sizeof( matrix ) );	class7 = malloc( lda_sample*sizeof( matrix ) );	class8 = malloc( lda_sample*sizeof( matrix ) );	class1_T = malloc( lda_sample*sizeof( matrix ) );	class2_T = malloc( lda_sample*sizeof( matrix ) );	class3_T = malloc( lda_sample*sizeof( matrix ) );	class4_T = malloc( lda_sample*sizeof( matrix ) );	class5_T = malloc( lda_sample*sizeof( matrix ) );	class6_T = malloc( lda_sample*sizeof( matrix ) );	class7_T = malloc( lda_sample*sizeof( matrix ) );	class8_T = malloc( lda_sample*sizeof( matrix ) );	class1_mul = malloc( lda_sample*sizeof( matrix ) );	class2_mul = malloc( lda_sample*sizeof( matrix ) );	class3_mul = malloc( lda_sample*sizeof( matrix ) );	class4_mul = malloc( lda_sample*sizeof( matrix ) );	class5_mul = malloc( lda_sample*sizeof( matrix ) );	class6_mul = malloc( lda_sample*sizeof( matrix ) );	class7_mul = malloc( lda_sample*sizeof( matrix ) );	class8_mul = malloc( lda_sample*sizeof( matrix ) );	class1_sw = malloc( sizeof( matrix ) );	class2_sw = malloc( sizeof( matrix ) );	class3_sw = malloc( sizeof( matrix ) );	class4_sw = malloc( sizeof( matrix ) );	class5_sw = malloc( sizeof( matrix ) );	class6_sw = malloc( sizeof( matrix ) );	class7_sw = malloc( sizeof( matrix ) );	class8_sw = malloc( sizeof( matrix ) );	m_sw = malloc( sizeof( matrix ) );	class1_sb = malloc( sizeof( matrix ) );	class2_sb = malloc( sizeof( matrix ) );	class3_sb = malloc( sizeof( matrix ) );	class4_sb = malloc( sizeof( matrix ) );	class5_sb = malloc( sizeof( matrix ) );	class6_sb = malloc( sizeof( matrix ) );	class7_sb = malloc( sizeof( matrix ) );	class8_sb = malloc( sizeof( matrix ) );	m_sb = malloc( sizeof( matrix ) );	for( i=0;i<lda_sample;i++ )	{		class1[i].m = gsl_matrix_alloc(sample_dim, 1);		class2[i].m = gsl_matrix_alloc(sample_dim, 1);		class3[i].m = gsl_matrix_alloc(sample_dim, 1);		class4[i].m = gsl_matrix_alloc(sample_dim, 1);		class5[i].m = gsl_matrix_alloc(sample_dim, 1);		class6[i].m = gsl_matrix_alloc(sample_dim, 1);		class7[i].m = gsl_matrix_alloc(sample_dim, 1);		class8[i].m = gsl_matrix_alloc(sample_dim, 1);	}	for( i=0;i<lda_sample;i++ )	{		gsl_matrix_set (class1[i].m, 0, 0, LDAFea1[i].mean[0]);		gsl_matrix_set (class1[i].m, 1, 0, LDAFea1[i].mean[1]);		gsl_matrix_set (class1[i].m, 2, 0, LDAFea1[i].mean[2]);		gsl_matrix_set (class1[i].m, 3, 0, LDAFea1[i].std[0]);		gsl_matrix_set (class1[i].m, 4, 0, LDAFea1[i].std[1]);		gsl_matrix_set (class1[i].m, 5, 0, LDAFea1[i].std[2]);		gsl_matrix_set (class1[i].m, 6, 0, LDAFea1[i].corrcoef[0]);		gsl_matrix_set (class1[i].m, 7, 0, LDAFea1[i].corrcoef[1]);		gsl_matrix_set (class1[i].m, 8, 0, LDAFea1[i].corrcoef[2]);		gsl_matrix_set (class1[i].m, 9, 0, LDAFea1[i].mad[0]);		gsl_matrix_set (class1[i].m, 10, 0, LDAFea1[i].mad[1]);		gsl_matrix_set (class1[i].m, 11, 0, LDAFea1[i].mad[2]);		gsl_matrix_set (class1[i].m, 12, 0, LDAFea1[i].rms[0]);		gsl_matrix_set (class1[i].m, 13, 0, LDAFea1[i].rms[1]);		gsl_matrix_set (class1[i].m, 14, 0, LDAFea1[i].rms[2]);		gsl_matrix_set (class1[i].m, 15, 0, LDAFea1[i].var[0]);		gsl_matrix_set (class1[i].m, 16, 0, LDAFea1[i].var[1]);		gsl_matrix_set (class1[i].m, 17, 0, LDAFea1[i].var[2]);		gsl_matrix_set (class2[i].m, 0, 0, LDAFea2[i].mean[0]);		gsl_matrix_set (class2[i].m, 1, 0, LDAFea2[i].mean[1]);		gsl_matrix_set (class2[i].m, 2, 0, LDAFea2[i].mean[2]);		gsl_matrix_set (class2[i].m, 3, 0, LDAFea2[i].std[0]);		gsl_matrix_set (class2[i].m, 4, 0, LDAFea2[i].std[1]);		gsl_matrix_set (class2[i].m, 5, 0, LDAFea2[i].std[2]);		gsl_matrix_set (class2[i].m, 6, 0, LDAFea2[i].corrcoef[0]);		gsl_matrix_set (class2[i].m, 7, 0, LDAFea2[i].corrcoef[1]);		gsl_matrix_set (class2[i].m, 8, 0, LDAFea2[i].corrcoef[2]);		gsl_matrix_set (class2[i].m, 9, 0, LDAFea2[i].mad[0]);		gsl_matrix_set (class2[i].m, 10, 0, LDAFea2[i].mad[1]);		gsl_matrix_set (class2[i].m, 11, 0, LDAFea2[i].mad[2]);		gsl_matrix_set (class2[i].m, 12, 0, LDAFea2[i].rms[0]);		gsl_matrix_set (class2[i].m, 13, 0, LDAFea2[i].rms[1]);		gsl_matrix_set (class2[i].m, 14, 0, LDAFea2[i].rms[2]);		gsl_matrix_set (class2[i].m, 15, 0, LDAFea2[i].var[0]);		gsl_matrix_set (class2[i].m, 16, 0, LDAFea2[i].var[1]);		gsl_matrix_set (class2[i].m, 17, 0, LDAFea2[i].var[2]);		gsl_matrix_set (class3[i].m, 0, 0, LDAFea3[i].mean[0]);		gsl_matrix_set (class3[i].m, 1, 0, LDAFea3[i].mean[1]);		gsl_matrix_set (class3[i].m, 2, 0, LDAFea3[i].mean[2]);		gsl_matrix_set (class3[i].m, 3, 0, LDAFea3[i].std[0]);		gsl_matrix_set (class3[i].m, 4, 0, LDAFea3[i].std[1]);		gsl_matrix_set (class3[i].m, 5, 0, LDAFea3[i].std[2]);		gsl_matrix_set (class3[i].m, 6, 0, LDAFea3[i].corrcoef[0]);		gsl_matrix_set (class3[i].m, 7, 0, LDAFea3[i].corrcoef[1]);		gsl_matrix_set (class3[i].m, 8, 0, LDAFea3[i].corrcoef[2]);		gsl_matrix_set (class3[i].m, 9, 0, LDAFea3[i].mad[0]);		gsl_matrix_set (class3[i].m, 10, 0, LDAFea3[i].mad[1]);		gsl_matrix_set (class3[i].m, 11, 0, LDAFea3[i].mad[2]);		gsl_matrix_set (class3[i].m, 12, 0, LDAFea3[i].rms[0]);		gsl_matrix_set (class3[i].m, 13, 0, LDAFea3[i].rms[1]);		gsl_matrix_set (class3[i].m, 14, 0, LDAFea3[i].rms[2]);		gsl_matrix_set (class3[i].m, 15, 0, LDAFea3[i].var[0]);		gsl_matrix_set (class3[i].m, 16, 0, LDAFea3[i].var[1]);		gsl_matrix_set (class3[i].m, 17, 0, LDAFea3[i].var[2]);		gsl_matrix_set (class4[i].m, 0, 0, LDAFea4[i].mean[0]);		gsl_matrix_set (class4[i].m, 1, 0, LDAFea4[i].mean[1]);		gsl_matrix_set (class4[i].m, 2, 0, LDAFea4[i].mean[2]);		gsl_matrix_set (class4[i].m, 3, 0, LDAFea4[i].std[0]);		gsl_matrix_set (class4[i].m, 4, 0, LDAFea4[i].std[1]);		gsl_matrix_set (class4[i].m, 5, 0, LDAFea4[i].std[2]);		gsl_matrix_set (class4[i].m, 6, 0, LDAFea4[i].corrcoef[0]);		gsl_matrix_set (class4[i].m, 7, 0, LDAFea4[i].corrcoef[1]);		gsl_matrix_set (class4[i].m, 8, 0, LDAFea4[i].corrcoef[2]);		gsl_matrix_set (class4[i].m, 9, 0, LDAFea4[i].mad[0]);		gsl_matrix_set (class4[i].m, 10, 0, LDAFea4[i].mad[1]);		gsl_matrix_set (class4[i].m, 11, 0, LDAFea4[i].mad[2]);		gsl_matrix_set (class4[i].m, 12, 0, LDAFea4[i].rms[0]);		gsl_matrix_set (class4[i].m, 13, 0, LDAFea4[i].rms[1]);		gsl_matrix_set (class4[i].m, 14, 0, LDAFea4[i].rms[2]);		gsl_matrix_set (class4[i].m, 15, 0, LDAFea4[i].var[0]);		gsl_matrix_set (class4[i].m, 16, 0, LDAFea4[i].var[1]);		gsl_matrix_set (class4[i].m, 17, 0, LDAFea4[i].var[2]);		gsl_matrix_set (class5[i].m, 0, 0, LDAFea5[i].mean[0]);		gsl_matrix_set (class5[i].m, 1, 0, LDAFea5[i].mean[1]);		gsl_matrix_set (class5[i].m, 2, 0, LDAFea5[i].mean[2]);		gsl_matrix_set (class5[i].m, 3, 0, LDAFea5[i].std[0]);		gsl_matrix_set (class5[i].m, 4, 0, LDAFea5[i].std[1]);		gsl_matrix_set (class5[i].m, 5, 0, LDAFea5[i].std[2]);		gsl_matrix_set (class5[i].m, 6, 0, LDAFea5[i].corrcoef[0]);		gsl_matrix_set (class5[i].m, 7, 0, LDAFea5[i].corrcoef[1]);		gsl_matrix_set (class5[i].m, 8, 0, LDAFea5[i].corrcoef[2]);		gsl_matrix_set (class5[i].m, 9, 0, LDAFea5[i].mad[0]);		gsl_matrix_set (class5[i].m, 10, 0, LDAFea5[i].mad[1]);		gsl_matrix_set (class5[i].m, 11, 0, LDAFea5[i].mad[2]);		gsl_matrix_set (class5[i].m, 12, 0, LDAFea5[i].rms[0]);		gsl_matrix_set (class5[i].m, 13, 0, LDAFea5[i].rms[1]);		gsl_matrix_set (class5[i].m, 14, 0, LDAFea5[i].rms[2]);		gsl_matrix_set (class5[i].m, 15, 0, LDAFea5[i].var[0]);		gsl_matrix_set (class5[i].m, 16, 0, LDAFea5[i].var[1]);		gsl_matrix_set (class5[i].m, 17, 0, LDAFea5[i].var[2]);		gsl_matrix_set (class6[i].m, 0, 0, LDAFea6[i].mean[0]);		gsl_matrix_set (class6[i].m, 1, 0, LDAFea6[i].mean[1]);		gsl_matrix_set (class6[i].m, 2, 0, LDAFea6[i].mean[2]);		gsl_matrix_set (class6[i].m, 3, 0, LDAFea6[i].std[0]);		gsl_matrix_set (class6[i].m, 4, 0, LDAFea6[i].std[1]);		gsl_matrix_set (class6[i].m, 5, 0, LDAFea6[i].std[2]);		gsl_matrix_set (class6[i].m, 6, 0, LDAFea6[i].corrcoef[0]);		gsl_matrix_set (class6[i].m, 7, 0, LDAFea6[i].corrcoef[1]);		gsl_matrix_set (class6[i].m, 8, 0, LDAFea6[i].corrcoef[2]);		gsl_matrix_set (class6[i].m, 9, 0, LDAFea6[i].mad[0]);		gsl_matrix_set (class6[i].m, 10, 0, LDAFea6[i].mad[1]);		gsl_matrix_set (class6[i].m, 11, 0, LDAFea6[i].mad[2]);		gsl_matrix_set (class6[i].m, 12, 0, LDAFea6[i].rms[0]);		gsl_matrix_set (class6[i].m, 13, 0, LDAFea6[i].rms[1]);		gsl_matrix_set (class6[i].m, 14, 0, LDAFea6[i].rms[2]);		gsl_matrix_set (class6[i].m, 15, 0, LDAFea6[i].var[0]);		gsl_matrix_set (class6[i].m, 16, 0, LDAFea6[i].var[1]);		gsl_matrix_set (class6[i].m, 17, 0, LDAFea6[i].var[2]);		gsl_matrix_set (class7[i].m, 0, 0, LDAFea7[i].mean[0]);		gsl_matrix_set (class7[i].m, 1, 0, LDAFea7[i].mean[1]);		gsl_matrix_set (class7[i].m, 2, 0, LDAFea7[i].mean[2]);		gsl_matrix_set (class7[i].m, 3, 0, LDAFea7[i].std[0]);		gsl_matrix_set (class7[i].m, 4, 0, LDAFea7[i].std[1]);		gsl_matrix_set (class7[i].m, 5, 0, LDAFea7[i].std[2]);		gsl_matrix_set (class7[i].m, 6, 0, LDAFea7[i].corrcoef[0]);		gsl_matrix_set (class7[i].m, 7, 0, LDAFea7[i].corrcoef[1]);		gsl_matrix_set (class7[i].m, 8, 0, LDAFea7[i].corrcoef[2]);		gsl_matrix_set (class7[i].m, 9, 0, LDAFea7[i].mad[0]);		gsl_matrix_set (class7[i].m, 10, 0, LDAFea7[i].mad[1]);		gsl_matrix_set (class7[i].m, 11, 0, LDAFea7[i].mad[2]);		gsl_matrix_set (class7[i].m, 12, 0, LDAFea7[i].rms[0]);		gsl_matrix_set (class7[i].m, 13, 0, LDAFea7[i].rms[1]);		gsl_matrix_set (class7[i].m, 14, 0, LDAFea7[i].rms[2]);		gsl_matrix_set (class7[i].m, 15, 0, LDAFea7[i].var[0]);		gsl_matrix_set (class7[i].m, 16, 0, LDAFea7[i].var[1]);		gsl_matrix_set (class7[i].m, 17, 0, LDAFea7[i].var[2]);		gsl_matrix_set (class8[i].m, 0, 0, LDAFea8[i].mean[0]);		gsl_matrix_set (class8[i].m, 1, 0, LDAFea8[i].mean[1]);		gsl_matrix_set (class8[i].m, 2, 0, LDAFea8[i].mean[2]);		gsl_matrix_set (class8[i].m, 3, 0, LDAFea8[i].std[0]);		gsl_matrix_set (class8[i].m, 4, 0, LDAFea8[i].std[1]);		gsl_matrix_set (class8[i].m, 5, 0, LDAFea8[i].std[2]);		gsl_matrix_set (class8[i].m, 6, 0, LDAFea8[i].corrcoef[0]);		gsl_matrix_set (class8[i].m, 7, 0, LDAFea8[i].corrcoef[1]);		gsl_matrix_set (class8[i].m, 8, 0, LDAFea8[i].corrcoef[2]);		gsl_matrix_set (class8[i].m, 9, 0, LDAFea8[i].mad[0]);		gsl_matrix_set (class8[i].m, 10, 0, LDAFea8[i].mad[1]);		gsl_matrix_set (class8[i].m, 11, 0, LDAFea8[i].mad[2]);		gsl_matrix_set (class8[i].m, 12, 0, LDAFea8[i].rms[0]);		gsl_matrix_set (class8[i].m, 13, 0, LDAFea8[i].rms[1]);		gsl_matrix_set (class8[i].m, 14, 0, LDAFea8[i].rms[2]);		gsl_matrix_set (class8[i].m, 15, 0, LDAFea8[i].var[0]);		gsl_matrix_set (class8[i].m, 16, 0, LDAFea8[i].var[1]);		gsl_matrix_set (class8[i].m, 17, 0, LDAFea8[i].var[2]);	}/* insert *//*************************累加與求平均值******************************/	matrixPtr mean;	matrixPtr mean_temp;	matrixPtr all_mean;	matrixPtr v;	mean = malloc( class_num*sizeof( matrix ) );	mean_temp = malloc( class_num*sizeof( matrix ) );	all_mean = malloc( sizeof( matrix ) );	v = malloc( class_num*sizeof( matrix ) );	all_mean->m = gsl_matrix_alloc(sample_dim, 1);	gsl_matrix_set_zero( all_mean->m );	for( i=0;i<class_num;i++ )	{		mean[i].m = gsl_matrix_alloc(sample_dim, 1);		mean_temp[i].m = gsl_matrix_alloc(sample_dim, 1);		gsl_matrix_set_zero( mean[i].m );		v[i].m = gsl_matrix_alloc(sample_dim, 1);		gsl_matrix_set_zero( v[i].m );	}

⌨️ 快捷键说明

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