
Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Выч.физ / Обработка статистики
.cpp#include<conio.h>
#include<stdio.h>
#include<math.h>
FILE *OUT, *IN, *END, *REZ_E, *REZ_M, *REZ_sE, *REZ_sM;
double T;
long start_configuration_max, mks_max;
long N;
double E[100000], sE[100000], M[100000], sM[100000];
int main ( void )
{
IN = fopen("CONFIGURATION.dat","r");
OUT = fopen("OUT.dat","r");
END = fopen("END.dat","r");
REZ_E = fopen("RESULT_E.dat","w+");
REZ_sE = fopen("ERROR_E.dat","w+");
REZ_M = fopen("RESULT_M.dat","w+");
REZ_sM = fopen("ERROR_M.dat","w+");
if((REZ_M==NULL)||(REZ_sM==NULL)||(REZ_E==NULL)||(REZ_sE==NULL))
{
printf("\n ERROR!");
getch();
return 0;
}
long i, start_configuration, ss;
double M_, E_, f;
fscanf(IN,"%lf",&T);
fscanf(IN,"%ld",&start_configuration_max);
if(END!=NULL)
{
fscanf(END,"%ld",&start_configuration_max);
}
fscanf(IN,"%ld",&mks_max);
fscanf(IN,"%ld",&N);
fscanf(IN,"%ld",&ss);
printf("T = %4.3lf\n",T);
printf("start_configuration_max = %ld\n",start_configuration_max);
printf("mks_max = %ld\n",mks_max);
printf("N = %ld\n",N);
printf("ss = %ld\n",ss);
printf("\n\n\n INITIATED PROCESSING STATISTIC!");
for(i=0;i<mks_max;i++)
{
E[i]=0.0;
sE[i]=0.0;
M[i]=0.0;
sM[i]=0.0;
}
printf("\n\n\n INITIATED DATA PROCESSING!");
f=1.0/start_configuration_max;
for(start_configuration=0;start_configuration<start_configuration_max;start_configuration++)
{
if(start_configuration%ss==0)
{
printf("\n COMPLITE %ld CONFIGURATION",start_configuration);
}
for(i=0;i<mks_max;i++)
{
fscanf(OUT,"%lf",&E_);
fscanf(OUT,"%lf",&M_);
E[i]=E[i]+E_*f;
M[i]=M[i]+M_*f;
}
}
for(i=0;i<mks_max;i++)
{
fprintf(REZ_E,"%6.5lf\n",E[i]);
fprintf(REZ_M,"%6.5lf\n",M[i]);
}
fclose(REZ_E);
fclose(REZ_M);
printf("\n\n\n INITIATED PROCESSING ERROR!");
f=1.0/start_configuration_max*(start_configuration_max-1);
for(start_configuration=0;start_configuration<start_configuration_max;start_configuration++)
{
if(start_configuration%ss==0)
{
printf("\n COMPLITE %ld CONFIGURATION",start_configuration);
}
for(i=0;i<mks_max;i++)
{
fscanf(OUT,"%lf",&E_);
fscanf(OUT,"%lf",&M_);
sE[i]=sE[i]+(E_-E[i])*(E_-E[i])*f;
sM[i]=sM[i]+(M_-M[i])*(M_-M[i])*f;
}
}
for(i=0;i<mks_max;i++)
{
fprintf(REZ_sE,"%6.5lf\n",sE[i]);
fprintf(REZ_sM,"%6.5lf\n",sM[i]);
}
fclose(REZ_sE);
fclose(REZ_sM);
printf("\n\n\n COMPLITE PROCESSING STATISTIC!");
}
Соседние файлы в папке Выч.физ