Start C++ Source Regression
Benutzerbewertung: / 0
SchwachPerfekt 

Hier ein von mir geschriebener C++ Source-Code für die Lineare Regression unter Dos:

/* Headerdatei */
#include <iostream.h>

/* Variablendefinition */
double sx[50], sy[50], xx = 0.0, yy = 0.0, x = 0.0, y = 0.0, xy = 0.0;
int n, zaehler = 1;
double Steigung, Koordabs;

/* Hauptfunktion */


void main(void)

{

     cout << "   Lineare Regression \n"
          << "(c) 1996 by Th. Dennhardt \n"
          << "written in C++ for MS-DOS \n"
          << "------------------------- \n"
          << "Formel fuer die Gerade: \n"
          << "     y = m * x + b \n"
          << "------------------------- \n";

/* Definition der Dateneingabe */


     int wertepaare;

     cout << "Anzahl der Wertepaare (mindestens 3) > ? ";
     cin >> wertepaare;

     if (wertepaare < 3)
     {
     wertepaare = 3;
     }

     while (zaehler <= wertepaare)

{
     cout << "x =";
     cin >> sx[zaehler];
     cout << "y =";
     cin >> sy[zaehler];
     zaehler = ++zaehler;
}

/* Berechnung des Koordinatenabschnittes und der Steigung */

     zaehler = 1;

     while (zaehler <= wertepaare)

{    x = x + sx[zaehler];
     xx = xx + sx[zaehler] * sx[zaehler];
     y = y + sy[zaehler];
     yy = yy + sy[zaehler] * sy[zaehler];
     xy = xy + sy[zaehler] * sx[zaehler];
     n = ++n;
     if (n < 2)
     {
     zaehler = ++zaehler;
     x = x +sx[zaehler];
     xx = xx + sx[zaehler] * sx[zaehler];
     y = y + sy[zaehler];
     yy = yy + sy[zaehler] * sy[zaehler];
     xy = xy + sy[zaehler] * sx[zaehler];
     n = ++n;
     }
     else
     Steigung = (xy - x * y / n) / (xx - (x * x) / n);
     Koordabs = (y - Steigung * x) / n;
     zaehler = ++zaehler;
}
/* Ausgabe der Ergebnisse */

     cout << "---------------------------------------- \n";
     cout << "Die Steigung ist: " << Steigung << endl;
     cout << "Der Koordinatenabschnitt ist: " << Koordabs << endl;

/* Korrektur der Y- Werte */
    zaehler = 1;
    while (zaehler <= wertepaare)
    {
    sy[zaehler] = Steigung * sx[zaehler] + Koordabs;
    zaehler = ++zaehler;
    }

/* Ergebnisausgabe der Korrektur */

   cout << "------------------------ \n";
   cout << "Ergebnisse der Korrektur \n";
   cout << "------------------------ \n";
   zaehler = 1;
   while (zaehler <= wertepaare)
   {
   cout << "x=" << sx[zaehler] << " y=" << sy[zaehler] << endl;
   zaehler = ++zaehler;
   }
}

und hier die CPP-Datei dazu (muss nur noch compiliert werden):

Regress.cpp

Aktualisiert (Dienstag, 11. Oktober 2011 um 18:03 Uhr)

 
World's Top Web Hosting providers awarded and reviewed. Find a reliable green hosting service, read greengeeks review
Google Search
Benutzerdefinierte Suche
Weitere Interessante Seiten:
Besucherzähler:
00014624
HeuteHeute31
GesternGestern40
Diese WocheDiese Woche101
Diesen MonatDiesen Monat1109
GesamtGesamt14624
Statistik created: 2012-02-22T21:51:34+01:00
US
UNITED STATES
US
User Online 0
Gäste Online 1
Registrierte User 2
Heute registriert 0