У меня есть расчет, написанный на php, он предназначен для расчета общего баланса (echo $ vf;) через 3 месяца.
Я получаю ответ 603,00
Я должен получить ответ 606,02
Где-то я ошибся, что теряю 3 математики, есть идеи?
Я работаю над этим уже несколько недель и так близко, любая помощь будет очень признательна.
Код
$p = 0;
$i = 0.06;
$c = 12;
$n = 3/12;
$r = 200;
$x = $i / $c;
$y = pow((1 + $x), ($n * $c));
$vf = $p * $y + ($r * ($y - 1) / $x);
echo $vf;
Песочница при необходимости https://3v4l.org/FigRr
Спасибо
ОБНОВИТЬ
мне сообщили, что моя математика может быть неправильной, вот оригинальная формула ниже, кто-нибудь может увидеть, как я написал php неправильно?
ОБНОВИТЬ
После 3 месяцев я получаю соединение 200, когда я использую онлайн-калькуляторы, я получаю 606.
например http://www.thecalculatorsite.com/finance/calculators/compoundinterestcalculator.php
Обновить
пытался:
$i = 0.06;
$c = 12;
$n = 3;
$r = 200;
$x = $i / $c;
$z = $n / 12;
$y = pow((1 + $x), ($z * $c));
$vf = $y + ($r * ($y - 1) / $x);
echo $vf;
улучшил ответ и получаю 604, но все еще не получаю 606
php делает $ p * $ y = 0 * $ y, что равно 0, при условии, что значения вне ((1 + i / c) ^ n * c) игнорируются, результат приближается к 605
Вы должны сделать ifclause для оценки $ p! = 0 вроде этого
if($p!=0)
{
//regular formula
$FV = ($p(1+($i/$c)^($n*$c))) + ($R((1+($i/$c)^($n*$c)-1)*($i/$c)))
}else{
//normal formula without $p
$FV = (1+($i/$c)^($n*$c)) + ($R((1+($i/$c)^($n*$c)-1)*($i/$c)))
}
<?php
$p = 200; // Starting amount
$i = 0.05; // Interest rate
$c = 12; // compound frequency set to monthly
$n = 3/12; // Current time invested set to 6 months
$r = 200; // Monthly investment is 200
$x = $i / $c;
$y = pow((1 + $x), ($n * $c));
$vf = $p * $y + ($r * (1 + $x) * ($y - 1) / $x);echo $vf;