Problem mit Formel...

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Formel...

    Hallo,

    Ich bin dabei eine Modellberechnung für FONDS-Anleger zu programmieren. Ich versuche es in PHP zu realisieren.
    Nun habe 2 Fragen.

    [1.FRAGE:]--------------------------------------------------
    ich habe zwei Funktionen FSpar() und FEinmal();Diese sollen bestimmte werte ausrechnen. Wenn ich die Funktion FSpar(50,0.06,1) aufrufe --> Ergebnis: 619.50 Euro, O.K.

    Die Funktion FEinmal(1000,0.06,1) --> Ergebnis: 1060.00 Euro, O.K.

    Nun rufe ich dieselbe Funktionen nacheinander in einer Forschleife. siehe nachfolgend.

    //***********************
    for ($i = 1; $i <= $Ansparzeit; $i++) {
    $wertProzent1 = FEinmal($EinmalZahlung, $Zinssatz1/100, $i);
    $wertProzent1 += (FSpar($monEinzahlung, $Zinssatz1/100, $i));

    echo "....
    } // ende for-Schleife **************

    Es sollte jetzt als Ergebnis die Summe der beiden Ergebnisse sein. Aber ich bekomme als Ergebnis 619.50.
    Was ist hier falsch, ich komme nicht dahinter?

    Unten sind die Definition der beiden Funktionen.

    Die Funktionen:***********
    function FSpar($Anlagebetrag, $Zinssatz, $Laufzeit) {
    $hoch1 = pow((1 / (1 + $Zinssatz)), ($Laufzeit + 1));
    $hoch2 = pow((1 + $Zinssatz), $Laufzeit);
    $fSpar = $Anlagebetrag * (12 + 6.5 * $Zinssatz) * ((1- $hoch1) / (1 - (1 / (1 + $Zinssatz))) - 1) * $hoch2;
    return number_format($fSpar,2,",",".");
    }

    function FEinmal($Anlagebetrag, $Zinssatz, $Laufzeit) {
    $hoch = pow((1 + $Zinssatz), $Laufzeit);
    $fEinmal = $Anlagebetrag * $hoch;
    return number_format($fEinmal,2,",",".");
    }

    [2.FRAGE:]--------------------------------------------------
    Ich habe nochmals die folgende Funktion FOhneVerzehr():

    function FOhneVerzehr($Anlagebetrag,$Zinssatz) {
    $hoch = pow((1 + $Zinssatz), 1000);
    //$div1 = $Zinssatz * $hoch * $Anlagebetrag;
    //$div2 = ($hoch - 1) * (12 + (5.5 * $Zinssatz));
    $fohneVerzehr= ($Zinssatz * $hoch * $Anlagebetrag) / (($hoch - 1) * (12 + 5.5 * $Zinssatz));
    return number_format($fohneVerzehr,2,",",".");
    }

    Aufruf: FOhneVerzehr(50000,0.06);
    Ergebnis: 0.27
    Es sollte aber : 273.38 als Ergebnis liefern.

    Wer kann mir sagen, wo mache ich den Fehler, ich bin beim verzweifeln, ich finde es nicht raus!

    Danke für die Hilfe im voraus

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

  • #2
    RE: Problem mit Formel...

    <HTML>Hallo Marko,

    ich kann Dir zwar nicht helfen, ich habe aber exakt das gleiche Problem.

    $dis1= -0.174*$d
    + -0.036*$e
    + -0.060*$f
    + 0.152*$g
    + 0.168*$h
    + -0.076*$i
    + 0.153*$j
    + 0.154*$k
    + 0.138*$a
    + 0.285*$b
    + 0.161*$c
    + 3.029*$l
    + 0.827*$m
    + 0.493*$n
    + 1.542*$o
    -11.164;

    Allein dieser Ausdruck hier liefert ein völlig falsches Ergebnis. Die Formel ist insgesamt sehr komplex, in der SPSS-Matrixsprache funktioniert sie aber ganz ausgezeichnet. Verschiedene Methoden, die Variablen explizit zu deklarieren haben auch schon nichts geholfen.

    Gruß Jan</HTML>

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      RE: Problem mit Formel...

      <HTML>Hallo Jan,

      ich habe das Problem gelöst.

      Mein Problem war:
      Ich habe zwei Funktionen die bestimmte werte ausrechnen und zurückliefern. Wenn ich die Ergebnisse der beiden Funktionen addiere, lieferte es mir Falsches Ergebnis.
      Warum? Bevor ich das Ergebnis jeweils zurückliefere wurde es mit der funktion number_format()formatiert, unzwar die tausender Stelle mit einem Punkt getrennt und die Komma Stelle mit Komma
      (z.B. 1.034,50).

      Bei der Addition der beiden Ergebnisse ergab es eine Falsches Summe. Weil für die Addition bei PHP das Punkt die Kommastelle ist.


      Ich hoffe vielleicht hilft das dir weiter...

      Gruß marko</HTML>

      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar

      Lädt...
      X