4 votos

¿Hay un nombre especial para el inverso de la función simple?

¿Hay un nombre especial para la función$y (x)$ dado por la ecuación $$ y- \ sin (y) = x? $$

¿Cuál es la forma más sencilla de calcular el valor de la función para un argumento dado?

2voto

Esta es una pregunta interesante para las personas que no hayan tomado un curso de análisis numérico, así que voy a intentar hacer una pequeña introducción, explicando uno de los métodos más comunes. Voy a hablar de los "calcular el valor de la función para un determinado argumento".

Supongo que usted nombre como un "argumento dado", un valor aleatorio de $x$ y se desea calcular las $y$.

Supongamos primero que todo, que $x=x_0 \in \mathbb R$. A continuación, vamos a reescribir la ecuación dada :

$$y-\sin(y)=x_0$$

Un método para resolver esta ecuación para $y$, es ampliamente conocido el Método de Newton o de Newton-Raphson Método.

La idea de este método es la siguiente:

Uno empieza con una estimación inicial que está razonablemente cerca de la raíz verdadera, entonces la función se aproxima por la tangente de la línea (la cual puede ser calculada usando las herramientas de cálculo), y uno calcula el $x$-intersección de esta recta tangente (que es fácil de hacer con los elementales de álgebra). Este intercepto en x normalmente será una mejor aproximación a la función de la raíz de la original, supongo, y el método puede ser iterado. Este es un gráfico para ver los métodos geométricos parte.

Supongamos $f : [a, b] → ℝ$ es una función diferenciable definida en el intervalo $[a, b]$ con los valores de los números reales $ℝ$. La fórmula para la convergencia en la raíz puede ser fácilmente derivados. Supongamos que tenemos algunos de los actuales aproximación $x_n$. Entonces podemos deducir la fórmula para una mejor aproximación, $x_{n + 1}$ al referirse al diagrama. La ecuación de la línea tangente a la curva de $y = f (x)$ en el punto de $x = x_n$ es :

$$y=f'(x_n)(x-x_n)+f(x_n)$$

donde $f'$ denota la derivada de la función $f$.

El $x$-intersección de esta línea (el valor de $x$ tal que $y=0$) se utiliza como la siguiente aproximación a la raíz, $x_{n + 1}$. En otras palabras, la configuración de $y$ a cero y $x$ $x_{n + 1}$le da :

$$0 = f'(x_n)(x_{n+1}-x_n)+f(x_n)$$

y, finalmente, la solución para $x_{n+1}$ le da :

$$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$$

Empezamos el proceso con un poco arbitraria valor inicial $x_0$. (El más cercano al cero, la mejor. Pero, en ausencia de cualquier intuición acerca de donde el cero mentira, una "conjetura y de verificación" método podrían restringir las posibilidades de un razonablemente pequeño intervalo apelando al teorema del valor intermedio.) El método generalmente convergen, siempre que este valor inicial es lo suficientemente cerca como para el desconocido cero, y que $f'(x_0) ≠ 0$. Además, por un cero de multiplicidad 1, la convergencia es al menos cuadrática (ver tasa de convergencia) en una vecindad del cero, lo que intuitivamente significa que el número correcto de dígitos aproximadamente por lo menos se duplica en cada paso. Más detalles se pueden encontrar en la sección de análisis a continuación.

Después de haber explicado todas estas, vamos a arreglar el método para $x_0 \in \mathbb R$ :

Vamos a : $f(y) = y-\sin(y) - x_0$. Entonces, la derivada será : $f'(y)=1+\cos(y)$.

Obtención de la ecuación para el proceso repetible, se obtiene :

$$y_{n+1} = y_n - \frac{f(y_n)}{f'(y_n)} \Rightarrow y_{n+1} = y_n - \frac{y_n - \sin(y_n) - x_0}{1+\cos(y_n)}$$

Ahora, dependiendo de la arbitraria $x_0 \in \mathbb R$ y su partida aproximación $y_0$, se puede proceder con la obtención de un valor para el argumento dado. Esto significa que, en algunos casos, el método no funciona (hay muchas razones para esto, como el de caer en un bucle infinito o conclusiones erróneas, que usted puede buscar en google para averiguarlo), y allí se comprueba que se llevan a cabo para ver si el método converge. Puesto que hay muchos otros métodos (variantes), se debe elegir la correcta, sobre el problema inicial cada vez. No puedo ir a través de explicar cada caso diferente, aunque, como este es exactamente el curso de Análisis Numérico I,II,$\dots$

1voto

orlp Puntos 373

Lo que estamos viendo es la inversa de la función de $f(x) = x - \sin(x)$. Ya que esta función es estrictamente creciente, podemos utilizar una simple búsqueda binaria para calcular su inversa.

Es bastante fácil ver que $x - 1 \leq f^{-1}(x) \leq x + 1$. Por lo inicializamos el binario de búsqueda rango de a $[x-1, x+1]$. Luego nos repetidamente evaluar el punto medio de nuestra gama, y comprobar si es más grande o más pequeño que nuestra entrada original, y respectivamente reemplazar el mayor o menor porción de nuestra gama. Podemos seguir haciendo esto hasta que nuestro rango es menor que una cierta precisión que queremos.

En Python:

from math import sin

def inv_xsin(x, prec=1e-7):
    lo, hi = x - 1, x + 1
    while hi - lo > prec:
        mid = (lo + hi) / 2.0
        if mid - sin(mid) > x: hi = mid
        else: lo = mid
    return mid

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X