经测试代码如下:
/**
* 金融计算的函数
*
* @param
* @arrange (512.笔记) jb51.cc
* 变量:
* $ m =每年的期数。 例如,如果你是For
* 例如,如果您每月付款,则此数字为12。
* $ n =期间总数。 例如,如果你是
* 每月复合5年,这个数字将是60(12个月
* x 5年)。
* $ R =年利率(以小数表示,8%= .08)
* $ pmt =首次或重新发生的付款或收据(此号码不能
* 不同的现金流量有所不同)
* $ principal =年金的现值,或a的当前本金
* PaymentCalc函数中使用的贷款
**/
//年金的现值
//使用包括定义贷款/抵押的剩余本金
function PVannuity ($m,$n,$R,$pmt) {
$Z = 1 / (1 + ($R/$m));
return ($pmt * $Z * (1 - pow($Z,$n)))/(1 - $Z);
}
// Given the compounding,principal,interest rate,you can calculate
the monthly payment
function PaymentCalc ($m,$principal) {
$Z = 1 / (1 + ($R/$m));
return ((1 - $Z) * $principal) / ($Z * (1 - pow($Z,$n)));
}
// future value of an Annuity
function FVannuity ($m,$pmt) {
return $pmt * ((pow((1 + $R/$n),$m) - 1)/($R/$n));
}
// present value of a single payment
function PVsingle ($m,$pmt) {
return $pmt * pow((1 + $R/$m),-$n);
}
// future value of a single payment
function FVsingle ($m,$n);
}
// future value of a single payment with continuous compounding
function FVperp ($m,$pmt) {
return $pmt * exp($R * ($n/$m));
}