Lognormalverteilung
-
Hallo!
Ich habe eine logarithmische Normalverteilung programmiert, aber scheinbar stimmt irgendwas nicht, denn das Lognormalverteilung unterprogramm gibt keine Werte aus.
#include <fstream> #include <iostream> #include <cstdio> #include <cstdlib> #include <ctime> #include <math.h> #include <vector> #include <algorithm> using namespace std; void Normalverteilung (double mue, double sigma, double x1, double x2, double &z1, double &z2) { double r; double teta; r=x1*x1+x2*x2; teta=atan(x2/x1); z1=r*sin(teta); z2=r*cos(teta); } /******************************************************************************/ void LogNormalverteilung(double mue, double z1, double &LognormalGW) { LognormalGW=exp(z1); } main() { double mue; double sigma; double x1; double x2; double z1; double z2; double LognormalGW; Normalverteilung (mue, sigma, x1, x2, z1, z2); LogNormalverteilung(mue, z1, LognormalGW); cout << LognormalGW << "\n"; system("PAUSE"); return 0; }Ich finde gerade keine Lösung

-
ÖÖhh??
Du hast ja den Variablen gar keine Werte zugewiesen:
double mue; double sigma; double x1; double x2; double z1; double z2;Also entweder Werte hardcodiert angeben oder über Benutzereingaben erfassen.
-
Die Werte sind schon vorher irgendwo eingelesen, das hatte ich mir gespart einzuschreiben.
-
Ich würd in C++ mit Rückgabewerten arbeiten, aber anyway..
Mach mal ne Ausgabe direkt in der Funktion, auch von den Parametern, oder mach ne Watch für die Variablen und lies die Werte mal im Debugger aus.
-
denn das Lognormalverteilung unterprogramm gibt keine Werte aus.
Da stehen ja auch keine Ausgabeanweisungen drin....

Was sollte denn passieren? Deine Aussage ist leider etwas unpräzise.
-
Er gibt aus:
"-1.#IND"
Keine Ahnung, was das jetzt heißt.

-
Hat sich erledigt.