Foros del Web » Programando para Internet » PHP »

Calcular logaritmo en base n por método de biseccion

Estas en el tema de Calcular logaritmo en base n por método de biseccion en el foro de PHP en Foros del Web. Hola amigos, aquí comparto con ustedes una función que cree la cuál Calcula el logaritmo en base n por método de biseccion. Código PHP: <?php ...
  #1 (permalink)  
Antiguo 07/02/2011, 13:45
Avatar de Yamilskate  
Fecha de Ingreso: septiembre-2006
Mensajes: 94
Antigüedad: 17 años, 7 meses
Puntos: 0
Calcular logaritmo en base n por método de biseccion

Hola amigos, aquí comparto con ustedes una función que cree la cuál Calcula el logaritmo en base n por método de biseccion.

Código PHP:
<?php

/* Calcular logaritmo en base n por método de biseccion
 * Matería: Matemáticas computacionales
 * Alumno: Geardo Yamil Díaz Aguirre
 * Carrera: Ing. en Software
 * Fecha : Febrero 7, 2011
 */

function log_b($x,$b){

    
// Obtener exponente máximo y minimo
    
for ($i=0$i<=999$i++)
        if ( 
pow($b,$i)>$x ){
            
$max $i;
            break;
        }
        
    
$min $max-1;

    
// Ciclo de bisección tiene un rango de precisión de 999 iteraciones
    
for ($i=0$i<=999$i++){
    
        
$e = ($max $min) / 2// Obtiene la mitad de la bisección
        
$o pow($b,$e); // Eleva la base a la mitad obtenida previamente
        
        
if ($o<$x)
            
$min $e;
        else
            
$max $e;
            
        
// Logaritmo entre estos rangos de aproximación
        
if ( ($o>($x-(0.0000000000001))) && ($o<($x+(0.0000000000001))) ){
            return 
$e;
            break;
        }
        
    }
}

    
// Configuración general    
    
$x 60// Numero logaritmo
    
$b 10// Base logaritmo

    
echo "El logaritmo de <b>".$x."</b> en base <b>".$b."</b> es: <b>".log_b($x,$b)."</b>";
?>
Saludos, espero les sea útil!

Etiquetas: logaritmo, calculadora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:22.