Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/01/2007, 15:01
mike75
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Sonrisa Re: Calculo De Tir

Aqui les comparto una funcion que hice, funciona correctamente, compare resultados con la de excel... saludos

function tir($f0,$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$f10,$ taza){
$taza_ant=0;
$taza_ult=0;
$vpn=($f0)+($f1/(1+$taza))+($f2/pow((1+$taza),2))+($f3/pow((1+$taza),3))+($f4/pow((1+$taza),4))+($f5/pow((1+$taza),5))+($f6/pow((1+$taza),6))+($f7/pow((1+$taza),7))+($f8/pow((1+$taza),8))+($f9/pow((1+$taza),9))+($f10/pow((1+$taza),10));
echo $vpn."inicial <br>";

if ($vpn>0){
echo "entro";
for ($x=$taza;$vpn>0; $x+=.0001){
$vpn=($f0)+($f1/(1+$x))+($f2/pow((1+$x),2))+($f3/pow((1+$x),3))+($f4/pow((1+$x),4))+($f5/pow((1+$x),5))+($f6/pow((1+$x),6))+($f7/pow((1+$x),7))+($f8/pow((1+$x),8))+($f9/pow((1+$x),9))+($f10/pow((1+$x),10));
$taza_ant=$x-.0001;
$taza_ult=$x;
if($x>1){
$taza_ult="NA";
return $taza_ult;
}
echo $vpn."-".$x."<br>";
}
/*echo "taza anterior".$taza_ant."<br>";
echo "taza final".$taza_ult."<br>";*/
return $taza_ult*100;
}
else
{
for ($x=$taza;$vpn<0; $x-=.0001){
$vpn=($f0)+($f1/(1+$x))+($f2/pow((1+$x),2))+($f3/pow((1+$x),3))+($f4/pow((1+$x),4))+($f5/pow((1+$x),5))+($f6/pow((1+$x),6))+($f7/pow((1+$x),7))+($f8/pow((1+$x),8))+($f9/pow((1+$x),9))+($f10/pow((1+$x),10));
$taza_ant=$x+.0001;
$taza_ult=$x;

if($x<-1){
$taza_ult="NA";
return $taza_ult;

}
echo $vpn."-".$x."<br>";
}
/*echo "taza anterior".$taza_ant."<br>";
echo "taza final".$taza_ult."<br>";*/
return $taza_ult*100;
}

}//fin de la funcion