Program liczy predkosc radialna z przesuniec linii widmowych. Plik z danymi zawiera predkosci laboratoryjne, obserwowane oraz blad wyznaczenia dl.linii obserwowanych. <verbatim> #include<stdio.h> #include<math.h> #define C 3E5 /*predkosc swiatla w prozni (km/s)*/ main() { int i,N; float lab[N], obs[N], vr[N], deltaObs[N], deltaVr[N]; float PredRad, deltaPredRad; FILE *plik, *plik2; char *nazwa, *nazwa2; int d; nazwa="Procjon.dat"; plik=fopen(nazwa,"r"); nazwa2="Procjon_wynik.dat"; plik2=fopen(nazwa2,"w"); N=0; while ((d=fgetc(plik)) != EOF) { if (d==10) /* 10 oznacza znak nowej linii */ {N=N+1;} } fclose(plik); plik=fopen(nazwa,"r"); for (i=1; i<=N; ++i) { fscanf(plik,"%f%f%f\n",&lab[i],&obs[i],&deltaObs[i]); vr[i]=C*(obs[i]-lab[i])/lab[i]; deltaVr[i]=C*deltaObs[i]/lab[i]; fprintf(plik2,"%10.2f%10.2f%10.2f%10.2f%10.2f\n",lab[i],obs[i],deltaObs[i],vr[i],deltaVr[i]); } fprintf(plik2,"wyniki [km/s]:\n"); PredRad=0; deltaPredRad=0; for (i=1; i<=N; ++i) { PredRad=PredRad+vr[i]; deltaPredRad=deltaPredRad+deltaVr[i]; } PredRad=PredRad/N; deltaPredRad=deltaPredRad/N; fprintf(plik2,"%10.5f%10.5f\n",PredRad,deltaPredRad); fclose(plik); fclose(plik2); return 0; } </verbatim> -- Main.AgnieszkaB - 16 Mar 2005 * [[%ATTACHURL%/Procjon.dat][Procjon.dat]]: plik z danymi
Attachments
1
Attachments
1
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
dat
Procjon.dat
manage
0.3 K
16 Mar 2005 - 11:39
AgnieszkaB
plik z danymi
This topic: Main
>
TWikiUsers
>
AgnieszkaB
>
PredkoscRad
Topic revision: revision 1 (raw view)
Copyright © CC-BY-SA by the contributing authors. All material on this collaboration platform is copyrighted under CC-BY-SA by the contributing authors unless otherwise noted.
Ideas, requests, problems regarding Foswiki?
Send feedback