none
Encontrar valor desconocido RRS feed

  • Pregunta

  • Muy buenas a todos tengo un problemita tengo una formula de igualdad que resolver  es algo parecido a este 

    5*L^4 + 2*L^2+30 = 15 donde (5=Textbox1 , 2 = Textbox2, 30 = Textbox3, 15 = Textbox4 y la variable es un L = Textbox5) , mi pregunta es como podría hallar la variable L que al hacer click en un button obtenga el valor L, habrá algún código  en la programación de  visual basic para hallar ese valor

    Gracias 





    • Editado Haroel martes, 6 de octubre de 2015 18:06
    martes, 6 de octubre de 2015 15:39

Respuestas

  • Hay múltiples algoritmos matemáticos para hacer este tipo de búsquedas. El más sencillo es una simple búsqueda lineal, que funciona más o menos así: Se toma un valor pequeño para L, que se quedará "corto" del resultado (dará menos de 15 en el ejemplo propuest). Llamémosle A a ese valor de L. Luego se toma un valor grande para L (llamémosle B), que se pasará (la fórmula dará más de 15). Entonces se toma el valor medio de los dos considerados, se hace el cálculo y se ve si se queda corto o largo. Si se queda corto, se mete en A y si se queda largo se mete en B. Repetir el proceso hasta que el valor intermedio elegido sea lo suficiéntemente próximo al resultado deseado.

    No hay garantía de que este método converja; depende de la forma de la función sobre la que buscamos y de los valores iniciales elegidos. Hay desde luego otros algoritmos más potentes, que usan mejores aproximaciones en lugar de una simple búsqueda lineal. No sé cual es el que usa Excel para la persecución de objetivos, pero no es complicado encontrar un libro de matemáticas que trate sobre estos temas.

    martes, 6 de octubre de 2015 16:09

Todas las respuestas

  • Hay múltiples algoritmos matemáticos para hacer este tipo de búsquedas. El más sencillo es una simple búsqueda lineal, que funciona más o menos así: Se toma un valor pequeño para L, que se quedará "corto" del resultado (dará menos de 15 en el ejemplo propuest). Llamémosle A a ese valor de L. Luego se toma un valor grande para L (llamémosle B), que se pasará (la fórmula dará más de 15). Entonces se toma el valor medio de los dos considerados, se hace el cálculo y se ve si se queda corto o largo. Si se queda corto, se mete en A y si se queda largo se mete en B. Repetir el proceso hasta que el valor intermedio elegido sea lo suficiéntemente próximo al resultado deseado.

    No hay garantía de que este método converja; depende de la forma de la función sobre la que buscamos y de los valores iniciales elegidos. Hay desde luego otros algoritmos más potentes, que usan mejores aproximaciones en lugar de una simple búsqueda lineal. No sé cual es el que usa Excel para la persecución de objetivos, pero no es complicado encontrar un libro de matemáticas que trate sobre estos temas.

    martes, 6 de octubre de 2015 16:09
  • Puedes utilizar el método de Newton para encontrar las raices de la ecuación, pero por ejemplo la ecuacion que dices, dos de sus 4 raices no corresponden a los numeros reales, si no que son imaginarios, asi que un método numérico, suponiendo que tenga convergencia, solo podria mostrarte dos raices reales.

    (por cierto las raices para esa ecuacion son: L1=+(5)^1/2i, L2=-(5)^1/2i, L3=(3/5)^1/2 y L4=-(3/5)^1/2)

    Recuerdo que alguna vez utilice algoritmos genéticos donde incluia la posibilidad de raices imaginarias para que resolviera la ecuacion, el problema como siempre es que en ocaciones la convergencia es muy tardada o no existia.

    Saludos.

    martes, 6 de octubre de 2015 17:10