📄 lda2.c
字号:
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 + -