Buenas a todos,
Son novato en el mundillo de php y necesito de vuestra ayuda para solucionar una duda/problema que tengo
Les copipasteo el fragmento de código que tengo y les explico por partes este.
Código PHP:
$i0 = ($vg/$r);
$vd0 = $ktentreq * (exponencial ($i0/$is) + 1);
$errorpermitido = abs($precision * $vd1);
$contador = 0;
$vd1 = 0;
while ( abs($vd0 - $vd1) <= $errorpermitido) {
$vd1 = $vd0;
$i1 = ($vg-$vd0)/ $r;
$vd1 = $ktentreq * (exponencial ($i1/$is) + 1);
$contador++;
}
Los valores de $vg, $r, $precision, $is, $kentreq son proporcionados por el usuario a través de un formulario (he comprobado que este funciona y recoge los datos correctamente, por lo que no es necesario agregarlo).
La funcion llamada exponencial calcula la constante de euler elevada a lo que se le introduzca (también funciona correctamente).
La parte que no consigo que me funcione es la del bucle. Este bucle ha de calcular $vd1 y $i1. Si el valor absoluto del valor final ($vd1) menos el valor inicial ($vd0) no son menores que $errorpermitido ha de repetir todo el bucle actualizando los valores de $vd0 y $i1 y sumando 1 al contador; es decir: el valor de $vd1 será igual que el de $vd0 y repetirá el ciclo hasta cumplir la condición.
El problema está en ese bucle, seguro que es un error garrafal el que he cometido pero no sé verlo.
¿Pueden ayudarme, por favor?
Muchas gracias de antemano