/*************************************************************************
 Beispiel C-Programm zur Berechnung der

   Parameter a und b der Wachstumskomponente
   w=a*t+b
   die Messdaten werden von der Datei
   DATEN.TXT gelesen.
   Die Anzahl der Messdaten ist beliebig

   Die Daten muessen in folgendem Format
   als Tabelle auf der Datei liegen:
   DATUM           MESSWERT
   tt.mm.jjjj               xxxxx
   tt.mm.jjjj               xxxxx
            ....
 
          usw.
 
Beispiel anhand 5 Messwerten:
 
     DATUM       MESSWERT
DATEI ANFANG
   01.01.2004    22000
   01.01.2005    22300
   01.01.2006    22500
   01.01.2007    22550
   01.01.2008    22600
DATEI ENDE
 
************************************************************************/
     
#include <stdio.h>
#include <dos.h>
#include <math.h>
#include <bios.h>
#include <ctype.h>
     
FILE *fp1;
float xx,x,y,yy,xy,a,b,x_,y_,s;
int nn;
int monat,jahr,tag,k1,kk;
 
main() {
 
 
/*** DATEN LESEN */
 
fp1=fopen("daten.txt","r");
if(fp1==0){fclose(fp1);goto xx;}
 
xx=0.0;
x=0.0;
nn=0;
y=0.0;
yy=0.0;
xy=0.0;
 
xx1:
fscanf(fp1,"%d",&tag);
kk=getc(fp1);
if(kk== EOF)goto ende0;
if(kk!='.')goto xx1;
if(kk=='.'){
fscanf(fp1,"%d",&monat);
kk=getc(fp1);
fscanf(fp1,"%d",&jahr);
fscanf(fp1,"%d",&k1);
 
x_=(float)(jahr-2000)+(((float)monat-1)*30+(float)tag)/360;
y_=(float)k1;
y_=(float)log((double)y_);
 
/* x_ wurde aus dem Datum berechnet */
/* hier ist x_ die numerische Zeitangabe und y_ der log(Messwert) */
 
xx=xx+x_*x_;
x=x+x_;
yy=yy+y_*y_;
y=y+y_;
nn++;
xy=xy+x_*y_;
                  }
goto xx1;
ende0:
fclose(fp1);
/***** ENDE DATEN LESEN ****/
  
 
/****ERGEBNIS BERECHNEN ****/
 
s=xx/nn-x*x/nn/nn;
a=(xy/nn-x*y/nn/nn)/s;       /* Zuwachsrate */
b=y/nn-a*x/nn;
 
a=a*100; /* Multiplikation mit 100 fuer Ergebnis in % */
printf("\nParameter der Wachstumskomponente");
printf("\na=%8.2f%%p.a. mittlere Zuwachsrate \nb=%8.2f",a,b);
 
  xx:
printf("\nProgramm ENDE");
 
}

---------------------------------------------------------------------------------------------------------
HOME    Chetan   Galerie   FotoGalerie    Links    Sonstiges     E-mail