Autor Tema: Problema con Newton Raphson

0 Usuarios y 1 Visitante están viendo este tema.

08 Abril, 2007, 07:37 pm
Leído 3660 veces

2much4u

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Hola a todos,

antes de nada comentar que no soy experto en matemáticas ni mucho menos, pero necesito resolver eso lo antes posible, llevo días intentándolo pero no consigo nada.

Es un problema de coordenadas geográficas, el planteamiento es simple, yo tengo mi ecuación:



Esta ecuación devuelve la distancia entre dos coordenadas decimales en Kilómetros, esto funciona de forma totalmente correcta, hasta aquí todo va perfecto.

Datos de la fórmula:

x -> Distancia en Km
Lat1 -> Latitud de la 1ª coordenada
Lon1 -> Longitud de la 1ª coordenada
Lat2 -> Latitud de la 2ª coordenada
Lon2 -> Longitud de la 2ª coordenada


Nota 1: Las latitudes y longitudes van expresadas en radianes
Nota 1: 6378.13 es el radio equatorial medio de la Tierra en Km

Hasta este punto todo perfecto, puedo calcular la distancia entre dos coordenadas en Km sin ningún problema.

Estos son mis problemas:

a) Quiero calcular Lat2 a partir de una distancia dada, es decir:

Si tengo:

x = 4.686398398
Lat1 =  0.726910295
Lon1 = -0.082476005
Lat2 = incógnita
Lon2 = -0.083413246




¿Cómo despejo Lat2 para resolver?

b) Quiero calcular Lon2 a partir de una distancia dada, es decir:

Si tengo:

x = 4.686398398
Lat1 =  0.726910295
Lon1 = -0.082476005
Lat2 = 0.727132754
Lon2 = incógnita




¿Cómo despejo Lon2 para resolver?

Bueno este es mi gran problema, quizá sea una tonteria para un matemático pero para mi resulta algo complicado.

Estoy vueltas al tema con el método Newton-Raphson.

He hecho un pequeño programita para resolverlo y funciona correctamente con los datos de ejemplo de este artículo en Wikipedia: Método de Newton Raphson.

Básicamente y según entiendo este método consiste en restar a x el resultado de dividir mi funcion entre su derivada.

Partiendo de que mi función es:



la derivada de la misma (según Derive) es:



y que partimos de la base de que d sería la incognita ya que conozco a, b, c y t  la resolución debería ser simple, ya que con mis datos de ejemplo también conozco el valor de d pero al aplicar el método el cálculo no funciona.

¿Alguién sabría que está sucediendo? ¿Hay algún error en la derivada de la función?

Gracias.

09 Abril, 2007, 09:12 am
Respuesta #1

2much4u

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Hola,

parece que he solventado el problema de calculo y el sistema encuentra la solución en 6 pasos:

1 -> -3,670968000000000
2 -> -0,081497496978088
3 -> -0,081512951305327
4 -> -0,081512951115266
5 -> -0,081512951115267
6 -> -0,081512951115267

Ahora viene otro problema, ¿será Newton Raphson el mejor método para mi problema? Digo esto porque la solución dada es -0,081512951115267 cuando la solución real es -0,083413246850211037, la diferencia es de 0,001900295734944037, en mi caso esta aproximación no me sirve, necesito un método mucho mas preciso.

¿Alguién tiene otra alternativa?

Saludos

10 Abril, 2007, 09:02 pm
Respuesta #2

2much4u

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Gracias por todo, ya he solucionado el problema.

Saludos

13 Abril, 2007, 01:39 pm
Respuesta #3

Leonardog

  • Novato
  • Mensajes: 138
  • Karma: +0/-0
  • Sexo: Masculino
Veo que la fórmula que estas usando para calcular la distancia entre 2 puntos, es la que sale de la ley esférica de los cosenos. El arccos() tiene errores de redondeo. Sin embargo, si la distancia es relativamente pequeña, la fórmula haversine es más exacta, que falla únicamente si la distancia a calcular es la que existe entre 2 puntos antípodas de la esfera.
Van unos links:
http://en.wikipedia.org/wiki/Great-circle_distance
http://en.wikipedia.org/wiki/Haversine_formula

Saludos,
Hey, no le avisen a Bush que está usando números arábigos!!

13 Abril, 2007, 01:46 pm
Respuesta #4

2much4u

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Muchas gracias por tu apreciación, te lo agradezco aunque debo dedir que ya lo conocia, aunque para mi problema e mejor lo que uso actualmente.

Saludos

13 Abril, 2007, 01:57 pm
Respuesta #5

Leonardog

  • Novato
  • Mensajes: 138
  • Karma: +0/-0
  • Sexo: Masculino
Sólo por curiosidad, cual es tu aplicación? Actualmente estoy usando la fórmula de Haversine para medir distancia recorrida, usando un receptor de GPS. En otro post publiqué mi problema al intentar comparar la traza obtenida con la traza patrón.
Tienes alguna sugerencia?

Salu2,
Hey, no le avisen a Bush que está usando números arábigos!!

13 Abril, 2007, 02:00 pm
Respuesta #6

2much4u

  • Nuevo Usuario
  • Mensajes: 5
  • Karma: +0/-0
Pues resumiéndolo bastante, el problema es el de obtener todos los puntos de interés que estén a una distancia menor o igual de un punto dado.