Я хотел бы рассчитать фактор расходов в правиле, в котором мы проводим N-й раз, когда предыдущий платеж сделан
Вот пример расходов.
firstPaymentAmount=10
SpendingFactor=5
PaymentCount=4
payment1: 10
payment2: 50 (= 10 x 5)
payment3: 250 (= 50 x 5)
payment4: 1250 (= 250 x 5)
В конце мы получаем сумму всех произведенных платежей и имеем:
10 + 50 + 250 + 1250 = 1560
Я хотел бы знать формулу, которая позволяет мне получить коэффициент расходов (= 5 здесь), зная только эти параметры:
paymentCount = 4
initalPayment = 10
totalPaid = 1560
Зная формулу для подсчета фактора расходов, я смогу узнать сумму и детализацию каждого платежа.
Я пришел с решением. Он получает приближение фактора расходов, потому что нет прямой формулы.
Получение точного фактора расходов слишком сильно загружает процессор. Итак, я сначала вычисляю близкое приближение. Это значение всегда будет выше решения. Затем я уменьшаю это число до тех пор, пока не опускаюсь ниже общей заплаченной суммы.
Вот пример PHP того, что я сделал.
$paymentCount = 4;
$initialPayment = 10;
$totalPaid = 1560;
//----- precalculate the factor based on total payment for faster computation
//----- this predefined factor will always be above our final factor
$estimatedSpendingFactor = exp(log($totalPaid) / $paymentCount);
//----- find the estimated spending factor
do
{
$estimatedSpendingFactor -= 0.0001;
$y = $initialPayment * (pow($estimatedSpendingFactor, $paymentCount) - 1)
/ ($estimatedSpendingFactor-1);
}
while ($y > $totalPaid);
//-----
printf("The spending factor is %f\n", $estimatedSpendingFactor);
вывод будет:
The spending factor is : 5.000000
Других решений пока нет …