Hi all, I am a GSL newbie, and I have a question. I am reading a file in CSV format and doing some statistical operations on the values.
my CSV file : 38237.437500,25.059040,866691153.643799 38237.808594,25.058592,880036569.532104 38235.363281,25.059200,1032792951.377289 38226.953125,25.059328,717658590.187134 38238.222656,25.058559,1167387824.806625 38214.203125,25.057631,812704009.806641 38213.058594,25.059904,920272148.867798 38237.796875,25.058048,887312107.545158 38206.578125,25.057920,551000509.083344 38237.101562,25.059807,917024755.835205 Now, I've written a program to calculate mean, variance and standard deviation of each of the 3 columns for a set of 6 values : #include <stdio.h> #include <gsl_statistics_double.h> #include <math.h> FILE *fp; double exec_time[6], ipc_time[6], results[6]; double mean_results, var_results, sd_results; double mean_exec_time, var_exec_time, sd_exec_time; double mean_ipc_time, var_ipc_time, sd_ipc_time; int i; int main(int argc, char *argv[]) { fp = fopen(argv[1],"r"); if(fp < 0) { printf("arrgh\n"); } printf("file: %s\n",argv[1]); for(i=0;i<6;i++) { fscanf(fp,"%lf,%lf,%lf",&exec_time[i],&ipc_time[i],&results[i]); } fclose(fp); for(i=0;i<6;i++) { printf("%lf,%lf,%lf\n",exec_time[i],ipc_time[i],results[i]); } mean_results = gsl_stats_mean(results,1,6); var_results = gsl_stats_variance(results,1,6); sd_results = gsl_stats_sd(results,1,6); printf("mean_results: %lf, var_results: %lf, sd_results: %lf\n",mean_results,var_results,sd_results); mean_exec_time = gsl_stats_mean(results,1,6); var_exec_time = gsl_stats_variance(results,1,6); sd_exec_time = gsl_stats_sd(results,1,6); printf("mean_exec_time: %f, var_exec_time: %f, sd_exec_time: %f\n",mean_exec_time,var_exec_time,sd_exec_time); mean_ipc_time = gsl_stats_mean(results,1,6); var_ipc_time = gsl_stats_variance(results,1,6); sd_ipc_time = gsl_stats_sd(results,1,6); printf("mean_ipc_time: %f, var_ipc_time: %f, sd_ipc_time: %f\n",mean_ipc_time,var_ipc_time,sd_ipc_time); return 0; } The program compiles properly without any warnings and errors : gcc -Wall -I/usr/include/gsl checker.c -o checker -L/usr/lib64 -lgsl -lgslcblas -lm and when I run it so : ./checker dataset.csv where dataset.csv contains the values listed in the very beginning, I get : file: dataset.csv 38237.437500,25.059040,866691153.643799 38237.808594,25.058592,880036569.532104 38235.363281,25.059200,1032792951.377289 38226.953125,25.059328,717658590.187134 38238.222656,25.058559,1167387824.806625 38214.203125,25.057631,812704009.806641 mean_results: 912878516.558932, var_results: 26102415419153472.000000, sd_results: 161562419.575697 mean_exec_time: 912878516.558932, var_exec_time: 26102415419153472.000000, sd_exec_time: 161562419.575697 mean_ipc_time: 912878516.558932, var_ipc_time: 26102415419153472.000000, sd_ipc_time: 161562419.575697 I seem to be getting junk values all over the placeā¦ any ideas on what I am doing wrong? Thanks and Cheers! - vihan _______________________________________________ Help-gsl mailing list Help-gsl@gnu.org https://lists.gnu.org/mailman/listinfo/help-gsl