指数衰减模型(Exponential Decay)
一、数学模型
如果:
初始值:
S每日衰减比例:
r第 n 天值:
V(n)
公式:
V(n)=S×rn
如果已知:
S(初始值)
E(第 N 天的目标值)
N(天数)
那么:
r=(E/S)1/N
二、完整 PHP 实现
<?php
/**
* 计算每日衰减系数 r
*/
function calculateDailyDecayRatio(float $start, float $end, int $days): float
{
if ($start <= 0 || $end <= 0 || $days <= 0) {
throw new InvalidArgumentException('参数必须大于 0');
}
return pow($end / $start, 1 / $days);
}
/**
* 计算第 n 天的值
*/
function calculateDecayValue(float $start, float $ratio, int $day): float
{
return $start * pow($ratio, $day);
}
三、使用示例
$start = 806208;
$end = 65963;
$days = 14;
$r = calculateDailyDecayRatio($start, $end, $days);
for ($i = 1; $i <= $days; $i++) {
$value = calculateDecayValue($start, $r, $i);
echo "第 {$i} 天: " . round($value) . PHP_EOL;
}