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
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
Kommentar