Foros del Web » Programando para Internet » PHP »

Problema con operación matemática.

Estas en el tema de Problema con operación matemática. en el foro de PHP en Foros del Web. Muy buenas. Estoy intentando realizar una fórmula matemática con PHP, pero no sé si es que está mal la fórmula, o está mal hecho el ...
  #1 (permalink)  
Antiguo 18/07/2007, 10:54
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Problema con operación matemática.

Muy buenas.

Estoy intentando realizar una fórmula matemática con PHP, pero no sé si es que está mal la fórmula, o está mal hecho el planteamiento.

La fórmula es esta:


Y el código con el que intento imitarla es este (he puesto las variables de tal manera para que se vea qué es cada cosa):

Código PHP:
$a $Co/((pow(1-(1+$i),$m))/$i); 
No me sale error ni nada, pero el resultado no puede ser el que me da. Así que estoy casi seguro que es un problema de planteamiento, ya que si lo hago de forma desglosada (cada operación por separado) si que me da lo que debe.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 18/07/2007, 11:13
Avatar de ProWebDeveloper  
Fecha de Ingreso: julio-2005
Ubicación: Maracay - Edo. Aragua
Mensajes: 117
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Problema con operación matemática.

Hola Bonez, que tal.. creo que deberias hacerlo de esta forma a ver...


Código PHP:
$a $Co/((- (pow((1+$i),$m)))/$i); 


Era un detalle en la formula mas que todo en que primero deberias realizar el pow elevado a la variable $m y luego haces la resta de 1 - (resultado del pow)

Revisa esa formula asi como te la puse y avisas cualquier cosa..

Saludos..
__________________
ProWebDeveloper
  #3 (permalink)  
Antiguo 18/07/2007, 11:15
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: Problema con operación matemática.

¡Anda! Si si, muy cierto, no me percaté de que el potencial estaba donde no era.

Muchas gracias ProWebDeveloper.
Voy a ver si ahora me va mejor.

Un saludo.
  #4 (permalink)  
Antiguo 18/07/2007, 11:22
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: Problema con operación matemática.

Bueno, pues no me da el resultado que me da cuando lo hago de forma desglosada... Que extraño.

Me da un número negativo, y esto no puede ser.

Haciéndolo así:

Co = 10000
i = 0,0042
m = 12

Me da -814.408151218. Si acaso, debería de ser aproximadamente ese número (algo superior), pero en positivo. Tomando esos datos como ejemplo.

Compruebo ahora que siempre pasa igual, da un número ligeramente inferior y con el signo cambiado a lo que debería dar...
  #5 (permalink)  
Antiguo 18/07/2007, 11:51
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Problema con operación matemática.

Hola Bonez!!

Y si multiplicas por (-1) dicho resultado, pa' que te quede positivo, matemáticamente lo puedes hacer...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 18/07/2007, 12:11
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: Problema con operación matemática.

Hola Carxl.

Sí, si solo fuera ese el problema (del signo cambiado) no habría mayor problema. Pero ocurre que el resultado, al multiplicar A por M debe de ser ligeramente mayor que Co, es decir, A es demasiado bajo.

Tal vez sea la fórmula, que esté mal, aunque es la que me dieron en el banco (la fórmula sirve para calcular el pago mensual de un crédito [amortización+interés] según el sistema de amortización francés).
  #7 (permalink)  
Antiguo 18/07/2007, 12:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con operación matemática.

mmm puede que sea la formula aunque se me hace raro que dices que hiciste los pasos por separado:
Código PHP:
$aux pow$i 1$m );
$aux $aux;
$aux $aux $i;
$a $Co $aux
  #8 (permalink)  
Antiguo 19/07/2007, 03:13
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Al final me volveré loco. :histerico:

GatorV, pues así da igual que de la forma simple (como cabe esperar, claro).

Con el ejemplo que dí antes
Co = 10000
i = 0,0042
m = 12
Debería de dar un resultado final de 856,07, pero a mi me da -794.09. ¿Alguien podría comprobarlo?

Bueno, finalmente encontré el fallo, o al menos eso creo, ya que el resultado es perfecto.

Como tenía que haber, al menos, un signo negativo para anular el de 1 - (...), probé a poner la potencia en negativo, para al menos solucionar el problema de los signos, y finalmente se solucionó todo.

Entonces, la fórmula sería así, pero $m debe de ir en negativo.



Muchas gracias.

Última edición por GatorV; 19/07/2007 a las 07:58
  #9 (permalink)  
Antiguo 19/07/2007, 08:58
 
Fecha de Ingreso: septiembre-2006
Mensajes: 29
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema con operación matemática.

Holas!

Te daba negativo porque todo número mayor a uno, elevado a alguna potencia sigue siendo mayor que uno, por lo tanto 1-(1+i)^m es menor que cero.

Verifica la fórmula, pues no es llegar y cambiar signos porque si,

Saludos y suerte!
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 16:53.