En matemáticas , el método de la falsa posición o regula falsi es un método muy antiguo para resolver una ecuación con una incógnita; este método, en forma modificada, todavía se utiliza. En términos simples, el método es la técnica de prueba y error de usar valores de prueba ("falsos") para la variable y luego ajustar el valor de prueba de acuerdo con el resultado. A esto también se lo conoce como "adivinar y verificar". Las versiones del método son anteriores a la llegada del álgebra y el uso de ecuaciones .
Como ejemplo, considere el problema 26 del papiro de Rhind , que pide una solución de (escrita en notación moderna) la ecuación x + incógnita/4 = 15 . Esto se resuelve por posición falsa. [1] Primero, suponga que x = 4 para obtener, a la izquierda, 4 + 4/4 = 5 . Esta suposición es una buena opción ya que produce un valor entero. Sin embargo, 4 no es la solución de la ecuación original, ya que da un valor que es tres veces más pequeño. Para compensar, multiplica x (actualmente establecida en 4) por 3 y sustituye nuevamente para obtener 12 + 12/4 = 15 , verificando que la solución es x = 12 .
Las versiones modernas de la técnica emplean formas sistemáticas de elegir nuevos valores de prueba y se ocupan de las cuestiones de si se puede obtener o no una aproximación a una solución y, si se puede, con qué rapidez se puede encontrar la aproximación.
Históricamente se pueden distinguir dos tipos básicos de método de falsa posición: la falsa posición simple y la falsa posición doble .
La posición falsa simple tiene como objetivo resolver problemas que involucran proporciones directas. Dichos problemas se pueden escribir algebraicamente en la forma: determine x tal que
Si se conocen a y b , el método comienza utilizando un valor de entrada de prueba x ′ y encontrando el valor de salida correspondiente b ′ mediante la multiplicación: ax ′ = b ′ . La respuesta correcta se encuentra entonces mediante un ajuste proporcional, x = b/ b ' x ′ .
La doble posición falsa tiene como objetivo resolver problemas más difíciles que pueden escribirse algebraicamente en la forma: determinar x tal que
Si se sabe que
La doble posición falsa es matemáticamente equivalente a la interpolación lineal . Al utilizar un par de entradas de prueba y el par de salidas correspondiente, el resultado de este algoritmo se obtiene mediante [2].
Se memorizarían y se llevarían a cabo de memoria. De hecho, la regla que establece Robert Recorde en su Fundamento de las Artes (c. 1542) es: [2]
Gesse en este trabajo como sucede.
Por casualidad puedes proceder a la verdad.
Y primero trabaja con la pregunta,
Aunque no haya verdad en ello.
Tal falsedad es un buen fundamento.
Esa verdad pronto será descubierta.
De muchos bate a muchos mo,
De a pocos, lleva a pocos también.
Con demasiada alegría para muy pocos otra vez,
Demasiados pocos se suman a muchos más llanos.
En cruces se multiplican los tipos contrarios,
Toda verdad por falsedad para encontrar.
Para una función lineal afín ,
La doble posición falsa proporciona la solución exacta, mientras que para una función no lineal f proporciona una aproximación que puede mejorarse sucesivamente mediante iteraciones .
La sencilla técnica de la falsa posición se encuentra en tablillas cuneiformes de las matemáticas babilónicas antiguas y en papiros de las matemáticas egipcias antiguas . [3] [1]
La doble posición falsa surgió en la Antigüedad tardía como un algoritmo puramente aritmético. En el antiguo texto matemático chino llamado Los nueve capítulos del arte matemático (九章算術), [4] que data del año 200 a. C. al 100 d. C., la mayor parte del capítulo 7 estaba dedicado al algoritmo. Allí, el procedimiento se justificaba con argumentos aritméticos concretos y luego se aplicaba de manera creativa a una amplia variedad de problemas de historia, incluido uno que involucraba lo que llamaríamos líneas secantes en una sección cónica . Un ejemplo más típico es este problema de "compra conjunta" que involucra una condición de "exceso y déficit": [5]
Ahora se compra un artículo en conjunto; cada uno aporta 8 [monedas], el excedente es 3; cada uno aporta 7, el déficit es 4. Diga: ¿Cuántas personas, el precio del artículo, cuánto cuesta cada uno? Respuesta: 7 personas, precio del artículo 53. [6]
Entre los siglos IX y X, el matemático egipcio Abu Kamil escribió un tratado hoy perdido sobre el uso de la doble posición falsa, conocido como el Libro de los Dos Errores ( Kitāb al-khaṭāʾayn ). El escrito más antiguo que se conserva sobre la doble posición falsa de Oriente Medio es el de Qusta ibn Luqa (siglo X), un matemático árabe de Baalbek , Líbano . Justificó la técnica mediante una prueba geométrica formal de estilo euclidiano . Dentro de la tradición de las matemáticas musulmanas medievales , la doble posición falsa se conocía como hisāb al-khaṭāʾayn ("cálculo por dos errores"). Se utilizó durante siglos para resolver problemas prácticos como cuestiones comerciales y jurídicas (particiones de bienes según las reglas de herencia coránica ), así como problemas puramente recreativos. El algoritmo se memorizaba a menudo con ayuda de mnemotecnia , como un verso atribuido a Ibn al-Yasamin y diagramas de balanza explicados por al-Hassar e Ibn al-Banna , los tres matemáticos de origen marroquí . [7]
Leonardo de Pisa ( Fibonacci ) dedicó el capítulo 13 de su libro Liber Abaci (1202 d. C.) a explicar y demostrar los usos de la doble posición falsa, denominando al método regulis elchatayn en honor al método al-khaṭāʾayn que había aprendido de fuentes árabes . [7] En 1494, Pacioli utilizó el término el cataym en su libro Summa de arithmetica , probablemente tomando el término de Fibonacci. Otros escritores europeos seguirían a Pacioli y, a veces, proporcionarían una traducción al latín o al vernáculo. Por ejemplo, Tartaglia traduce la versión latinizada del término de Pacioli al vernáculo "posiciones falsas" en 1556. [8] El término de Pacioli casi desapareció en las obras europeas del siglo XVI y la técnica recibió varios nombres, como "Regla de la falsa", "Regla de la posición" y "Regla de la falsa posición". Regula Falsi aparece como la versión latinizada de la Regla de Falso ya en 1690. [2]
Varios autores europeos del siglo XVI sintieron la necesidad de disculparse por el nombre del método en una ciencia que busca encontrar la verdad. Por ejemplo, en 1568 Humphrey Baker dice: [2]
La regla de la falsedad se llama así no porque enseñe ningún engaño o falsedad, sino porque, mediante números exactos tomados en todas las ocasiones, enseña a descubrir el número verdadero que se exige, y esta, de todas las reglas vulgares que se practican, es la más excelente.
El método de la falsa posición proporciona una solución exacta para funciones lineales, pero técnicas algebraicas más directas han sustituido su uso para estas funciones. Sin embargo, en el análisis numérico , la doble falsa posición se convirtió en un algoritmo de búsqueda de raíces utilizado en técnicas de aproximación numérica iterativa.
Muchas ecuaciones, incluidas la mayoría de las más complicadas, sólo pueden resolverse mediante una aproximación numérica iterativa. Esta consiste en un proceso de ensayo y error en el que se prueban distintos valores de la cantidad desconocida. Este proceso de ensayo y error puede guiarse calculando, en cada paso del procedimiento, una nueva estimación de la solución. Hay muchas maneras de llegar a una estimación calculada y la regula falsi proporciona una de ellas.
Dada una ecuación, mueva todos sus términos a un lado de modo que tenga la forma, f ( x ) = 0 , donde f es alguna función de la variable desconocida x . Un valor c que satisface esta ecuación, es decir, f ( c ) = 0 , se llama raíz o cero de la función f y es una solución de la ecuación original. Si f es una función continua y existen dos puntos a 0 y b 0 tales que f ( a 0 ) y f ( b 0 ) son de signos opuestos, entonces, por el teorema del valor intermedio , la función f tiene una raíz en el intervalo ( a 0 , b 0 ) .
Existen muchos algoritmos de búsqueda de raíces que se pueden utilizar para obtener aproximaciones a dicha raíz. Uno de los más comunes es el método de Newton , pero puede fallar en la búsqueda de una raíz bajo ciertas circunstancias y puede ser costoso computacionalmente ya que requiere un cálculo de la derivada de la función . Se necesitan otros métodos y una clase general de métodos son los métodos de corchetes de dos puntos . Estos métodos proceden produciendo una secuencia de intervalos de contracción [ a k , b k ] , en el k ésimo paso, de modo que ( a k , b k ) contiene una raíz de f .
Estos métodos comienzan con dos valores x , inicialmente encontrados por ensayo y error, en los que f ( x ) tiene signos opuestos. Bajo el supuesto de continuidad, se garantiza que una raíz de f se encuentra entre estos dos valores, es decir, estos valores "encierran" la raíz. Luego se selecciona un punto estrictamente entre estos dos valores y se utiliza para crear un intervalo más pequeño que aún encierra una raíz. Si c es el punto seleccionado, entonces el intervalo más pequeño va desde c hasta el punto final donde f ( x ) tiene el signo opuesto al de f ( c ) . En el caso improbable de que f ( c ) = 0 , se ha encontrado una raíz y el algoritmo se detiene. De lo contrario, el procedimiento se repite tantas veces como sea necesario para obtener una aproximación a la raíz con la precisión deseada.
El punto seleccionado en cualquier intervalo actual puede considerarse como una estimación de la solución. Las distintas variantes de este método implican distintas formas de calcular esta estimación de la solución.
Preservar el corchete y asegurar que las estimaciones de la solución se encuentren en el interior de los intervalos de corchete garantiza que las estimaciones de la solución convergerán hacia la solución, una garantía que no está disponible con otros métodos de búsqueda de raíces, como el método de Newton o el método secante .
La variación más simple, llamada método de bisección , calcula la estimación de la solución como el punto medio del intervalo de horquillado. Es decir, si en el paso k , el intervalo de horquillado actual es [ a k , b k ] , entonces la nueva estimación de la solución c k se obtiene mediante,
Esto garantiza que c k esté entre a k y b k , garantizando así la convergencia hacia la solución.
Dado que la longitud del intervalo de horquillado se reduce a la mitad en cada paso, el error del método de bisección se reduce, en promedio, a la mitad con cada iteración. Por lo tanto, cada 3 iteraciones, el método gana aproximadamente un factor de 2 3 , es decir, aproximadamente un decimal, en precisión.
La tasa de convergencia del método de bisección podría posiblemente mejorarse utilizando una estimación de solución diferente.
El método de regula falsi calcula la nueva estimación de la solución como la intersección con el eje x del segmento de línea que une los puntos finales de la función en el intervalo de corchetes actual. Básicamente, la raíz se aproxima reemplazando la función actual por un segmento de línea en el intervalo de corchetes y luego utilizando la fórmula clásica de doble posición falsa en ese segmento de línea. [9]
Más precisamente, supongamos que en la k -ésima iteración el intervalo de corchetes es ( a k , b k ) . Construya la línea a través de los puntos ( a k , f ( a k )) y ( b k , f ( b k )) , como se ilustra. Esta línea es una secante o cuerda de la gráfica de la función f . En forma de punto-pendiente , su ecuación está dada por
Ahora elija c k como la intersección en x de esta línea, es decir, el valor de x para el cual y = 0 , y sustituya estos valores para obtener
Resolviendo esta ecuación para c k obtenemos:
Esta última forma simétrica tiene una ventaja computacional:
A medida que se acerca a una solución, a k y b k estarán muy cerca entre sí y casi siempre tendrán el mismo signo. Una resta de este tipo puede perder dígitos significativos. Debido a que f ( b k ) y f ( a k ) siempre tienen signos opuestos, la “resta” en el numerador de la fórmula mejorada es efectivamente una suma (como también lo es la resta en el denominador).
En la iteración número k , el número c k se calcula como se indicó anteriormente y luego, si f ( a k ) y f ( c k ) tienen el mismo signo, se establece a k + 1 = c k y b k + 1 = b k ; de lo contrario, se establece a k + 1 = a k y b k + 1 = c k . Este proceso se repite hasta que la raíz se aproxima lo suficientemente bien.
La fórmula anterior también se utiliza en el método secante, pero el método secante siempre conserva los dos últimos puntos calculados y, por lo tanto, si bien es ligeramente más rápido, no conserva el corchete y puede no converger.
El hecho de que la regula falsi siempre converja y tenga versiones que evitan las ralentizaciones lo convierte en una buena opción cuando se necesita velocidad. Sin embargo, su tasa de convergencia puede ser inferior a la del método de bisección.
Dado que los puntos finales iniciales a 0 y b 0 se eligen de modo que f ( a 0 ) y f ( b 0 ) sean de signos opuestos, en cada paso, uno de los puntos finales se acercará a una raíz de f . Si la segunda derivada de f es de signo constante (por lo que no hay punto de inflexión ) en el intervalo, entonces un punto final (aquel en el que f también tiene el mismo signo) permanecerá fijo para todas las iteraciones posteriores mientras que el punto final convergente se actualiza. Como resultado, a diferencia del método de bisección , el ancho del corchete no tiende a cero (a menos que el cero esté en un punto de inflexión alrededor del cual sign( f ) = −sign( f " ) ). Como consecuencia, la aproximación lineal a f ( x ) , que se utiliza para elegir la posición falsa, no mejora tan rápidamente como es posible.
Un ejemplo de este fenómeno es la función
en el corchete inicial [−1,1]. El extremo izquierdo, −1, nunca se reemplaza (no cambia al principio y después de las primeras tres iteraciones, f " es negativo en el intervalo) y, por lo tanto, el ancho del corchete nunca cae por debajo de 1. Por lo tanto, el extremo derecho se acerca a 0 a una tasa lineal (el número de dígitos precisos crece linealmente, con una tasa de convergencia de 2/3). [ cita requerida ]
Para funciones discontinuas, solo se puede esperar que este método encuentre un punto donde la función cambie de signo (por ejemplo, en x = 0 para 1/ x o la función de signo ). Además de los cambios de signo, también es posible que el método converja a un punto donde el límite de la función sea cero, incluso si la función no está definida (o tiene otro valor) en ese punto (por ejemplo, en x = 0 para la función dada por f ( x ) = abs( x ) − x 2 cuando x ≠ 0 y por f (0) = 5 , comenzando con el intervalo [-0.5, 3.0]). Es matemáticamente posible con funciones discontinuas que el método no converja a un límite cero o un cambio de signo, pero esto no es un problema en la práctica ya que requeriría una secuencia infinita de coincidencias para que ambos puntos finales se atascaran convergiendo a discontinuidades donde el signo no cambia, por ejemplo, en x = ±1 en
El método de bisección evita este problema de convergencia hipotética.
Aunque la regla falsa siempre converge, normalmente considerablemente más rápido que la bisección, hay situaciones que pueden ralentizar su convergencia, a veces hasta un grado prohibitivo. Ese problema no es exclusivo de la regla falsa : además de la bisección, todos los métodos de resolución de ecuaciones numéricas pueden tener un problema de convergencia lenta o no convergencia en algunas condiciones. A veces, el método de Newton y el método de la secante divergen en lugar de converger, y a menudo lo hacen en las mismas condiciones que ralentizan la convergencia de la regla falsa .
Pero, aunque la regulación falsa es uno de los mejores métodos, e incluso en su versión original no mejorada a menudo sería la mejor opción; por ejemplo, cuando no se utiliza el de Newton porque la derivada requiere demasiado tiempo para evaluarla, o cuando el de Newton y las sustituciones sucesivas no han logrado converger.
El modo de fallo de la regulación falsa es fácil de detectar: el mismo punto final se mantiene dos veces seguidas. El problema se soluciona fácilmente eligiendo en su lugar una posición falsa modificada, elegida para evitar ralentizaciones debidas a esas situaciones desfavorables relativamente inusuales. Se han propuesto varias mejoras de este tipo para la regulación falsa ; dos de ellas, el algoritmo de Illinois y el algoritmo de Anderson-Björk, se describen a continuación.
El algoritmo de Illinois reduce a la mitad el valor y del punto final retenido en el siguiente cálculo de estimación cuando el nuevo valor y (es decir, f ( c k )) tiene el mismo signo que el anterior ( f ( c k − 1 )), lo que significa que se conservará el punto final del paso anterior. Por lo tanto:
o
ponderar negativamente uno de los valores del punto final para forzar que el siguiente c k ocurra en ese lado de la función. [10] El factor 1/2El algoritmo utilizado anteriormente parece arbitrario, pero garantiza una convergencia superlineal (asintóticamente, el algoritmo realizará dos pasos regulares después de cualquier paso modificado y tiene un orden de convergencia de 1,442). Hay otras formas de elegir el reescalado que dan tasas de convergencia superlineal aún mejores. [11]
Algunos investigadores denominan al ajuste anterior a la regulación falsa el algoritmo de Illinois . [10] [12] Ford (1995) resume y analiza esta y otras variantes superlineales similares del método de posición falsa. [11]
Supongamos que en la k -ésima iteración el intervalo de horquillado es [ a k , b k ] y que el valor funcional de la nueva estimación calculada c k tiene el mismo signo que f ( b k ) . En este caso, el nuevo intervalo de horquillado [ a k + 1 , b k + 1 ] = [ a k , c k ] y se ha conservado el extremo izquierdo. (Hasta ahora, es lo mismo que la Regula Falsi ordinaria y el algoritmo de Illinois).
Pero, mientras que el algoritmo de Illinois multiplicaría f ( a k ) por 1/2 , El algoritmo de Anderson–Björck lo multiplica por m , donde m tiene uno de los dos valores siguientes: [13]
Para raíces simples, el método Anderson-Björck funciona muy bien en la práctica. [14]
Dado , y donde es la proporción áurea , en cada iteración el método ITP calcula el punto siguiendo tres pasos:
Se consulta el valor de la función en este punto y luego se reduce el intervalo para encerrar la raíz manteniendo el subintervalo con valores de función de signo opuesto en cada extremo. Este procedimiento de tres pasos garantiza que la estimación disfrute de las propiedades minmax del método de bisección, así como de la convergencia superlineal del método secante. Además, se observa que supera a los métodos basados en bisección e interpolación en funciones suaves y no suaves. [15]
Cuando se resuelve una ecuación, o sólo unas pocas, mediante una computadora, el método de bisección es una opción adecuada. Aunque la bisección no es tan rápida como los otros métodos (cuando funcionan mejor y no presentan problemas), se garantiza que convergerá a una velocidad útil, reduciendo aproximadamente a la mitad el error con cada iteración, lo que permite ganar aproximadamente un decimal de precisión con cada 3 iteraciones.
Para el cálculo manual, con calculadora, se tiende a preferir utilizar métodos más rápidos, y estos, por lo general, aunque no siempre, convergen más rápido que la bisección. Pero una computadora, incluso utilizando la bisección, resolverá una ecuación, con la precisión deseada, tan rápidamente que no hay necesidad de intentar ahorrar tiempo utilizando un método menos confiable, y todos los métodos son menos confiables que la bisección.
Una excepción sería si el programa de ordenador tuviera que resolver ecuaciones muchas veces durante su ejecución. En ese caso, el tiempo que se ahorraría con los métodos más rápidos podría ser significativo.
Entonces, un programa podría empezar con el método de Newton y, si éste no converge, pasar a la regula falsi , tal vez en una de sus versiones mejoradas, como las de Illinois o Anderson-Björck. O, si ni siquiera ésta converge tan bien como lo haría la bisección, pasar a la bisección, que siempre converge a una velocidad útil, aunque no espectacular.
Cuando el cambio en y se ha vuelto muy pequeño y x también cambia muy poco, entonces el método de Newton probablemente no tendrá problemas y convergerá. Por lo tanto, en esas condiciones favorables, uno podría cambiar al método de Newton si quisiera que el error fuera muy pequeño y quisiera una convergencia muy rápida.
En el capítulo 7 de Los Nueve Capítulos , un problema de búsqueda de raíces se puede traducir al lenguaje moderno de la siguiente manera:
Problema de exceso y déficit #11:
- Un junco creció 3 unidades en su primer día. Al final de cada día, se observa que la planta ha crecido 1 /2 del crecimiento del día anterior.
- Un junco creció 1 unidad el primer día. Al final de cada día, la planta creció el doble que el día anterior.
- Halla el tiempo [en días fraccionarios] en que el junco alcanza la altura del junco.
Respuesta: días; la altura son unidades.
Explicación:
- Supongamos que es el día 2. El junco es 1,5 unidades más corto que el junco común.
- Supongamos que es el día 3. El junco es 1,75 unidades más alto que el junco común. ∎
Para entender esto, modelaremos las alturas de las plantas en el día n ( n = 1, 2, 3...) según una serie geométrica .
Para lograr mejores notaciones, reescribamos la serie de altura de la planta en términos de k e invoquemos la fórmula de suma .
Ahora, usa regula falsi para encontrar la raíz de
Establezca y calcule cuál es igual a -1,5 (el "déficit").
Establezca y calcule cuál es igual a 1,75 (el "exceso").
Raíz estimada (1.ª iteración):
Este programa de ejemplo, escrito en lenguaje de programación C , es un ejemplo del algoritmo de Illinois. Para hallar el número positivo x donde cos( x ) = x 3 , la ecuación se transforma en una forma de búsqueda de raíces f ( x ) = cos( x ) -- x 3 = 0 .
#incluir <stdio.h> #incluir <math.h> double f ( double x ) { return cos ( x ) - x * x * x ; } /* a,b: puntos finales de un intervalo donde buscamos e: mitad del límite superior del error relativo m: número máximo de iteraciones */ double FalsiMethod ( double ( * f )( double ), double a , double b , double e , int m ) { double c , fc ; int n , side = 0 ; /* valores iniciales en los puntos finales del intervalo */ double fa = f ( a ); double fb = f ( b ); para ( n = 0 ; n < m ; n ++ ) { c = ( fa * b - fb * a ) / ( fa - fb ); si ( fabs ( b - a ) < e * fabs ( b + a )) romper ; fc = f ( c ); if ( fc * fb > 0 ) { /* fc y fb tienen el mismo signo, copia c en b */ b = c ; fb = fc ; if ( side == -1 ) fa /= 2 ; side = -1 ; } else if ( fa * fc > 0 ) { /* fc y fa tienen el mismo signo, copia c en a */ a = c ; fa = fc ; if ( side == + 1 ) fb /= 2 ; side = + 1 ; } else { /* fc * f_ muy pequeño (parece cero) */ break ; } } return c ; } int main ( void ) { printf ( "%0.15f \n " , FalsiMethod ( & f , 0 , 1 , 5E-15 , 100 )); devolver 0 ; }
Después de ejecutar este código, la respuesta final es aproximadamente 0,865474033101614.
{{cite web}}
: CS1 maint: archived copy as title (link)Regola Helcataym (vocabulo Arabo) che in nostra lingua vuol dire delle false Positioni