Práctica 8

Resolución de ecuaciones y sistemas de ecuaciones con Mathematica
Resolver una ecuación o un sistema de ecuaciones es un problema que se presenta con mucha frecuencia en matemáticas. En esta práctica nos centraremos en las instrucciones que Mathematica incorpora para este propósito.

8.1.- La instrucción Solve
Se utiliza para obtener la solución exacta de una ecuación o un sistema de ecuaciones: Solve[ecuación, variable] Resuelve la ecuación dada respecto de la variable indicada

Solve[{ecuacion1,ecuacion2, …},{variable1,variable2,….}] Resuelve el sistema formado por las ecuaciones dadas respecto de las variables indicadas. Si queremos obtener una solución aproximada utilizaremos la instrucción NSolve que tiene la misma sintaxis que Solve. El único inconveniente que presentan ambas instrucciones es que, salvo para un número muy reducido de ecuaciones (entre las que se encuentran las ecuaciones polinómicas de grado bajo), lo más probable es que no se puedan encontrar todas las posibles soluciones de la ecuación.

Ejemplo 8.1
Resolver las siguiente ecuaciones y sistemas a) x 3 − 5 x 2 + 3 x + 1 = 0 b) sen x cos x = 0 c) 

a x + y = 1 x + a y = 1

a)

x 3 − 5 x 2 + 3x + 1 = 0

Observemos que en este caso no ha sido necesario indicar la variable con respecto a al cual queremos resolver la ecuación, dado que en la ecuación sólo interviene una. Si queremos un valor aproximado de las soluciones podemos utilizar el comando N

salvo que intenta mostrar todas las soluciones de la ecuación. dichas instrucciones. podemos escribir: b) sen x cos x = 0 En este caso nos aparece un mensaje indicando que. haciendo una discusión de los posibles casos que puedan presentarse.o bien utilizar la instrucción NSolve Si bien el resultado mostrado por ambas instrucciones es el mismo. si queremos un valor aproximado con una precisión de 30 dígitos decimales. c) a x + y = 1  x + a y = 1 Observemos que la solución mostrada al resolver el sistema anterior puede no ser válida en el caso a = -1. se comportan internamente de manera muy distinta. como sabemos. debido al método usado. En ambos casos podemos obtener la solución con una mayor precisión. . La instrucción Reduce actúa de forma similar a la instrucción Solve. La instrucción Reduce nos permite mostrar todas las soluciones haciendo una discusión sobre los posibles valores del parámetro a. Esta instrucción está especialmente indicada si dentro de la ecuación aparecen parámetros. es probable que no aparezcan todas las soluciones de la ecuación. Nos aparece el conjunto de todas las soluciones de la ecuación en función de un parámetro c1 que puede tomar cualquier valor entero. Además el programa nos aconseja utilizar la instrucción Reduce para obtener información sobre la solución completa. Por ejemplo.

La instrucción Roots En el caso particular de que se trate de encontrar las soluciones de una ecuación polinómica. . Su sintaxis es la siguiente: Roots[ecuación-polinomia. podemos utilizar la instrucción Roots que nos muestra todas las raíces del polinomio dado.2.8.variable] Ejemplo 8.2 Encontrar las soluciones de las ecuaciones polinómicas siguientes: a) x 4 − x 3 −39 x 2 − 31x − 70 = 0 a) b) x 9 − x 8 − 2 x 5 − 2 x 4 + x − 1 = 0 x 4 − x 3 −39 x 2 − 31x − 70 = 0 b) x9 − x8 − 2x5 − 2x 4 + x − 1 = 0 En este caso el programa no ha sido capaz de darnos las raíces de forma exacta. Pero podemos pedirle un valor aproximado..

• Ejemplo 8. en este caso. {x. el número de dígitos es 16. x1} ] Encuentra un valor aproximado de la solución de la ecuación dada en la variable (suponemos x) partiendo de los valores iniciales x0 . La representación gráfica de la función nos puede ayudar para determinar estos valores iniciales.3 Probar que la ecuación x + artg x − 1 = 0 tiene una única solución real. Dar un valor aproximado de la solución. si bien Mathematica nos muestra el resultado con 6 dígitos). • La instrucción FindRoot admite. x0 .. {x. x0}] Encuentra un valor aproximado de la solución de la ecuación dada en la variable (suponemos x) partiendo del valor inicial x0 y aplicando el método de Newton-Raphson.3.La instrucción FindRoot La instrucción FindRoot aplica un método iterativo (método de Newton-Raphson o método de la secante) para encontrar un valor aproximado de la solución de una ecuación. entre otras.8. las opciones MaxIterations→n (que indica el número de iteraciones que se desean realizar. La sintaxis es la siguiente: FindRoot [ ecuacion. aplicando el método de la secante. El valor o valores iniciales x0 y x1 deben ser valores próximos a la solución buscada. x1. si no se indica Mathematica realiza 100 iteraciones) y WorkingPrecision→n que indica el número de dígitos de precisión con que se realizan los cálculos (por defecto. • Definimos la función Observemos que. En caso contrario el método puede no mostrarnos la solución deseada. FindRoot [ ecuacion. no es posible encontrar la solución exacta ni aproximada usando las instrucciones Solve y NSolve .

5 Si queremos que nos muestre la solución con una mayor precisión podemos utilizar: También podemos aplicar el método de la secante tomando como valores iniciales x0 = 0. • Aplicamos el método de Newton-Raphson tomando como valor inicial x0 = 0.6 .1] (Además.• Buscamos un intervalo donde haya alternancia de signo Como la función f es continua. el Teorema de Bolzano nos asegura la existencia de al menos una solución en el intervalo [0.5 y x1 = 0. Como puede observarse f ' ( x) ≠ 0 para cualquier x ∈ R .5) • Probamos que la solución es única. por lo que la solución es única.1] • Visualizamos la gráfica de la función en dicho intervalo Gráficamente se observa que hay una solución en el intervalo [0. dicha solución está próxima al valor 0.

Dar una estimación del error cometido. . b2 ] ⊃ . Supongamos que hemos localizado un intervalo [a. entonces se cumple que xn − s ≤ b−a . Llamamos [a1.b]. El método de bisección es un algoritmo que permite obtener un valor aproximado de la solución de una ecuación basado en la aplicación reiterada del teorema de Bolzano.b] donde hay alternancia de signo y donde la función f tiene solución única.El método de bisección Nuestro objetivo será resolver una ecuación del tipo f (x)=0. el punto medio del intervalo xn = a n + bn 2 es tomado como una aproximación de la solución. donde suponemos que f (x) es una función continua. Tomamos el punto medio del intervalo: x0 = a 0 + b0 ..4 Probar que la ecuación 2x+sen x=1 tiene una única solución real. Ejemplo 8.. [a0. Si s es la solución exacta de la ecuación f (x) = 0 en el intervalo [a. el Teorema de Bolzano nos asegura la existencia de al menos una solución en el intervalo [0. b0]. De esta forma se obtiene una sucesión de intervalos encajados [a0 . 2 n +1 lo que nos da una estimación del error cuando se utiliza xn como aproximación de la solución s. donde haya alternancia de signo y reiteramos el proceso. que contienen a la solución.. Localizarla en un intervalo de amplitud 1. 2 Si f (x0) = 0. b0 ] ⊃ [a1 . • • Definimos la función Buscamos un intervalo de amplitud 1 donde haya alternancia de signo Como la función f es continua.1]. En cada uno de los pasos.4. bn ] ⊃ . ⊃ [a n . x0] ó [x0. entonces x0 es la solución buscada. a) Calcular un valor aproximado de la solución aplicando 10 iteraciones del método de bisección.b1] a este nuevo intervalo y reiteramos el proceso tomando su punto medio x1. b1 ] ⊃ [a 2 . nos quedamos con aquel intervalo. En caso contrario..8..

la solución es única. aplicando el método de bisección. b) Calcular un valor aproximado de la solución con 10 cifras decimales exactas. por lo que utilizaremos una instrucción que nos permita interrumpir el algoritmo cuando hayamos alcanzado la precisión deseada. • Probamos que la solución es única. Si el número de cifras decimales exactas que queremos conseguir es ncifras. En este caso no conocemos el número de iteraciones que hemos de realizar. Dado que f ' ( x) ≠ 0 para cualquier x ∈ R .• Visualizamos la gráfica de la función en dicho intervalo Gráficamente se observa que hay una solución en el intervalo [0. 10 2 . b0 = 1. entonces el error debe ser menor que 1 − ncifras .1]. • Aplicamos el método de bisección tomando como valores iniciales a0 = 0.

.Probar que la ecuación x 2 = x sen x + cos x tiene exactamente dos soluciones reales.Probar que las siguientes ecuaciones tienen solución única y encontrar un valor aproximado de la solución.Resolver los siguientes sistemas de ecuaciones en función de los parámetros a..Probar que la ecuación x 3 + cos x + 10 x = 0 tiene una única solución real. Dar una estimación del error cometido en cada caso. b y c.. a x + y + z = 1  a)  x + a y + z = 1 x + y + a z = 1  a x 2 + b y + c = 0 b)  x + y =1  3. 5.Resolver las siguientes ecuaciones: a) sen x + cos x = 0 b) x +1 − 2x + 1 = 0 x c) x 7 − 5 x 2 + 9 x − 1 = 0 2.5... Calcular un valor aproximado aplicando 20 iteraciones del método de bisección.Ejercicios propuestos 1. a) x − cos x = 0 b) e x + x + 2 = 0 4. ¿Cuántas iteraciones hay que hacer con el método de bisección para obtener un valor aproximado de la solución con un error menor que 10-7 ? .8.

Sign up to vote on this title
UsefulNot useful