SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
subsubsectionl@subsubsection subsubsection[3]@@subsubsection12Aritm´etica
MÉTODOS
NUMÉRICOS
CON PYTHON
Manual
MS.c José Carlos Juárez Pulache
Ing. Agrícola - Semestre 2020 I
Índice general
Capítulo 1. Introducción al curso Página 4
1.1. Introducción a los métodos numéricos . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Instalación de python con Anaconda . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1. Instalación de Anaconda Distribution . . . . . . . . . . . . . . . . . . 11
1.2.2. Abriendo Anaconda Navigator . . . . . . . . . . . . . . . . . . . . . . 14
1.2.3. Entorno de Python mediante Jupyter . . . . . . . . . . . . . . . . . . . 15
1.2.4. Programación en python . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.5. Cargar librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3. Teoría de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.1. Formas de calcular el error . . . . . . . . . . . . . . . . . . . . . . . . 25
Capítulo 2. Ecuaciones no lineales Página 30
2.1. Métodos de solución de una ecuación no lineal . . . . . . . . . . . . . . . . . 32
2.1.1. Método de la bisección . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.2. Método de la falsa posición . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.3. Método del punto fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.4. Método de Newton Raphson . . . . . . . . . . . . . . . . . . . . . . . 54
2.1.5. Método de la secante . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
UNSCH Pag. 1
INTRODUCCIÓN
La matemática es una de las ciencias que ha preocupado y sorprendido al hombre por su
exactitud y complejidad; por ello este manual de trabajo está dirigido a los estudiantes de
“Ingeniería Agrícola”- UNSCH, con el propósito de encaminar su comprensión de la misma
en cuanto a la programación de algoritmos que permitan la simulación de un problema real
mediante un modelo matematico, haciendo uso del computador. Todos los fenónemos naturales
o artificiales estan representados por una ecuación matemática llamado modelo matemático,
que en algunos casos no es posible resolverlo analíticamente por ello es necesario el uso de los
´´Métodos Numéricos”
Es en esta etapa de su carrera es donde el estudiante le encuentra sentido a la matemática
mediante la simulación matemática de los fenómenos reales que puede observar en el medio
donde vive y descubrir el propósito de la existencia de la misma y su estudio.
En el Capítulo I, se expone el fundamento teórico y práctico de la teoría de errores y los
métodos de solución de una ecuación algebraica no lineal, en el Capítulo II, se expone la
explicación de la interpolación y ajuste de curvas, en el Capítulo III, se expone, la Solución
de las ecuaciones diferenciales y en el Capítulo IV, se expone, la Resolución y métodos para
solución de sistema de ecuaciones lineales
En este manual hemos elegido Python V. 3.7.3 por tres razones. En primer lugar, Python es fácil
de aprender. Hoy en día Python es el lenguaje preferido para introducir a los estudiantes univer-
sitarios en la programación. Si tienes experiencia en programación, pero no tienes experiencia
con Python, comprenderás Python muy rápidamente. Por otro lado, Python es un lenguaje de
programación que se usa en muchos casos en el mundo, el cual se identifica como un lenguaje
de programación de alto nivel, razón por la que es más sencillo de aprender y con la ventaja de
ser de código abierto.
En segundo lugar, Python ofrece muchas prestaciones. Python es lenguaje de programación
muy general,y sobresale en la manipulación de datos, programación de red y bases de datos.
Por último, Python contiene un gran conjunto de librerías para ciencia de los datos que puedes
utilizar.
MS.c José Carlos Juárez Pulache
OBJE TIVOS
Objetivos Generales:
• Realizar una simulación numérica que nos permita resolver un modelo matemático
basado en ecuaciones no lineales, ecuaciones diferenciales o sistemas de ecuaciones
lineales, utilizando un software libre.
Objetivos Específicos:
Los objetivos al finalizar el curso son:
• Resolver numericamente una ecuación algebraíca no lineal.
• Encntrar un polinomio interpolante que se ajuste a un conjunto de datos.
• Aprender a usar y programar en “Python”, un sotfware libre para todos.
INTRODUCCIÓN AL CURSO
Capítulo 1
MÉTODOS NUMÉRICOS
PARA LA INVESTIGACIÓN
1.1 Introducción a los métodos numéricos
Todos los fenómenos naturales o artificiales se relacionan con la matemática; la cual permite un
conocimiento más profundo del fenómeno, así como de su evolución futura.
La ciencia y la tecnología describen los fenómenos naturales o artificiales mediante modelos
matemáticos.
La matemática aplicada es la rama de las matemáticas que se dedica a buscar y aplicar las
herramientas más adecuadas a los problemas basados en estos modelos. Desafortunadamente,
no siempre es posible aplicar métodos analíticos clásicos por diferentes razones:
No se adecúan al modelo concreto.
Su aplicación resulta excesivamente compleja.
La solución formal es tan complicada que hace imposible cualquier interpretación poste-
rior.
Simplemente no existen métodos analíticos capaces de proporcionar soluciones al problema.
En estos casos son útiles las técnicas numéricas, que mediante una labor de cálculo más o menos
intensa, conducen a soluciones aproximadas que son siempre numérica.
UNSCH Pag. 5
Por ello en la actualidad los métodos numéricos han sido desarrollados con el objetivo de
resolver problemas matemáticos cuya solución es difícil o imposible de obtener por medio de
los procedimientos tradicionales
Para desarrollar el problema matemático(modelo matemático); es necesario la utilidad de un
ordenador(computadora) con el software de programación adecuado.
Sin ordenador Con ordenador
¿Qué es un método numérico?
Es una técnica o procedimiento a
mediante el cual es posible obtener de manera aproxi-
mada la solución de ciertos problemas realizando operaciones aritméticas elementales,
cálculo de funciones, lógica proposicional, etc.
a
El procedimiento consiste en una lista finita de instrucciones precisas que especifican una secuencia
de operaciones algebraicas y lógicas conocida como algoritmo, que producen o bien una aproximación
de la solución del problema o bien un mensaje
Definición:
Para hallar la solución numérica de un modelo matemático es necesario utilizar diagramas de
flujo 1
los cuales nos facilitarán el proceso de la programación.
Los diagramas de flujo emplean figuras geométricas y flechas, cada una de las cuales represen-
tan un determinado paso u operación del algoritmo.2
1
Diagrama de flujo. Es una representación gráfica de un algoritmo.
2
Algoritmo. Es un conjunto ordenado y finito de operaciones simples a través del cual podemos hallar la
solución a un problema
UNSCH Pag. 6
Simbolo Nombre Función
Terminal Representa el inicio o el final de un programa.
Lineas de flujo Representan el flujo de la lógica. Los arcos en
la flecha horizontal indican que ésta pasa sobre
las líneas de flujo verticales y no se conecta con
ellas.
Proceso Representa cálculos o manipulación de datos.
Entrada/Salida Representa entrada o salida de datos e informa-
ción
Decisión Representa una comparación, una pregunta o una
decisión que determina los caminos alternativos
a seguir.
Unión Representa la confluencia de líneas de flujo.
Tabla 1.1: Simbolos usados en el diagrama de flujo
Ejemplos de diagramas de flujo
Condición
Bloque
Verdadero
Verdadero
Estructura para una alternativa
Pseudocódigo:
if condición:
Bloque Verdadero
Condición
Bloque
Falso
Bloque
Verdadero
Falso Verdadero
Estructura para dos alternativas
Pseudocódigo:
if condición:
Bloque Verdadero
else:
Bloque Falso
UNSCH Pag. 7
Condición
1
Bloque 1
Falso Verdadero
Bloque 2
Bloque 3Bloque 4
Verdadero
Verdadero
Falso
Falso
Condición
2
Condición
3
Estructura para varias alternativas
Pseudocódigo:
if condición 1:
Bloque 1
elif condición 2:
Bloque 2
elif condición 3:
Bloque 3
else:
Bloque 4
Hacer un diagrama de flujo, pseudocódigo que compare 2 números cualsquiera.
Ejemplo 1
inicio
ingresar
a=b
a es igual a b
V F
end
a>b
F V
2 números
a,b
a es menor que b a es mayorr que b
Diagrama de flujo
Pseudocódigo:
Inicio del proceso
Ingrese dos números: “a y b”
Si se cumple que a = b entonces:
Imprimir: “a es igual a b”
Caso contrario:
Si se cumple que a > b:
Imprimir: “a es mayor que b”
Caso contrario:
Imprimir: “a es menor que b”
Fin del proceso
UNSCH Pag. 8
Hacer un diagrama de flujo, pseudocódigo para resolver la siguiente ecuación
cuadrática
ax2
+ bx + c = 0
Ejemplo 2
inicio
ingresar
a,b y c
a=0
x1=-c/b
x2=-c/b
x1=(-b+sqrt(det))/2a
x2=(-b-sqrt(det))/2a
det=b -4ac
2
tiene 2 raices
complejas
y conjugadas
mostrar
x1, x2
V F
end
det<0
F V
Pseudocódigo:
Inicio del proceso
Ingrese “a,b y c”
Si se cumple que a = 0 entonces:
x1 = −c/b
x2 = −c/b
Caso contrario:
Calcule el determinante
det=b2
− 4ac
Si se cumple que det> 0 entonces:
x1 = (−b +
√
b2 − 4ac)/2a
x2 = (−b −
√
b2 − 4ac)/2a
Caso contrario:
Imprimir “Tiene 2 raices com-
plejas y conjugadas”
Imprimir las raices x1 y x2
Fin del proceso
En el lenguaje de programación existen sentencias condicionales y de repetición.
1. Sentencias condicionales
if
elif
else
2. Sentencias de repetición
for
while
Nota
UNSCH Pag. 9
Hacer un diagrama de flujo, pseudocódigo para ordenar tres números reales de menor
a mayor.
Ejemplo 3
Solución
Solución
UNSCH Pag. 10
1.2 Instalación de python con Anaconda
¿Qué es Anaconda?
Anaconda es una distribución de Python que contiene los paquetes más usados en temas de
ciencia, matemáticas o ingeniería como: NumPy, SciPy o Matplotlib, etc. Se distribuye bajo
licencia BSD de tres cláusulas así que se considera un software libre.
1.2.1. Instalación de Anaconda Distribution
Para instalar Anaconda Distribution, de una manera sencilla, debemos tener en cuenta los pasos
siguientes:
Primer paso: Descargar Anaconda
Segundo paso: Elige la versión de python 2.7 o 3.7 (Recomendamos 3.7)
Tercer paso: Elegir instalador grafico de 64 bits o 32 bits(de acuerdo a su computador)
Primer paso Primer paso
Segundo paso Tercer paso
UNSCH Pag. 11
Una vez descargado Anaconda, siga los siguientes pasos:
Cuarto paso: Dar click en ejecutar.
Quinto paso: Aceptar la licencia de fabricación.
Sexto paso: Instalar el producto para usted (Just Me (recommended)).
Séptimo paso: Elegir la ruta de instalación
Octavo paso: Agregar Anaconda a mi variable de entorno PATH
Noveno paso: Configurando la instalación.
Click
Cuarto paso
Click
Cuarto paso
Click
Quinto paso
Click
Sexto paso
UNSCH Pag. 12
Click
Séptimo paso Octavo paso
Click
Octavo paso Noveno paso
Click
Noveno paso
Click
Noveno paso
UNSCH Pag. 13
1.2.2. Abriendo Anaconda Navigator
Mediante el buscador de su PC, abrir Anaconda Navigator; siguiendo los siguientes pasos.
CLICK
Primer paso
CLICK
Segundo paso
Tercer paso
CLICK
Cuarto paso
CLICK
Quinto paso Sexto paso
UNSCH Pag. 14
1.2.3. Entorno de Python mediante Jupyter
¿Qué es python?
Python es un lenguaje de programación interpretado 3
de tipado dinámico cuya filosofía hace
hincapié en una sintaxis que favorezca un código legible.
Características
Interpretado: Se ejecuta sin necesidad de ser procesado por el compilador y se detectan
los errores en tiempo de ejecución.
Tipado dinámico: Las variables se comprueban en tiempo de ejecución.
Multiplataforma: disponible para plataformas de Windows, Linux o MAC.
Multiparadigma: Soporta programación funcional, programación imperativa y progra-
mación orientada a objetos.
Python, es el tercer lenguaje de programación más popular del mundo, y ha tenido un rápido
crecimiento durante los últimos años.
¿Porqué utilizar python?
Porque permite resolver problemas en menos tiempo y con menos código. Esta es precisamente
una de las razones por las que empresas como Google, Dropbox o Facebook lo utilizan.
Es un lenguaje multipropósito utilizado para resolver todo tipo de tareas como:
Análisis de datos
Inteligencia Artificial
Aprendizaje automático
Deep Learning
Machine Learning
Desartollo Web
3
Normalmente los lenguajes de programación se pueden agrupar en Interpretados y Compilados según la forma
en la que son traducidos. Imaginate que nuestro computador trabaja en código binario y sería muy difícil programar
todo en unos y ceros, además de que nos tardaríamos mucho.
Por eso cuando nosotros escribimos un código en realidad lo que estamos haciendo es hablar un lenguaje más
fácil de comprender para nosotros y que luego será traducido a lenguaje de máquina que es lo que puede enten-
der el procesador. Entonces, a la forma como se realiza esta traducción es lo que los agrupa en Interpretados o
Compilados.
UNSCH Pag. 15
¿Como funciona python?
Para trabajar en el entorno de python, debe abrir un cuaderno de python y guardarlo con el
nombre que el usuario desea. Lo puede guardar de 2 maneras, tal como se muestra en las gráficas
siguientes.
Primero: Dando click en file y seleccionando Guardar como
Segundo: Dando doble click en Untitled y escribiendo el nombre que Ud. desea
Primero Segundo
Operaciones Aritméticas
En el cuaderno de python para ejecutar las operaciones; se hace presionando las teclas Shift +
Enter simultáneamente o dando click en Run. Y se usa el simbolo (#) para hacer comentrios
en cada fila del cuaderno.
CHIFT + ENTER
Cuaderno de python
UNSCH Pag. 16
1.2.4. Programación en python
En la programación con python, existen 2 comandos muy importantes que permiten ingresar
datos por teclado y mostrar datos en pantalla.
input
print
input(“Ingrese un número:”)
input
Para realizar posteriores operaciones con los datos ingresados, es necesario guardarlos en una
variable. Además tambien es necesario declarar el tipo de variable, ya sea de tipo entero (int) o
real (float)
a=input(“Ingrese un número:”)
a=int(input(“Ingrese un número:”))
a=float(input(“Ingrese un número:”))
input
print(“La solución es:”)
print
Calcule la suma de dos números enteros
Ejemplo 4
a=int(input(“Ingrese el primer número”))
b=int(input(“Ingrese el segundo número”))
S=a+b
print(“La suma es:”,S)
Solución
Calcule el área de un triángulo
Ejemplo 5
b=float(input(“Ingrese la base”))
h=float(input(“Ingrese la altura”))
Area=(b*h)/2
print(“El área es:”,Area)
Solución
UNSCH Pag. 17
Sentencias condicionales
La estructura de control if ... else ... permite que un programa ejecute unas instruc-
ciones cuando se cumple una condición y otras instrucciones cuando no se cumple esa
condición. La sintaxis es:
if condición:
instrucción 1
else:
instrucción 2
if...else...
Hacer un programa para comparar 2
números enteros
Ejemplo 6
a > bFalso Verdadero
Inicio
a es mayor
que b
a es menor
que b
Fin
Ingrese
a y b
a=int(input(“Ingrese el primer número”))
b=int(input(“Ingrese el segundo número”))
if a>b:
print(“a es mayor que b”)
else:
print(“a es menor que b”)
Solución
Hacer un programa para determinar si un
número es par
Ejemplo 7
resto=0Falso Verdadero
Inicio
El número
es par
Fin
Ingrese
a
El número
es impar
resto=a/2
a=int(input(“Ingrese un número”))
resto=a %2
if resto==0:
print(“El número es par”)
else:
print(“El número es impar”)
Solución
Suma, resta, multiplicación y división: a+b, a-b, a*b y a/b
Potenciación y radicación : a**b o pow(a,b) y sqrt(2) o a**(1/2)
Cociente y resto: a//b y a %b
Nota Operaciones básicas en python
UNSCH Pag. 18
La sintaxis de la sentencia condicional elif es:
if condición 1:
instrucción 1
elif condición 2:
instrucción 2
elif condición 3:
instrucción 3
else:
instrucción 4
elif
Hacer un programa para determinar la can-
tidad de dígitos de un número menor que
1000
Ejemplo 8
1 dígito
Falso Verdadero
2 dígitos
Inicio
Ingrese
un número
a< 1000
0<=a<10
Falso Verdadero
10<=a<100
Falso Verdadero
100<=a<1000
3 dígitos4 dígitos
Fin
a=int(input(“Ingrese un número <1000”))
if a >= 0 and a < 10:
print(“El número tiene 1 dígito”)
elif a >= 10 and a < 100:
print(“El número tiene 2 dígitos”)
elif a >= 100 and a < 1000:
print(“El número tiene 3 dígitos”)
else:
print(“El número tiene 4 dígitos”)
Solución
Hacer un programa para determinar los
valores de verdad de la conjunción
Ejemplo 9
Verdadero
Falso Verdadero
Falso
Inicio
Ingrese
los valores
de a y b
a=V y b=V
Falso Verdadero
a=V y b=F
Falso Verdadero
a=F y B=V
FalsoFalso
Fin
a=input(“Ingrese un valor de verdad”)
b=input(“Ingrese un valor de verdad”)
if a==“True” and b==“True”:
print(“True”)
elif a==“True” and b==“False”:
print(“False”)
elif a==“False” and b==“True”:
print(“False”)
else:
print(“False”)
Solución
UNSCH Pag. 19
for es un bucle a
que repite el bloque de instrucciones un número prederminado de
veces. El bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada
repetición se suele llamar iteración. La sintaxis de la sentencia de repetición for es:
for variable in elemento iterable b
Cuerpo del bucle
a
Bucle: Es una estructura de control que repite un bloque de instrucciones.
b
Elemento iterable: Puede ser una lista, cadena, range, etc
for
Hacer un programa que repita el siguiente
mensaje Saluden al ingresar al aula. Por
favor en el cual la variable recorra una lista
Ejemplo 10 Usando una lista
Inicio
Fin
Saluden al
ingresar al
aula.
Por favor
Desde i hasta lista
for i in [1,1,1]:
print(“Saluden al ingresar al aula.
Por favor”)
Resultado:
Saluden al ingresar al aula. Por favor
Saluden al ingresar al aula. Por favor
Saluden al ingresar al aula. Por favor
Explicación:
El cuerpo del bucle se repite de acuerdo al
número de elementos que tiene la lista. En
este caso la lista posee 3 elementos. Y ade-
mas no se está usando la variable i.
Puede utilizarse cualquier otra variable
Solución
Hacer un programa que repita el siguiente
mensaje Saluden al ingresar al aula. Por
favor en el cual la variable recorra una lista
Ejemplo 11 Usando una lista
Inicio
Fin
Saluden al
ingresar al
aula.
Por favor
Desde i hasta lista
for _ in [1,-1,10]:
print(“Saluden al ingresar al aula.
Por favor”)
Resultado:
Saluden al ingresar al aula. Por favor
Saluden al ingresar al aula. Por favor
Saluden al ingresar al aula. Por favor
Explicación:
El cuerpo del bucle se repite de acuerdo al
número de elementos que tiene la lista, sin
importar los valores que contiene. Si no se
usa la variable en el bucle, no es necesario
utilizarla; para ello se utiliza el sub-guión.
Solución
UNSCH Pag. 20
Hacer un programa que repita el siguiente
mensaje Software libre en el cual la
variable recorra una cadena
Ejemplo 12 Usando listas
for i in [1,3,5,7,9]:
cuadrados=i**2
print(cuadrados)
Resultado:
1
9
25
49
81
Explicación:
En este caso, la variable i si es consider-
ada dentro del buqle; la cual recorre cada
elemento de lista elevada al cuadrado.
Solución
Hacer un programa que repita el siguiente
mensaje Software libre en el cual la
variable recorra una cadena
Ejemplo 13 Usando cadenas
for i in “unsch”:
print(“Software libre”)
Resultado:
Software libre
Software libre
Software libre
Software libre
Software libre
Explicación:
El cuerpo del bucle se repite de acuerdo a
la longitud de la cadena, es decir de acuer-
do al número de letras que tiene la cadena.
En este caso la cadena posee 5 letras.
Solución
UNSCH Pag. 21
1.2.5. Cargar librerías
Para realizar operaciones o programas más complejas, es necesario cargar las librerias nece-
sarias al cuaderno de python. Entre las más de 45 000 librerías de python tenemos:
math.- Este módulo proporciona acceso a las funciones matemáticas.
numpy.- Este módulo proporciona acceso a operaciones con listas, arrays, vectores, ma-
trices, etc.
matplotlib.- Este módulo proporciona acceso al trazado de gráficos en 2D, 3D y estadís-
ticos, etc.
Para cargar las librerías de python, se puede cargar de 3 formas.
Primera forma
import math
import numpy
import matplotlib
import Nombre de la librería
Segunda forma
import math as m
import numpy as np
import matplotlib as mpl
import Nombre de la librería as Alias de la librería
Tercera forma
from math import *
from numpy import *
from matplotlib import *
from Nombre de la librería import *
UNSCH Pag. 22
Hacer un programa para resolver la siguiente ecuación cuadrática
ax2
+ bx + c = 0
Ejemplo 14
Solución
import math
print(“=========================================================”)
print(“Solución de una ecuación cuadrática: ax2
+ bx + c = 0 ”)
print(“=========================================================”)
a=float(input(“ingrese el valor de a:”))
b=float(input(“ingrese el valor de b:”))
c=float(input(“ingrese el valor de c:”))
if a==0:
x1 = −c/b
x2 = −c/b
print(“Las raices son:”, x1, x2)
else:
d = b ∗ b − 4 ∗ a ∗ c
if d > 0:
x1 = (−b + math.sqrt(d))/2 ∗ a
x2 = (−b − math.sqrt(d))/2 ∗ a
print(“La ecuación tiene 2 soluciones reales y diferentes:”)
print(“x1 := ”, x1)
print(“x2 := ”, x2)
elif d == 0:
x1 = (−b)/2 ∗ a
x2 = (−b)/2 ∗ a
print(“La ecuación tiene 2 soluciones reales e iguales:”)
print(“ x1 := ”, x1)
print(“ x2 := ”, x2)
else:
r=-b/float(2*a)
i=(math.sqrt(-(b**2-4*a*c)))/(2*a)
x=complex(r,i)
print(“La ecuación cuadrática tiene 2 soluciones complejas y conjugadas”)
print(“x1 = ” +str(x.real)+ “+” +str(x.imag)+“j”)
print(“x2 = ” +str(x.real)+ “-” +str(x.imag)+“j”)
Las soluciones que ofrecen los métodos numéricos son aproximaciones de los valores reales y,
por tanto se tendrá un cierto grado de error que será conveniente determinar.
UNSCH Pag. 23
1.3 Teoría de errores
“El único hombre que no se equivoca es el que nunca hace nada.”-Goothe
¿Qué es un error?
La discrepancia entre una solución verdadera y una aproximada representa un error. Entonces
un error es algo equivocado o desacertado. Puede ser una acción que no se realizó de manera
correcta.
Un concepto de error en la matemática y en la física, es la diferencia que surge entre
una medición y la realidad.
Definición:
En la práctica profesional, los errores pueden resultar costosos, y en algunas ocasiones catas-
tróficos. Por ello, los errores se deben:
Identificar
Cuantificar
Minimizar
UNSCH Pag. 24
1.3.1. Formas de calcular el error
La diferencia entre la realidad(valor verdadero) y el valor medido(es decir valor aproximado),
matematicamente se representa de la siguiente manera.
Error = Vverdadero − Vaproximado
Como el error siempre debe ser positivo, entonces se expresa en valor absoluto.
Error = |Vverdadero − Vaproximado|
Error Absoluto(E.A)
Es la diferencia entre el valor verdadero y el valor aproximado, y se calcula de la siguiente
manera.
E.A = |Vverdadero − Vaproximado|
Error Relativo(E.R)
Es el cociente entre el error absoluto y el valor verdadero
E.R = |
Error Absoluto
Vverdadero
|
Error por Redondeo:
Un error de redondeo es la diferencia entre la aproximación calculada de un número y su valor
matemático exacto debida al redondeo. 4
Estos errores se introducen en los procesos de computación por el hecho de que las computado-
ras trabajan con un número finito de dígitos después del punto decimal y tienen que redondear.
Para hallar el error por redondeo, se aplican reglas de redondeo.
Ejemplo: Aplicando las reglas de redondeo, aproximar los siguientes números a 4 cifras deci-
males.
1. 3.12344567 ≈ 3.1234
2. 32.1278888 ≈ 32.1279
3. −3.8888888 ≈ −3.8889
4. 9.35364567 ≈ ............
5. 2.99999999 ≈ ............
6. 3.45676567 ≈ ............
4
El redondeo es el proceso de descartar cifras en la expresión decimal (o más generalmente, posicional) de un
número. Se utiliza con el fin de facilitar los cálculos.
UNSCH Pag. 25
Ejemplo:
Sea P = 25.157258457 y P∗
= 26.821343605 el valor exacto y aproxima-
do respectivamente. Encontrar E.A. y E.R. por redondeo con 5 cifras decimales.
Solución
Expresando por redondeo a 5 cifras decimales el valor exacto P y el valor aproximado P∗
P = 25.157258457 ≈ 25.15726
P∗
= 26.821343605 ≈ 26.82134
Calculando el error absoluto:
E.A. = |P − P∗
| = |25.15726 − 26.82134| = | − 1.664080000| ≈ 1.66408
Calculando el error relativo:
E.R. =
E.A.
|P|
=
1.664080000
|25.15726|
=
1.664110000
25.15726
= 0.066147108 ≈ 0.06615
Error por Truncamiento:
Un error por truncaminto es la diferencia entre una formulación matemática exacta de un
problema y la aproximación dada por un método numérico. 5
Este tipo de error es debido a la omisión de términos en una serie que tiene un número infinito
de términos.
Por ejemplo podemos utilizar la serie infinita de Taylor para calcular el seno de cualquier ángulo
x, expresado en radianes:
sin(x) =
x
1!
−
x3
3!
+
x5
5!
−
x7
7!
+
x9
9!
+ ...
Por supuesto que no podemos usar todos los términos de la serie en un cálculo, porque la serie
es infinita; entonces, los términos omitidos introducen un error, llamado error por truncamiento.
Ejemplo: Mediante truncamiento aproximar los siguientes números a 4 cifras decimales.
1. 3.12344567 ≈ 3.1234
2. 32.1278888 ≈ 32.1278
3. −3.8888888 ≈ −3.8888
4. 9.35364567 ≈ ............
5. 2.99999999 ≈ ............
6. 3.45676567 ≈ ............
5
En matemáticas, truncamiento es el término usado para referirse a reducir el número de dígitos a la derecha
del separador decimal.
UNSCH Pag. 26
Ejemplo:
Sea P = 25.157258457 y P∗
= 26.821343605 el valor exacto y aproxima-
do respectivamente. Encontrar E.A. y E.R. por truncamiento con 5 cifras decimales.
Solución
Expresando por redondeo a 5 cifras decimales el valor exacto P y el valor aproximado P∗
P = 25.157258457 ≈ 25.15725
P∗
= 26.821343605 ≈ 26.82134
Calculando el error absoluto:
E.A. = |P − P∗
| = |25.15725 − 26.82134| = | − 1.664090000| ≈ 1.66409
Calculando el error relativo:
E.R. =
E.A.
|P|
=
1.664090000
|25.15725|
=
1.664110000
25.15725
= 0.066147532 ≈ 0.06614
En este manual utiizaremos el error por redondeo y para cálculos más prácticos utilizaremos el
error relativo porcentual es decir:
E.R = |
Error Absoluto
Vverdadero
| × 100 %
Halle el error relativo pocentual por redondeo a 5 cifras decimales de la serie de Taylor
con 2 y 3 términos de sin
π
4
Ejemplo 15
Solución
Sea P = sin
π
4
=
√
2
2
= 0.707106781 ≈ 0.70711 el valor exacto y P∗
el valor aproximado.
Cuando la serie de Taylor presenta 2 términos:P∗
= sin(x) =
x
1!
−
x3
3!
P∗
= sin
π
4
=
π
4
1!
−
π
4
3
3!
= 0.704652651 ≈ 0.70465
E.A. = |P − P∗
| = |0.70711 − 0.70465| = 0.00246
E.R. =
E.A.
|P|
=
0.00246
0,70711
= 0.00348
∴ E.R. % = 0.34800 %
UNSCH Pag. 27
Cuando la serie de Taylor presenta 3 términos:sin(x) =
x
1!
−
x3
3!
+
x5
5!
P∗
= sin
π
4
=
π
4
1!
−
π
4
3
3!
+
π
4
5
5!
= 0.707143046 ≈ 0.70714
E.A. = |P − P∗
| = |0.70711 − 0.70714| = 0.00003
E.R. =
E.A.
|P|
=
0.00003
0,70711
= 0.00004
∴ E.R. % = 0.00424 %
Halle el error relativo pocentual por redondeo a 6 cifras decimales de la serie de Taylor
con 4 términos de sin
π
4
Ejemplo 16
Solución
Sea P = sin
π
4
=
√
2
2
= 0.707106781 ≈ 0.707107 el valor exacto y P∗
el valor aproximado.
Serie de Taylor para 4 términos:P∗
=
x
1!
−
x3
3!
+
x5
5!
−
x7
7!
P∗
= sin
π
4
=
π
4
1!
−
π
4
3
3!
+
π
4
5
5!
−
π
4
7
7!
= 0.707106470 ≈ 0.707106
E.A. = |P − P∗
| = |0.707107 − 0.707106| = 0.000001
E.R. =
E.A.
|P|
=
0.000001
0,707107
= 0.000001
∴ E.R. % = 0.000141 %
Los ordenadores trabajan en un rango de 0 a 15 o 16 decimales. Ejemplos en python
pi=3.141592653589793
10
3
= 3.3333333333333335
Nota
UNSCH Pag. 28
Conceptos Básicos
Precisión:La precisión se refiere a que tan cerca estan las mediciones entre ellas,
obtenidas en un ensayo.(repetición)
Exactitud: La exactitud se referie a que tan cerca está el valor medido del valor exacto.
Cifras Significativas
Número de dígitos que se pueden usar con confianza. Incluyen enteros y decimales.
Reglas:
1. Son cifras significativas todos los dígitos distintos de cero.
Ejemplo:
324: Tiene.........cifras significativas.
3,24: Tiene.........cifras significativas.
2. Los ceros situados entre dos cifras significativas son significativos.
Ejemplo:
30004: Tiene.........cifras significativas.
304: Tiene.........cifras significativas.
3. Los ceros a la izquierda de la primera cifra significativa no lo son.
Ejemplo:
004: Tiene.........cifras significativas.
0,00034: Tiene.........cifras significativas.
UNSCH Pag. 29
ECUACIONES NO LINEALES
Capítulo 2
MÉTODOS NUMÉRICOS
PARA LA INVESTIGACIÓN
¿Qué es una ecuación no lineal?
Uno de los problemas más frecuentes en ingeniería es encontrar las raíces de ecuaciones de la
forma f(x) = 0, donde f(x) es una función real de una variable “x”, como por ejemplo un
polinomio en “x”
x3
+ 3x2
+ 2x − 2 = 0
o una ecuación trascendente 1
e−x
− x = 0
ex
sin x + ln3x + x3
= 0
Aquella ecuación que cumple con dichas caracteristicas se le llama ecuación no lineal y para
su solución existen distintos algoritmos para encontrar las raíces o ceros de f(x) = 0.
Uno de los métodos clásicos para encontrar una raiz es el método gráfico; el cual consiste en
tabular y trazar su grafico en el plano cartesiano.
Ejemplo:
Trazar la gráfica de la función:
y = f(x) = e−x
− x
Solución
x -1.5 -1 -0,5 0 0.5 1 1.5
y 5.981689 3.718282 2.148721 1 0.106531 -0.632121 -1.276870
Tabla 2.1: Tabla de valores de f(x) = e−x
− x
Figura 2.1: Método gráfico
1
Las ecuaciones trascendentes contienen términos trigonométricos, exponenciales o logarítmicos de la variable
independiente.
UNSCH Pag. 31
2.1 Métodos de solución de una ecuación no lineal
Para la solución de una ecuación no lineal, tenemos métodos cerrados y métodos abiertos
Métodos Cerrados
Son métodos que necesitan dos valores iniciales que encierren la raíz, para así reducir sis-
temáticamente el tamaño del intervalo y que converga a una respuesta aproximada. Entre ellos
tenemos:
Método de bisección o de búsqueda binaria.
Método de falsa posición.
2.1.1. Método de la bisección
El método de bisección, es un método de búsqueda de raices, el cual consiste en ir acortando
sistematicamente los extremos del intervalo, hasta obtener un intervalo de anchura suficiente-
mente pequeño que contenga la raiz, como muestra la figura adjunta.
Extremos del intervalo
Raíz
Curva de la función f(x)
Figura 2.2: Representación geométrica del método de bisección
Procedimiento del método de bisección:
1. Buscar el intervalo [xi, xd] que encierran la raíz.(Esto se determina verificando
f(xi)f(xd) < 0 o mediante el método gráfico)
2. Una aproximación hacia la raíz se determina mediante:
xr =
xi + xd
2
3. Realizar las siguientes cálculos para determinar en que subintervalo se encuentra la raiz.
UNSCH Pag. 32
Si f(xi)f(xr) < 0, entonces la raiz está al lado izquierdo y el nuevo intervalo a
comprobar es [xi, xr] y vuelva al paso 2.
Si f(xr)f(xd) < 0, entonces la raiz está al lado derecho y el nuevo intervalo a
comprobar es [xr, xd] y vuelva al paso 2.
Si f(xr)f(xi) = 0 o f(xr)f(xd) = 0, entonces la raiz es xi o xd y termina el
proceso.
Utilizar el método de la bisección para aproximar la raíz de la siguiente ecuación:
f(x) = e−x
− x = 0
Ejemplo 17
Solución
1) Primera iteración
Busquemos un intervalo que contenga la
raiz: [0, 1]
Sea xi = 0 ∧ xd = 1 =⇒ xr = 0.5
Haciendo los siguientes cálculos:
• f(xi) = f(0) = 1
• f(xd) = f(1) = −0.632121
• f(xr) = f(0.5) = 0.106531
• Evaluando tenemos: f(xd)f(xr) < 0
∴ El nuevo intervalo es: [0.5, 1]
2) Segunda iteración
El nuevo intervalo que contiene la raiz es:
[0.5, 1]
Sea xi = 0.5 ∧ xd = 1 =⇒ xr = 0.75
Haciendo los siguientes cálculos:
• f(xi) = f(0.5) = 0.106531
• f(xd) = f(1) = −0.632121
• f(xr) = f(0.75) = −0.277633
• Evaluando tenemos: f(xi)f(xr) < 0
∴ El nuevo intervalo es: [0.5, 0.75]
3) Tercera iteración
El nuevo intervalo que contiene la raiz es:
[0.5, 0.75]
Sea xi = 0.5 ∧ xd = 0.75
=⇒ xr = 0.625
Haciendo los siguientes cálculos:
• f(xi) = f(0.5) = 0.106531
• f(xd) = f(0.75) = −0.277633
• f(xr) = f(0.625) = −0.089739
• Evaluando tenemos: f(xi)f(xr) < 0
∴ El nuevo intervalo es: [0.5, 0.625]
4) Cuarta iteración
El nuevo intervalo que contiene la raiz es:
[0.5, 0.625]
Sea xi = 0.5 ∧ xd = 0.625
=⇒ xr = 0.5625
Haciendo los siguientes cálculos:
• f(xi) = f(0.5) = 0.106531
• f(xd) = f(0.625) = −0.089739
• f(xr) = f(0.5625) = 0.007283
• Evaluando tenemos: f(xd)f(xr) < 0
∴ El nuevo intervalo es: [0.5625, 0.625]
UNSCH Pag. 33
5) Quinta iteración
El nuevo intervalo que contiene la raiz es:
[0.5625, 0.625]
Sea xi = 0.5625 ∧ xd = 0.625
=⇒ xr = 0.59375
Haciendo los siguientes cálculos:
• f(xi) = f(0.5625) = 0.007283
• f(xd) = f(0.625) = −0.089739
• f(xr) = f(0.59375) = −0.041498
• Evaluando tenemos: f(xi)f(xr) < 0
∴ El nuevo intervalo es:
[0.5625, 0.59375]
6) Sexta iteración
El nuevo intervalo que contiene la raiz es:
[0.5625, 0.59375]
Sea xi = 0.5625 ∧ xd = 0.625
=⇒ xr = 0.59375
Haciendo los siguientes cálculos:
• f(xi) = f(0.5625) = 0.007283
• f(xd) = f(0.59375) = −0.041498
• f(xr) = f(0.578125) = −0.017176
• Evaluando tenemos: f(xi)f(xr) < 0
∴ El nuevo intervalo es:
[0.5625, 0.578125]
N◦
xi xd xr f(xi) f(xd) f(xr) Er %.
1 0.000000 1.000000 0.500000 1.000000 -0.632121 0.106531 100.000000
2 60.500000 1.000000 0.750000 0.106531 -0.632121 -0.277633 33.333333
3 0.500000 0.750000 0.625000 0.106531 -0.277633 -0.089739 20.000000
4 0.500000 0.625000 0.562500 0.106531 -0.089739 0.007283 11.111111
5 0.562500 0.625000 0.593750 0.007283 -0.089739 -0.041498 5.263158
6 0.562500 0.593750 0.578125 0.007283 -0.041498 -0.017176 2.702703
7 0.562500 0.578125 0.570312 0.007283 -0.017176 -0.004963 1.369952
8 0.562500 0.570312 0.566406 0.007283 -0.004963 0.001156 0.689611
9 0.566406 0.570312 0.568359 0.001156 -0.004963 -0.001905 0.343621
10 0.566406 0.568359 0.567382 0.001156 -0.001905 -0.000374 0.172194
11 0.566406 0.567382 0.566894 0.001156 -0.000374 0.000391 0.086083
12 0.566894 0.567382 0.567138 0.000391 -0.000374 0.000008 0.043023
13 0.567138 0.567382 0.567260 0.000008 -0.000374 -0.000183 0.021507
14 0.567138 0.567260 0.567199 0.000008 -0.000183 -0.000087 0.010755
15 0.567138 0.567199 0.567168 0.000008 -0.000087 -0.000039 0.005466
16 0.567138 0.567168 0.567153 0.000008 -0.000039 -0.000015 0.002645
17 0.567138 0.567153 0.567146 0.000008 -0.000015 -0.000004 0.001234
18 0.567138 0.567146 0.567142 0.000008 -0.000004 0.000002 0.000705
19 0.567142 0.567146 0.567144 0.000002 -0.000004 -0.000001 0.000353
20 0.567142 0.567144 0.567143 0.000002 -0.000001 0.000000 0.000176
21 0.567143 0.567144 0.567144 0.000000 -0.000001 -0.000001 0.000000
22 0.567144 0.567144 0.567144 -0.000001 -0.000001 -0.000001 0.000000
23 0.567144 0.567144 0.567144 -0.000001 -0.000001 -0.000001 0.000000
24 0.567144 0.567144 0.567144 -0.000001 -0.000001 -0.000001 0.000000
Tabla 2.2: Resumen del método de bisección, para n=25
UNSCH Pag. 34
Inicio
Fin
xi, xd, n
fxi=e""(-xi)-xi
fxd=e""(-xd)-xd
fxi*fxd>0
V F
No contiene
la raiz
Desde i=1 hasta n
xr=(xi+xd)/2
fxi=e**(-xi)-xi
fxd=e**(-xd)-xd
fxr=e**(-xr)-xr
fxi*fxr<0
VF
xi=xr xd=xr
xr
Diagrama de flujo del método de bisección
UNSCH Pag. 35
from math import *
import numpy as np
print(“MÉTODO DE LA BISECCIÓN”)
xi=float(input(“Ingrese el extremo izquierdo del intervalo:”))
xd=float(input(“Ingrese el extremo derecho del intervalo:”))
n=int(input(“Ingrese el numero de iteraciones:”))
fxi=round((e**-xi)-xi,6)
fxd=round((e**-xd)-xd,6)
if fxi*fxd>0:
print(“El intervalo ingresado no contiene la raiz”)
else:
print(“{:∧
10}{:∧
10}{:∧
10}{:∧
10}{:∧
10}{:∧
10}{:∧
10}{:∧
10} ”.format(
“Iter.”,“xi”,“xd”,“xr”,“fxi”,“fxd”,“fxr”,“ER %”))
for i in range(1,n):
xr=round((xi+xd)/2,6)
fxi=round(e**(-xi)-xi,6)
fxd=round(e**(-xd)-xd,6)
fxr=round(e**(-xr)-xr,6)
error=round(abs(((xr-xi)/xr)*100),6)
print(“{:∧
10}{:∧
10.5f}{:∧
10.5f}{:∧
10.5f}{:∧
10.5f}{:∧
10.5f}{:∧
10.5f}
{:∧
10.5f} .format( i+1,xi,xd,xr,fxi,fxd,fxr,error))
if fxi*fxr<0:
xd=xr
else:
xi=xr
print(“La raiz aproximada con”,i,“iteraciones es:”,xr)
Código en python :Método de la bisección
La sintáxis para redondear un número es:
round(número,cantidad de decimales)
• Si se desea redondear el valor de π a 6 decimales tenemos:
Código en python
UNSCH Pag. 36
2.1.2. Método de la falsa posición
El método de falsa posición es otra alternativa usado para la busqueda de raices y
encontrar una aproximación de la solución de una ecuación no lineal.
El método de la falsa posición consiste en unir los puntos extremos del interva-
lo(intervalo donde se encuentra la raiz), mediante una linea recta; y la intersección
de la recta con el eje “x” nos da una aproximación a la raiz de la ecuación no lineal,
tal como se muestra en la figura adjunta.
a
b
(a,f(a))
(b,f(b))
raiz real
Prim
era
Aproxim
ación
y=f(x)
(c,0)
Extremo
izquierdo
Extremo
derecho
Primera aproximación
a
b
(a,f(a))
(b,f(b))
raiz real
y=f(x)
(c,0)
Primera aproximación
a1
b1
(a1,f(a1))
(b1,f(b1))
raiz real
y=f(x)
(c1,0)
Segunda
Aproxim
ación
Extremo
derecho
Extremo
izquierdo
Segunda aproximación
a1
b1
(a1,f(a1))
(b1,f(b1))
raiz real
y=f(x)
(c1,0)
Segunda aproximación
Procedimiento para calcular la raiz aproximada:
El procedimiento para encontar la raiz xr mediante el método de la falsa posición
es:
Sea f(a).f(b) < 0 y consideremos la recta con extremos (a, f(a)) y (b, f(b)), en-
tonces su pendiente es:
m =
f(b) − f(a)
b − a
Pero como (c, 0) es punto interseccion de la recta con el eje “x”, entonces se tiene
tambien que:
m =
f(b) − 0
b − c
=
f(b)
b − c
UNSCH Pag. 37
Ahora igualando ambas pendientes tenemos:
f(b) − f(a)
b − a
=
f(b)
b − c
b − c =
f(b)(b − a)
f(b) − f(a)
c = b −
f(b)(b − a)
f(b) − f(a)
Haciendo c = xr, a = xi, b = xd tenemos que la raiz aproximada es:
xr = xd −
f(xd)(xd − xi)
f(xd) − f(xi)
Luego para encontrar el nuevo intervalo, se toma en cuenta el mismo procedimiento
que el método de bisección.
Procedimiento del método de falsa posición:
1. Buscar el intervalo [xi, xd] que encierran la raíz.(Esto se determina verificando
f(xi)f(xd) < 0 o mediante el método gráfico)
2. Una aproximación hacia la raíz se determina mediante:
xr = xd −
f(xd)(xd − xi)
f(xd) − f(xi)
3. Realizar las siguientes cálculos para determinar en que subintervalo se encuen-
tra la raiz.
◦ Si f(xi)f(xr) < 0, entonces la raiz está al lado izquierdo y el nuevo inter-
valo a comprobar es [xi, xr] y vuelva al paso 2.
◦ Si f(xr)f(xd) < 0, entonces la raiz está al lado derecho y el nuevo intervalo
a comprobar es [xr, xd] y vuelva al paso 2.
◦ Si f(xr)f(xi) = 0 o f(xr)f(xd) = 0, entonces la raiz es xi o xd y termina
el proceso.
UNSCH Pag. 38
Utilizar el método de la falsa posición para aproximar la raíz de la siguiente ecuación:
f(x) = e−x
− x = 0
Ejemplo 18
Solución
1) Primera iteración
◦ Busquemos un intervalo que contenga la
raiz: [0, 1]
◦ Sea xi = 0 ∧ xd = 1 =⇒ xr =?
◦ Haciendo los siguientes cálculos:
f(xi) = f(0) = 1
f(xd) = f(1) = −0.632121
Calculando xr
xr = 1 −
(−0.632121)(1 − 0)
−0.632121 − 1
xr = 0.612700
f(xr) = f(0,612700) = −0.070814
∴ El nuevo intervalo es: [0, 0.6127]
2) Segunda iteración
◦ El nuevo intervalo que contiene la raiz es:
[0, 0.6127]
◦ Sea xi = 0 ∧ xd = 0.6127 =⇒ xr =?
◦ Haciendo los siguientes cálculos:
f(xi) = f(0) = 1
f(xd) = f(0.6127) = −0.070814
Calculando xr
xr = 0.6127 −
(−0.070814)(0.612
−0.070814 −
xr = 0.572182
f(xd) = f(0.572182) = −0.007889
∴ El nuevo intervalo es: [0, 0.572182]
3) Tercera iteración
◦ El nuevo intervalo que contiene la raiz: [0, 0.572182]
◦ Sea xi = 0 ∧ xd = 0.572182 =⇒ xr =?
◦ Haciendo los siguientes cálculos:
f(xi) = f(0) = 1
f(xd) = f(0.572182) = −0.007889
Calculando xr
xr = 0.572182 −
(−0.007889)(0.572182 − 0)
−0.007889 − 1
xr = 0.567703
f(xr) = f(0.567703) = −0.000877
∴ El nuevo intervalo es: [0, 0.567703]
4) Cuarta iteración
◦ El nuevo intervalo intervalo que contiene la raiz: [0, 0.567703]
◦ Sea xi = 0 ∧ xd = 0.567703 =⇒ xr =?
UNSCH Pag. 39
◦ Haciendo los siguientes cálculos:
f(xi) = f(0) = 1
f(xd) = f(0.567703) = −0.000877
Calculando xr
xr = 0.567703 −
(−0.000877)(0.567703 − 0)
−0.000877 − 1
xr = 0.567206
f(xr) = f(0.567206) = −0.000098
∴ El nuevo intervalo es: [0, 0.567206]
5) Quinta iteración
◦ El nuevo intervalo intervalo que contiene la raiz: [0, 0.567206]
◦ Sea xi = 0 ∧ xd = 0.567206 =⇒ xr =?
◦ Haciendo los siguientes cálculos:
f(xi) = f(0) = 1
f(xd) = f(0.567206) = −0.000098
Calculando xr
xr = 0.567206 −
(−0.000098)(0.567206 − 0)
−0.000098 − 1
xr = 0.567150
f(xr) = f(0.567150) = −0.000011
∴ El nuevo intervalo es: [0, 0.567150]
6) Sexta iteración
◦ El nuevo intervalo intervalo que contiene la raiz: [0, 0.567150]
◦ Sea xi = 0 ∧ xd = 0.567150 =⇒ xr =?
◦ Haciendo los siguientes cálculos:
f(xi) = f(0) = 1
f(xd) = f(0.567150) = −0.000011
Calculando xr
xr = 0.567150 −
(−0.000011)(0.567150 − 0)
−0.000011 − 1
xr = 0.567144
f(xr) = f(0.567144) = −0.000001
∴ El nuevo intervalo es: [0, 0.567143]
UNSCH Pag. 40
N◦
xi xd xr f(xi) f(xd) f(xr) Er %.
1 0.000000 1.000000 0.612700 1.000000 -0.632121 -0.070814 63.212012
2 0.000000 0.612700 0.572182 1.000000 -0.070814 -0.007889 7.081313
3 0.000000 0.572182 0.567703 1.000000 -0.007889 -0.000877 0.788969
4 0.000000 0.567703 0.567206 1.000000 -0.000877 -0.000098 0.087622
5 0.000000 0.567206 0.567150 1.000000 -0.000098 -0.000011 0.009874
6 0.000000 0.567150 0.567144 1.000000 -0.000011 -0.000001 0.001058
7 0.000000 0.567144 0.567143 1.000000 -0.000001 0.000000 0.000176
8 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
9 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
10 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
11 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
12 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
13 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
14 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
15 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
16 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
17 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
18 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
19 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
20 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
21 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
22 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
23 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
24 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176
Tabla 2.3: Resumen del método de la falsa posición, para n=25
UNSCH Pag. 41
Inicio
Fin
x0, n
gx0=e""(-x0)i
dgx0=-e**(-x0)
| dgx0 |<1
V F
Desde i=1 hasta n
gx0=e**(-x0)
xr=gx0
x0=xr
xr
Diverge
Diagrama de flujo del método de la falsa posición
Código en python :Método de la falsa posición
UNSCH Pag. 42
Utilizar el método de bisección y de la falsa posición para aproximar la raíz de la
siguiente ecuación:
f(x) = x10
− 1 = 0
Aproximar a 6 cifras decimales.(Sugerencia: Realizar 25 iteraciones y buscar la raiz
en [0, 1.3])
Ejemplo 19
Solución
Método de Bisección
N◦
xi xd xr f(xi) f(xd) f(xr) Er %
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Tabla 2.4: Resumen del método de bisección
UNSCH Pag. 43
Método de Falsa Posición
N◦
xi xd xr f(xi) f(xd) f(xr) Er %
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Tabla 2.5: Resumen del método de falsa posición
UNSCH Pag. 44
Métodos Abiertos
En los métodos cerrados, la raíz se encuentra entre un límite inferior y otro superior.
Son métodos convergentes, ya que se acercan progresivamente a la raíz a medida
que crece el número de iteraciones.
Al contrario, los métodos abiertos se basan en fórmulas que requieren de un solo
valor de “x”, o de un par de ellos que no necesariamente encierran la raíz. A veces
divergen o se alejan de la raíz a medida que aumentan las iteraciones. Pero cuando
convergen en general lo hacen mucho más rápido que los métodos cerrados.
Entre dichos métodos abiertos, tenemos:
◦ Iteración de Punto Fijo
◦ Método de Newton-Raphson
◦ Método de la Secante
2.1.3. Método del punto fijo
Un punto fijo de una función g(x) es un número real P tal que g(P) = P.
Geométricamente significa que los puntos fijos de una función g(x) son los puntos
intersección de la curva de g(x) con la recta y = x.
Definición: Punto fijo
La función g(x) = x2
− 2, pues tiene dos puntos fijos; x = −1 y x = 2
◦ g(−1) = (−1)2
− 2 = −1 y g(2) = (2)2
− 2 = 2
Ejemplo 20
Puntos
fijos
UNSCH Pag. 45
La función g(x) = x − e1−x
(x − 1), tiene un punto fijo x = 1.
◦ g(1) = 1 − e0
(1 − 1) = 1
Ejemplo 21
Punto
fijo
import numpy as np
import matplotlib.pyplot as mpl
x=np.arange(-4,4,0.01)
y=x**2-2
y1=x
mpl.plot(x,y, color=“purple”, label=“y = x2
− 2”)
mpl.plot(x,y1, color=“red”, label=“y = x”)
mpl.xlabel(“Eje x”)
mpl.ylabel(“Eje y”)
mpl.title(“Gráfica de la función: y = x2
− 2 ∧ y = x”)
mpl.axhline(0, color=“black”)
mpl.axvline(0, color=“black”)
mpl.savefig(“grafica de e.png” ,dpi=100.0, bbox_inches=“tight”, pad_inches=0.5)
mpl.grid()
mpl.legend()
mpl.show()
Código en python :Gráfica de una función
UNSCH Pag. 46
Procedimiento para aplicar el método del punto fijo
Para hallar la raiz de la ecuación f(x) = 0, se debe tener en cuenta los siguientes
pasos:
1) Transformar algebraicamente f(x) = 0 a la forma:
x = g(x)
En el cual g(x) puede obtenerse de dos maneras:
◦ Sumar “x” a ambos lados de la ecuación f(x) = 0.
◦ Despejar “x” del término de primer grado de la ecuación.
2) Evaluar el criterio de la convergencia en el punto inicial:
(El criterio de convergencia consiste en que el valor absoluto de la pendiente de
g(x) es menor a la pendiente de la recta h(x) = x). Es decir:
|g (x0)| < 1
donde x0 es el punto fijo
3) Las aproximaciones de la raiz se obtienen evaluando en la siguiente fórmula
general:
xn+1 = g(xn)
◦ Una ecuacón lineal puede tener varias transformaciones (x = g(x)).
Por ejemplo:
De f(x) = e−x
− x = 0 podemos extraer las siguientes deducciones.
x = e−x
=⇒ g(x) = e−x
x = −ln(x) =⇒ g(x) = −ln(x)
De f(x) = 2x2
− x − 5 = 0 podemos extraer las siguientes deducciones.
x = 2x2
− 5 =⇒ g(x) = 2x2
− 5
x =
x + 5
2
=⇒ g(x) =
x + 5
2
x =
5
2x − 1
=⇒ g(x) =
5
2x − 1
◦ De las deducciones o transformaciones obtenidas, algunas de ellas pueden con-
verger o diverger de acuerdo al criterio de convergencia.
Nota
UNSCH Pag. 47
Interpretación geométrica del punto fijo: |g (x0)| < 1
x
0
Eje x
Eje y
Raiz
f1(x)=x
y=g(x)
Figura 2.3: Interpretación geométrica del punto fijo
A continuación se presentan los casos de convergencia y divergencia.
x
0
Eje x
Eje y
Raiz
f1(x)=x
y=g(x)
Convergencia Monotónica
x
0 Eje x
Eje y
Raiz
f1(x)=x
y=g(x)
Convergencia Oscilatoria
x
0
Eje x
Eje y
Raiz
f1(x)=x
y=g(x)
Divergencia Monotónica
x
0 Eje x
Eje y
Raiz
f1(x)=x
y=g(x)
Divergencia Oscilatoria
UNSCH Pag. 48
Aproxime la raiz de la siguiente ecuación:
f(x) = e−x
− x = 0
Aplicando el método del punto fijo.(El punto fijo es x0 = 0.57)
Ejemplo 22
Solución
De las deducciones obtenidas x = g(x), tenemos:
◦ Primera deducción: x = e−x
=⇒ g(x) = e−x
Evaluando el criterio de convergencia en el punto fijo x0 = 0.75
|g (x0)| < 1
| − e−x0
| < 1
| − e−0.57
| < 1
| − 0.57| < 1
0.57 < 1...Si cumple
Si la deducción obtenida cumple el criterio de convergencia entonces se acepta, caso
contrario se descarta.
◦ Segunda deducción: x = −ln(x) =⇒ g(x) = −ln(x)
Evaluando el criterio de convergencia en el punto fijo x0 = 0.75
|g (x0)| < 1
| −
1
x0
| < 1
| −
1
0.57
| < 1
| − 1.754386| < 1
1.754386 1...No cumple; por lo tanto se descarta
Realizando las iteraciones en la deducción que cumple el criterio de convergencia,
tenemos:
◦ Primera iteración: Para n = 0
x1 = g(x0)
x1 = g(0.57)
x1 = e−0.57
x1 = 0.565525
◦ Segunda iteración: Para n = 1
x2 = g(x1)
x2 = g(0.565525)
x2 = e−0.565525
x2 = 0.568062
UNSCH Pag. 49
◦ Tercera iteración: Para n = 2
x3 = g(x2)
x3 = g(0.568062)
x3 = e−0.568062
x3 = 0.566622
◦ Cuarta iteración: Para n = 3
x4 = g(x3)
x4 = g(0.566622)
x4 = e−0.566622
x4 = 0.567439
◦ Quinta iteración: Para n = 4
x5 = g(x4)
x5 = g(0.567439)
x5 = e−0.567439
x5 = 0.566976
◦ Sexta iteración: Para n = 5
x6 = g(x5)
x6 = g(0.566976)
x6 = e−0.566976
x6 = 0.567238
N◦
Itera. x0 xr Er = |
xactual
r − xant
r
xactual
r
| × 100 %.
1 0.570000 0.565525 0.791300
2 0.565525 0.568062 0.446606
3 0.568062 0.566622 0.254138
4 0.566622 0.567439 0.143980
5 0.567439 0.566976 0.081661
6 0.566976 0.567238 0.046189
7 0.567238 0.567090 0.026098
8 0.567090 0.567174 0.014810
9 0.567174 0.567126 0.008464
10 0.567126 0.567153 0.004761
11 0.567153 0.567138 0.002645
12 0.567138 0.567146 0.001411
13 0.567146 0.567142 0.000705
14 0.567142 0.567144 0.000353
15 0.567144 0.567143 0.000176
16 0.567143 0.567143 0.000000
17 0.567143 0.567143 0.000000
18 0.567143 0.567143 0.000000
19 0.567143 0.567143 0.000000
20 0.567143 0.567143 0.000000
21 0.567143 0.567143 0.000000
22 0.567143 0.567143 0.000000
23 0.567143 0.567143 0.000000
24 0.567143 0.567143 0.000000
Tabla 2.6: Resumen del método del punto fijo:x0 = 0.57
UNSCH Pag. 50
Inicio
Fin
x0, n
gx0=e""(-x0)i
dgx0=-e**(-x0)
| dgx0 |<1
V F
Desde i=1 hasta n
gx0=e**(-x0)
xr=gx0
x0=xr
xr
Diverge
Diagrama de flujo del método del punto fijo
Código en python :Método del punto fijo
UNSCH Pag. 51
Aplique el método del punto fijo para aproximar la raiz de la siguiente ecuación:
f(x) = 2x2
− x − 5 = 0; x0 = 2.16
Ejemplo 23
Solución
N◦
Itera. x0 xr Er = |
xactual
r − xant
r
xactual
r
| × 100 %.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Tabla 2.7: Resumen del método del punto fijo: x0 = 2.16
UNSCH Pag. 52
Aplique el método del punto fijo para aproximar la raiz de la siguiente ecuación:
f(x) = 2x2
− x − 5 = 0; x0 = −1.16
Ejemplo 24
Solución
N◦
Itera. x0 xr Er = |
xactual
r − xant
r
xactual
r
| × 100 %.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Tabla 2.8: Resumen del método del punto fijo: x0 = −1.16
UNSCH Pag. 53
2.1.4. Método de Newton Raphson
Es un método de búsqueda de raices y es el más utilizado, debido a su rápida
convergencia.
La métodología del método de Newton Raphson o solamente Newton consiste en:
Dado el valor inicial de la raiz x0, se puede trazar una recta tangente a la curva
y = f(x) desde el punto (x0, f(x0)), tal que al cortar al eje “x”, el punto x1
representa una aproximación mejorada de la raiz.
x
0 Eje x
Eje y
Raizverdadera
Valor
inicial
y=f(x)
x
0
Eje x
Eje y
x
1
Rectatangente
P
rim
e
ra
a
p
ro
x
im
a
ció
n
0(x , f(x ))0
Raizverdadera
y=f(x)
Luego a partir del punto (x1, f(x1)), se vuelve a trazar una nueva recta tangente,
tal que al cortar al eje “x”, se obtiene el punto x2 que representa una aproximación
mejorada de la raiz; y así sucesivamente hasta obtener una raiz muy próxima a la
raiz verdadera, tal como se muestra en la gráfica adjunta.
x
0
Eje x
Eje y
Raiz
y=f(x)
x
1
Rectatangente
x
2
0(x , f(x ))0
1(x , f(x ))1
x
0
Eje x
Eje y
x
1
Rectatangente
x
2
0(x , f(x ))0
1(x , f(x ))1
Raizverdadera
S
e
g
u
n
d
a
a
p
ro
x
im
a
ció
n
y=f(x)
Ecuación iterativa de Newton Raphson
Ahora relacionemos la raiz inicial x0 con la nueva aproximación mejorada x1; para
el cual la pendiente de la recta tangente que pasa por los puntos (x0, f(x0)) y (x1, 0))
está dada como:
m =
f(x0) − 0
x0 − x1
UNSCH Pag. 54
Y la pendiente de la curva y = f(x) en el punto (x0, f(x0)) tambien está dada como:
m = f (x0)
Por lo tanto igualando ambas pendientes, tenemos:
f (x0) =
f(x0)
x0 − x1
x0 − x1 =
f(x0)
f (x0)
x1 = x0 −
f(x0)
f (x0)
Por lo tanto, la fórmula recursiva de Newton Raphson es:
xn+1 = xn −
f(xn)
f (xn)
Sabemos que el método de Newton Raphson es el más utilizado en la mayoría de las
soluciones de ecuaciones no lineales debido a su rápida convergencia; pero tambien
resulta ineficiente en algunos casos; pues para que funcione correctamente debemos
buscar que el punto inicial x0 sea un punto fijo de la función o que se encuentre cerca
de la solución verdadera.
Una de las desventajas que presenta el método de Newton Raphson es que en cada
iteración se debe calcular f(x0) y f (x0); aunque no es inconveniente cuando f(x)
es una función polinómica y sencillas; pero en el caso para funciones complejas; se
propone un método alternativo que atenué está desventaja.
Nota
UNSCH Pag. 55
Aproxime la raiz de la siguiente función:
f(x) = e−x
− x
Aplicando el método de Newton Raphson, con punto inicial x0 = 0.
Ejemplo 25
Solución
Para aplicar la fórmula iterativa de Newton Raphson, es necesario calcular la deriva-
da de la función f(x) = e−x
− x.
f(x) = e−x
− x =⇒ f (x) = −e−x
− 1
◦ Primera iteración:Para n = 0 =⇒ x1 = x0 −
f(x0)
f (x0)
=?
x0 = 0 =⇒ f(x0) = f(0) = e−0
− 0 = 1
f (x0) = −e−x0
− 1 =⇒ f (0) = −e−0
− 1 = −2
Remplazando en la fórmula recursiva tenemos:
x1 = x0 −
f(x0)
f (x0)
x1 = 0 −
1
−2
x1 = 0.5
◦ Segunda iteración:Para n = 1 =⇒ x2 = x1 −
f(x1)
f (x1)
=?
x1 = 0.5 =⇒ f(x1) = f(0.5) = e−0.5
− 0.5 = 0.106531
f (x1) = −e−x1
− 1 =⇒ f (0.5) = −e−0.5
− 1 = −1.606531
Remplazando en la fórmula recursiva tenemos:
x2 = x1 −
f(x1)
f (x1)
x2 = 0,5 −
0.106531
−1.606531
x2 = 0.566311
UNSCH Pag. 56
◦ Tercera iteración:Para n = 2 =⇒ x3 = x2 −
f(x2)
f (x2)
=?
x2 = 0.566311 =⇒ f(x2) = f(0.566311) = e−0.566311
− 0.566311 = 0.001305
f (x2) = −e−x2
− 1 =⇒ f (0.566311) = −e−0.566311
− 1 = −1.567616
Remplazando en la fórmula recursiva tenemos:
x3 = x2 −
f(x2)
f (x2)
x3 = 0,566311 −
0.001305
−1.567616
x3 = 0.567143
◦ Cuarta iteración:Para n = 3 =⇒ x4 = x3 −
f(x3)
f (x3)
=?
x3 = 0.567143 =⇒ f(x3) = f(0.567143) = e−0.567143
− 0.567143 = 0.000000
f (x3) = −e−x3
− 1 =⇒ f (0.567143) = −e−0.567143
− 1 = −1.567143
Remplazando en la fórmula recursiva tenemos:
x4 = x3 −
f(x3)
f (x3)
x4 = 0,567143 −
0.000000
−1.567143
x4 = 0.567143
N◦
Itera. x0 xr Er = |
xactual
r − xant
r
xactual
r
| × 100 %.
1 0.000000 0.500000 100.000000
2 0.500000 0.566311 11.709290
3 0.566311 0.567143 0.146700
4 0.567143 0.567143 0.000000
5 0.567143 0.567143 0.000000
6 0.567143 0.567143 0.000000
7 0.567143 0.567143 0.000000
8 0.567143 0.567143 0.000000
9 0.567143 0.567143 0.000000
10 0.567143 0.567143 0.000000
Tabla 2.9: Resumen del método de Newton Raphson:x0 = 0
UNSCH Pag. 57
Inicio
Fin
x0, n
dfx0=-e**(-x0)-1
dfx0>0 o
dfx0<0
VF
Desde i=1 hasta n
fx0=e**(-x0)-x0
xr=x0-(fx0/dfx0)
x0=xr
xr
Diverge
dfx0=-e**(-x0)-1
Diagrama de flujo del método de Newton Raphson
from math import *
import numpy as np
print(“MÈTODO DEL NEWTON RAPHSON”)
x0=float(input(“Ingrese el punto inicial:”))
n=int(input(“Ingrese el nùmero de interaciones:”))
dfx0=round((-e**(-x0)-1),6)
if dfx0>0 or dfx0<0 :
print(“{:∧
10}{:∧
10}{:∧
10}{:∧
10}”.format(“Iter.”,“xi”,“xr”,“ER %”))
for i in range (n):
fx0=e**(-x0)-(x0)
dfx0=-e**(-x0)-1
xr=round((x0-(fx0/dfx0)),6)
error=(abs((xr-x0)/(xr))*100)
print(“{:∧
10}{:∧
10.6f}{:∧
10.6f}{:∧
10.6f}”.format(i+1,x0,xr,error))
x0=xr
else :
print(“El método diverge; ingrese otro punto inicial”)
Código en python :Método de Newton Raphson
UNSCH Pag. 58
Aproxime la raiz de la siguiente función:
f(x) = x10
− 1
Aplicando el método de Newton Raphson, con punto inicial x0 = 0,5.
Ejemplo 26
Solución
N◦
Itera. x0 xr Er = |
xactual
r − xant
r
xactual
r
| × 100 %.
1
2
3
4
5
6
7
8
9
10
Tabla 2.10: Resumen del método de Newton Raphson:x0 = 0.5
UNSCH Pag. 59
2.1.5. Método de la secante
El método de la secante, es el método alternativo del método de Newton Raphson;
en el cual la derivada de la fórmula de Newton Raphson se aproxima mediante
diferencias divididas.
Interpetración Geométrica del método de la secante
Para realizar el proceso iterativo del método de la secante, es necesario conocer dos
puntos iniciales x0 y x1(puntos cercanos a la raíz, no necesariamente que encierren
a la raiz).
Primer paso:Trazar una recta secante por los puntos (x0, f(x0)) y (x1, f(x1)); y el
punto de intersección de la recta secante con el eje “x”, es la raíz aproximada.
Eje y
x
0
x
1
y=f(x)
Eje x
Raiz
verdadera
f(x )0
f(x )1
Primera iteración
Eje y
x
0
x
1
y=f(x)
Eje x
Raiz
verdadera
f(x )0
f(x )1
Raiz
aproximada
x
2
Primera iteración
Segundo paso:Trazar nuevamente una recta secante por los puntos (x1, f(x1)) y
(x2, f(x2)); y el punto de intersección de la recta secante con el eje “x”, es la raíz
aproximada.
Eje y
x
1
y=f(x)
Eje x
Raiz
verdadera
f(x )2
f(x )1
x
2
Segunda iteración
Eje y
x
1
y=f(x)
Eje x
Raiz
verdadera
f(x )2
f(x )1
Raiz
aproximada
x
2
x
3
Segunda iteración
Y este proceso continua hasta encontrar una buena aproximación de la raíz. Del
proceso iterativo dado, se obtiene que la fórmula de diferencias divididas esta dada
por:
f (xi) ≈
f(xi) − f(xi−1)
xi − xi−1
(2.1)
UNSCH Pag. 60
Remplazando la fórmula (2.1) en la fórmula recursiva de Newton Raphson, tenemos:
xn+1 = xn −
f(xn)
f (xn)
xn+1 = xn −
f(xn)
f(xn) − f(xn−1)
xn − xn−1
xn+1 = xn −
f(xn)(xn − xn−1)
f(xn) − f(xn−1)
La fórmula recursiva del método de la secante está dada por:
xn+1 = xn −
f(xn)(xn − xn−1)
f(xn) − f(xn−1)
; ∀n ≥ 1
Aproxime la raiz de la siguiente función:
f(x) = e−x
− x
Aplicando el método de la secante, con puntos iniciales x0 = 0 y x1 = 1.
Ejemplo 27
Solución
Para aplicar el método de la secante es necesario tener 2 puntos iniciales x0 y x1,
luego remplazar en su fórmula recursiva.
◦ Primera iteración:Para n = 1 =⇒ x2 = x1 −
f(x1)(x1 − x0)
f(x1) − f(x0)
=?
x0 = 0 =⇒ f(x0) = f(0) = e−0
− 0 = 1
x1 = 1 =⇒ f(x1) = f(1) = e−1
− 1 = −0.632121
Remplazando en la fórmula recursiva tenemos:
x2 = 1 −
− 0.632121(1 − 0)
−0.632121 − 1
x2 = 0.612700
◦ Segunda iteración:Para n = 2 =⇒ x3 = x2 −
f(x2)(x2 − x1)
f(x2) − f(x1)
=?
x1 = 1 =⇒ f(x1) = f(1) = e−1
− 1 = −0.632121
x2 = 0.612700 =⇒ f(x2) = f(0.612700) = e−0.612700
− 0.612700 = −0.070814
Remplazando en la fórmula recursiva tenemos:
x3 = 0.612700 −
− 0.070814(0.612700 − 1)
−0.070814 − (−0.632121)
x3 = 0.563839
UNSCH Pag. 61
◦ Tercera iteración:Para n = 3 =⇒ x4 = x3 −
f(x3)(x3 − x2)
f(x3) − f(x2)
=?
x2 = 0.612700 =⇒ f(x2) = f(0.612700) = e−0.612700
− 0.612700 = −0.070814
x3 = 0.563839 =⇒ f(x3) = f(0.563839) = e−0.563839
− 0.563839 = 0.005181
Remplazando en la fórmula recursiva tenemos:
x4 = 0.563839 −
0.005181(0.563839 − 0.612700)
0.005181 − (−0.070814)
x4 = 0.567170
◦ Cuarta iteración:Para n = 4 =⇒ x5 = x4 −
f(x4)(x4 − x3)
f(x4) − f(x3)
=?
x3 = 0.563839 =⇒ f(x3) = f(0.563839) = e−0.563839
− 0.563839 = 0.005181
x4 = 0.567170 =⇒ f(x4) = f(0.567170) = e−0.567170
− 0.567170 = −0.000042
Remplazando en la fórmula recursiva tenemos:
x5 = 0.567170 −
− 0.000042(0.567170 − 0.563839)
−0.000042 − 0.005181
x5 = 0.567143
◦ Quinta iteración:Para n = 5 =⇒ x6 = x5 −
f(x5)(x5 − x4)
f(x5) − f(x4)
=?
x4 = 0.567170 =⇒ f(x4) = f(0.567170) = e−0.567170
− 0.567170 = −0.000042
x5 = 0.567143 =⇒ f(x5) = f(0.567143) = e−0.567143
− 0.567143 = 0.000000
Remplazando en la fórmula recursiva tenemos:
x5 = 0.567143 − 0
x5 = 0.567143
UNSCH Pag. 62
N◦
Itera. x0 x1 xn = xr Er = |
xactual
r − xant
r
xactual
r
| × 100 %.
1 0.000000 1.000000 0.612700 63.212012
2 1.000000 0.612700 0.563839 8.665772
3 0.612700 0.563839 0.567170 0.587302
4 0.563839 0.567170 0.567143 0.004761
5 0.567170 0.567143 0.567143 0.000000
6 0.567143 0.567143 0.567143 0.000000
7 0.567143 0.567143 0.567143 0.000000
8 0.567143 0.567143 0.567143 0.000000
9 0.567143 0.567143 0.567143 0.000000
10 0.567143 0.567143 0.567143 0.000000
Tabla 2.11: Resumen del método de la secante:x0 = 0 y x1 = 1
xr
Inicio
Fin
x0, x1, n
Desde i=1 hasta n
fx0=e**(-x0)-x0
fx1=e**(-x1)-x1
xr=x1-(fx1(x1-x0)/(fx1-fx0))
x0=x1
x1=xr
Diagrama de flujo del método de la secante
UNSCH Pag. 63
from math import *
from math import *
import numpy as np
print(“MÈTODO DE LA SECANTE”)
x0=float(input(“Ingrese el primer punto inicial:”))
x1=float(input(“Ingrese el segundo punto inicial:”))
n=int(input(“Ingrese el nùmero de interaciones:”))
print(“{:∧
10}{:∧
10}{:∧
10}{:∧
10}{:∧
10}”.format(“Iter.”,“x0”,“x1”,“xr”,“ER %”))
for i in range (n):
fx0=round(e**(-x0)-(x0),6)
fx1=round(e**(-x1)-(x1),6)
xr=round((x1-((fx1*(x1-x0))/((fx1-fx0)))),6)
error=round((abs((xr-x1)/(xr))*100),6)
print(“{:∧
10}{:∧
10.6f}{:∧
10.6f}{:∧
10.6f}{:∧
10.6f}”.format(i+1,x0,x1,
xr,error))
x0=x1
x1=xr
print(“La raiz aproximada es:”,xr)
Código en python :Método de la secante
◦ El método de la secante es un mtodo alternativo del método de Newton Raphson.
◦ Los métodos abiertos son más utilizados que los método cerrados.
◦ Para que los métodos convergan es necesario que los puntos iniciales esten cer-
cados a la raiz
Nota
UNSCH Pag. 64
Aproxime la raiz de la siguiente función:
f(x) = x10
− 1
Aplicando el método de la secante, con punto inicial x0 = 0.5 y x1 = 0.8.
Ejemplo 28
Solución
N◦
Itera. x0 x1 xn = xr Er = |
xactual
r − xant
r
xactual
r
| × 100 %.
1
2
3
4
5
6
7
8
9
10
Tabla 2.12: Resumen del método de la secante:x0 = 0.5 y x1 = 0.8
UNSCH Pag. 65

Más contenido relacionado

La actualidad más candente

Método del punto fijo
Método del punto fijoMétodo del punto fijo
Método del punto fijoKike Prieto
 
MéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto FijoMéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto Fijolisset neyra
 
Tarea ejercicios 2 mecanica de fluidos 2
Tarea ejercicios 2 mecanica de fluidos 2Tarea ejercicios 2 mecanica de fluidos 2
Tarea ejercicios 2 mecanica de fluidos 2egardo83
 
Método de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosMétodo de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosTensor
 
264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-ppt
264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-ppt264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-ppt
264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-pptAndrea del Pilar Narvaez Ochoa
 
427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2fghffffg
 
Aplicaciones de ecuaciones diferenciales en ingeniería civil
Aplicaciones de ecuaciones diferenciales en ingeniería civil Aplicaciones de ecuaciones diferenciales en ingeniería civil
Aplicaciones de ecuaciones diferenciales en ingeniería civil Joe Arroyo Suárez
 
Badillo riosyortizdelaluz
Badillo riosyortizdelaluzBadillo riosyortizdelaluz
Badillo riosyortizdelaluzVivi LeFlo
 
Metodos numericos 5
Metodos numericos 5Metodos numericos 5
Metodos numericos 5monica
 
Metodos numericos ing electrica
Metodos numericos ing electricaMetodos numericos ing electrica
Metodos numericos ing electricaJavier Velasco
 
Interpolación método de Lagrange
Interpolación método de LagrangeInterpolación método de Lagrange
Interpolación método de LagrangeKike Prieto
 
Métodos numéricos - Interpolación
Métodos numéricos - InterpolaciónMétodos numéricos - Interpolación
Métodos numéricos - InterpolaciónDavid A. Baxin López
 
Introduccion metodo secante en excel
Introduccion metodo secante en excelIntroduccion metodo secante en excel
Introduccion metodo secante en excelJeimer Jimenez
 
Integral definida mapa conceptual
Integral definida mapa conceptualIntegral definida mapa conceptual
Integral definida mapa conceptualJose Miguel Andrade
 

La actualidad más candente (20)

Método del punto fijo
Método del punto fijoMétodo del punto fijo
Método del punto fijo
 
MéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto FijoMéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto Fijo
 
Interpolación, Investigación
Interpolación, InvestigaciónInterpolación, Investigación
Interpolación, Investigación
 
Tarea ejercicios 2 mecanica de fluidos 2
Tarea ejercicios 2 mecanica de fluidos 2Tarea ejercicios 2 mecanica de fluidos 2
Tarea ejercicios 2 mecanica de fluidos 2
 
Método de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosMétodo de newton raphson Metodos Numericos
Método de newton raphson Metodos Numericos
 
264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-ppt
264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-ppt264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-ppt
264768075 fuerzas-sobre-superficies-planas-sumergidas-final-1-1-ppt
 
427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2
 
Aplicaciones de ecuaciones diferenciales en ingeniería civil
Aplicaciones de ecuaciones diferenciales en ingeniería civil Aplicaciones de ecuaciones diferenciales en ingeniería civil
Aplicaciones de ecuaciones diferenciales en ingeniería civil
 
Newton raphson
Newton raphsonNewton raphson
Newton raphson
 
Newton Raphson-ejercicios resueltos.
Newton Raphson-ejercicios resueltos.Newton Raphson-ejercicios resueltos.
Newton Raphson-ejercicios resueltos.
 
Badillo riosyortizdelaluz
Badillo riosyortizdelaluzBadillo riosyortizdelaluz
Badillo riosyortizdelaluz
 
Metodos numericos 5
Metodos numericos 5Metodos numericos 5
Metodos numericos 5
 
Metodos numericos ing electrica
Metodos numericos ing electricaMetodos numericos ing electrica
Metodos numericos ing electrica
 
Interpolación método de Lagrange
Interpolación método de LagrangeInterpolación método de Lagrange
Interpolación método de Lagrange
 
Métodos numéricos - Interpolación
Métodos numéricos - InterpolaciónMétodos numéricos - Interpolación
Métodos numéricos - Interpolación
 
Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
 
Introduccion metodo secante en excel
Introduccion metodo secante en excelIntroduccion metodo secante en excel
Introduccion metodo secante en excel
 
Interpolacion en el Analisi Numerico.
Interpolacion en el Analisi Numerico.Interpolacion en el Analisi Numerico.
Interpolacion en el Analisi Numerico.
 
Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferenciales Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferenciales
 
Integral definida mapa conceptual
Integral definida mapa conceptualIntegral definida mapa conceptual
Integral definida mapa conceptual
 

Similar a Python

Programación lineal (José Manuel Gómez Vega).pdf
Programación lineal (José Manuel Gómez Vega).pdfProgramación lineal (José Manuel Gómez Vega).pdf
Programación lineal (José Manuel Gómez Vega).pdfJosé Manuel Gómez Vega
 
Matematicas cuaderno Cálculo Númerico
Matematicas cuaderno Cálculo NúmericoMatematicas cuaderno Cálculo Númerico
Matematicas cuaderno Cálculo NúmericoJosé De Escandon
 
1.introduccion analisis
1.introduccion analisis1.introduccion analisis
1.introduccion analisisrjvillon
 
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdfINSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdfJeancarlosPatalasanc
 
Librodeinvestigacion francisco-chediak
Librodeinvestigacion francisco-chediakLibrodeinvestigacion francisco-chediak
Librodeinvestigacion francisco-chediakjhonn Fuentes
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmosarmando_franco
 
Desarrolló de habilidades de pensamiento
Desarrolló de habilidades de pensamientoDesarrolló de habilidades de pensamiento
Desarrolló de habilidades de pensamientoSebastinRamos6
 
Teaching tool for searching algorithms in artificial intelligence
Teaching tool for searching algorithms in artificial intelligenceTeaching tool for searching algorithms in artificial intelligence
Teaching tool for searching algorithms in artificial intelligenceJosé Carlos Martínez Velázquez
 
Diseño estructurado de algoritmos
Diseño estructurado de algoritmosDiseño estructurado de algoritmos
Diseño estructurado de algoritmosGalo Fabara Vargas
 

Similar a Python (20)

Antologia de metodos numericos isc
Antologia de metodos numericos iscAntologia de metodos numericos isc
Antologia de metodos numericos isc
 
Mn teoria 2010
Mn teoria 2010Mn teoria 2010
Mn teoria 2010
 
Erasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 anErasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 an
 
Erasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 anErasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 an
 
Programación lineal (José Manuel Gómez Vega).pdf
Programación lineal (José Manuel Gómez Vega).pdfProgramación lineal (José Manuel Gómez Vega).pdf
Programación lineal (José Manuel Gómez Vega).pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Matematicas cuaderno Cálculo Númerico
Matematicas cuaderno Cálculo NúmericoMatematicas cuaderno Cálculo Númerico
Matematicas cuaderno Cálculo Númerico
 
traduccion.docx
traduccion.docxtraduccion.docx
traduccion.docx
 
1.introduccion analisis
1.introduccion analisis1.introduccion analisis
1.introduccion analisis
 
Num complejos
Num complejosNum complejos
Num complejos
 
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdfINSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
 
Librodeinvestigacion francisco-chediak
Librodeinvestigacion francisco-chediakLibrodeinvestigacion francisco-chediak
Librodeinvestigacion francisco-chediak
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Desarrolló de habilidades de pensamiento
Desarrolló de habilidades de pensamientoDesarrolló de habilidades de pensamiento
Desarrolló de habilidades de pensamiento
 
Teaching tool for searching algorithms in artificial intelligence
Teaching tool for searching algorithms in artificial intelligenceTeaching tool for searching algorithms in artificial intelligence
Teaching tool for searching algorithms in artificial intelligence
 
Bases de datos
Bases  de datosBases  de datos
Bases de datos
 
Diseño estructurado de algoritmos
Diseño estructurado de algoritmosDiseño estructurado de algoritmos
Diseño estructurado de algoritmos
 
yorneis parte II papers
yorneis parte II papersyorneis parte II papers
yorneis parte II papers
 
Tutorial_Mathematica.pdf
Tutorial_Mathematica.pdfTutorial_Mathematica.pdf
Tutorial_Mathematica.pdf
 

Último

ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENSLuisLobatoingaruca
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 

Último (20)

ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 

Python

  • 2. Índice general Capítulo 1. Introducción al curso Página 4 1.1. Introducción a los métodos numéricos . . . . . . . . . . . . . . . . . . . . . . 5 1.2. Instalación de python con Anaconda . . . . . . . . . . . . . . . . . . . . . . . 11 1.2.1. Instalación de Anaconda Distribution . . . . . . . . . . . . . . . . . . 11 1.2.2. Abriendo Anaconda Navigator . . . . . . . . . . . . . . . . . . . . . . 14 1.2.3. Entorno de Python mediante Jupyter . . . . . . . . . . . . . . . . . . . 15 1.2.4. Programación en python . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.2.5. Cargar librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.3. Teoría de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.3.1. Formas de calcular el error . . . . . . . . . . . . . . . . . . . . . . . . 25 Capítulo 2. Ecuaciones no lineales Página 30 2.1. Métodos de solución de una ecuación no lineal . . . . . . . . . . . . . . . . . 32 2.1.1. Método de la bisección . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.1.2. Método de la falsa posición . . . . . . . . . . . . . . . . . . . . . . . 37 2.1.3. Método del punto fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.1.4. Método de Newton Raphson . . . . . . . . . . . . . . . . . . . . . . . 54 2.1.5. Método de la secante . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 UNSCH Pag. 1
  • 3. INTRODUCCIÓN La matemática es una de las ciencias que ha preocupado y sorprendido al hombre por su exactitud y complejidad; por ello este manual de trabajo está dirigido a los estudiantes de “Ingeniería Agrícola”- UNSCH, con el propósito de encaminar su comprensión de la misma en cuanto a la programación de algoritmos que permitan la simulación de un problema real mediante un modelo matematico, haciendo uso del computador. Todos los fenónemos naturales o artificiales estan representados por una ecuación matemática llamado modelo matemático, que en algunos casos no es posible resolverlo analíticamente por ello es necesario el uso de los ´´Métodos Numéricos” Es en esta etapa de su carrera es donde el estudiante le encuentra sentido a la matemática mediante la simulación matemática de los fenómenos reales que puede observar en el medio donde vive y descubrir el propósito de la existencia de la misma y su estudio. En el Capítulo I, se expone el fundamento teórico y práctico de la teoría de errores y los métodos de solución de una ecuación algebraica no lineal, en el Capítulo II, se expone la explicación de la interpolación y ajuste de curvas, en el Capítulo III, se expone, la Solución de las ecuaciones diferenciales y en el Capítulo IV, se expone, la Resolución y métodos para solución de sistema de ecuaciones lineales En este manual hemos elegido Python V. 3.7.3 por tres razones. En primer lugar, Python es fácil de aprender. Hoy en día Python es el lenguaje preferido para introducir a los estudiantes univer- sitarios en la programación. Si tienes experiencia en programación, pero no tienes experiencia con Python, comprenderás Python muy rápidamente. Por otro lado, Python es un lenguaje de programación que se usa en muchos casos en el mundo, el cual se identifica como un lenguaje de programación de alto nivel, razón por la que es más sencillo de aprender y con la ventaja de ser de código abierto. En segundo lugar, Python ofrece muchas prestaciones. Python es lenguaje de programación muy general,y sobresale en la manipulación de datos, programación de red y bases de datos. Por último, Python contiene un gran conjunto de librerías para ciencia de los datos que puedes utilizar. MS.c José Carlos Juárez Pulache
  • 4. OBJE TIVOS Objetivos Generales: • Realizar una simulación numérica que nos permita resolver un modelo matemático basado en ecuaciones no lineales, ecuaciones diferenciales o sistemas de ecuaciones lineales, utilizando un software libre. Objetivos Específicos: Los objetivos al finalizar el curso son: • Resolver numericamente una ecuación algebraíca no lineal. • Encntrar un polinomio interpolante que se ajuste a un conjunto de datos. • Aprender a usar y programar en “Python”, un sotfware libre para todos.
  • 5. INTRODUCCIÓN AL CURSO Capítulo 1 MÉTODOS NUMÉRICOS PARA LA INVESTIGACIÓN
  • 6. 1.1 Introducción a los métodos numéricos Todos los fenómenos naturales o artificiales se relacionan con la matemática; la cual permite un conocimiento más profundo del fenómeno, así como de su evolución futura. La ciencia y la tecnología describen los fenómenos naturales o artificiales mediante modelos matemáticos. La matemática aplicada es la rama de las matemáticas que se dedica a buscar y aplicar las herramientas más adecuadas a los problemas basados en estos modelos. Desafortunadamente, no siempre es posible aplicar métodos analíticos clásicos por diferentes razones: No se adecúan al modelo concreto. Su aplicación resulta excesivamente compleja. La solución formal es tan complicada que hace imposible cualquier interpretación poste- rior. Simplemente no existen métodos analíticos capaces de proporcionar soluciones al problema. En estos casos son útiles las técnicas numéricas, que mediante una labor de cálculo más o menos intensa, conducen a soluciones aproximadas que son siempre numérica. UNSCH Pag. 5
  • 7. Por ello en la actualidad los métodos numéricos han sido desarrollados con el objetivo de resolver problemas matemáticos cuya solución es difícil o imposible de obtener por medio de los procedimientos tradicionales Para desarrollar el problema matemático(modelo matemático); es necesario la utilidad de un ordenador(computadora) con el software de programación adecuado. Sin ordenador Con ordenador ¿Qué es un método numérico? Es una técnica o procedimiento a mediante el cual es posible obtener de manera aproxi- mada la solución de ciertos problemas realizando operaciones aritméticas elementales, cálculo de funciones, lógica proposicional, etc. a El procedimiento consiste en una lista finita de instrucciones precisas que especifican una secuencia de operaciones algebraicas y lógicas conocida como algoritmo, que producen o bien una aproximación de la solución del problema o bien un mensaje Definición: Para hallar la solución numérica de un modelo matemático es necesario utilizar diagramas de flujo 1 los cuales nos facilitarán el proceso de la programación. Los diagramas de flujo emplean figuras geométricas y flechas, cada una de las cuales represen- tan un determinado paso u operación del algoritmo.2 1 Diagrama de flujo. Es una representación gráfica de un algoritmo. 2 Algoritmo. Es un conjunto ordenado y finito de operaciones simples a través del cual podemos hallar la solución a un problema UNSCH Pag. 6
  • 8. Simbolo Nombre Función Terminal Representa el inicio o el final de un programa. Lineas de flujo Representan el flujo de la lógica. Los arcos en la flecha horizontal indican que ésta pasa sobre las líneas de flujo verticales y no se conecta con ellas. Proceso Representa cálculos o manipulación de datos. Entrada/Salida Representa entrada o salida de datos e informa- ción Decisión Representa una comparación, una pregunta o una decisión que determina los caminos alternativos a seguir. Unión Representa la confluencia de líneas de flujo. Tabla 1.1: Simbolos usados en el diagrama de flujo Ejemplos de diagramas de flujo Condición Bloque Verdadero Verdadero Estructura para una alternativa Pseudocódigo: if condición: Bloque Verdadero Condición Bloque Falso Bloque Verdadero Falso Verdadero Estructura para dos alternativas Pseudocódigo: if condición: Bloque Verdadero else: Bloque Falso UNSCH Pag. 7
  • 9. Condición 1 Bloque 1 Falso Verdadero Bloque 2 Bloque 3Bloque 4 Verdadero Verdadero Falso Falso Condición 2 Condición 3 Estructura para varias alternativas Pseudocódigo: if condición 1: Bloque 1 elif condición 2: Bloque 2 elif condición 3: Bloque 3 else: Bloque 4 Hacer un diagrama de flujo, pseudocódigo que compare 2 números cualsquiera. Ejemplo 1 inicio ingresar a=b a es igual a b V F end a>b F V 2 números a,b a es menor que b a es mayorr que b Diagrama de flujo Pseudocódigo: Inicio del proceso Ingrese dos números: “a y b” Si se cumple que a = b entonces: Imprimir: “a es igual a b” Caso contrario: Si se cumple que a > b: Imprimir: “a es mayor que b” Caso contrario: Imprimir: “a es menor que b” Fin del proceso UNSCH Pag. 8
  • 10. Hacer un diagrama de flujo, pseudocódigo para resolver la siguiente ecuación cuadrática ax2 + bx + c = 0 Ejemplo 2 inicio ingresar a,b y c a=0 x1=-c/b x2=-c/b x1=(-b+sqrt(det))/2a x2=(-b-sqrt(det))/2a det=b -4ac 2 tiene 2 raices complejas y conjugadas mostrar x1, x2 V F end det<0 F V Pseudocódigo: Inicio del proceso Ingrese “a,b y c” Si se cumple que a = 0 entonces: x1 = −c/b x2 = −c/b Caso contrario: Calcule el determinante det=b2 − 4ac Si se cumple que det> 0 entonces: x1 = (−b + √ b2 − 4ac)/2a x2 = (−b − √ b2 − 4ac)/2a Caso contrario: Imprimir “Tiene 2 raices com- plejas y conjugadas” Imprimir las raices x1 y x2 Fin del proceso En el lenguaje de programación existen sentencias condicionales y de repetición. 1. Sentencias condicionales if elif else 2. Sentencias de repetición for while Nota UNSCH Pag. 9
  • 11. Hacer un diagrama de flujo, pseudocódigo para ordenar tres números reales de menor a mayor. Ejemplo 3 Solución Solución UNSCH Pag. 10
  • 12. 1.2 Instalación de python con Anaconda ¿Qué es Anaconda? Anaconda es una distribución de Python que contiene los paquetes más usados en temas de ciencia, matemáticas o ingeniería como: NumPy, SciPy o Matplotlib, etc. Se distribuye bajo licencia BSD de tres cláusulas así que se considera un software libre. 1.2.1. Instalación de Anaconda Distribution Para instalar Anaconda Distribution, de una manera sencilla, debemos tener en cuenta los pasos siguientes: Primer paso: Descargar Anaconda Segundo paso: Elige la versión de python 2.7 o 3.7 (Recomendamos 3.7) Tercer paso: Elegir instalador grafico de 64 bits o 32 bits(de acuerdo a su computador) Primer paso Primer paso Segundo paso Tercer paso UNSCH Pag. 11
  • 13. Una vez descargado Anaconda, siga los siguientes pasos: Cuarto paso: Dar click en ejecutar. Quinto paso: Aceptar la licencia de fabricación. Sexto paso: Instalar el producto para usted (Just Me (recommended)). Séptimo paso: Elegir la ruta de instalación Octavo paso: Agregar Anaconda a mi variable de entorno PATH Noveno paso: Configurando la instalación. Click Cuarto paso Click Cuarto paso Click Quinto paso Click Sexto paso UNSCH Pag. 12
  • 14. Click Séptimo paso Octavo paso Click Octavo paso Noveno paso Click Noveno paso Click Noveno paso UNSCH Pag. 13
  • 15. 1.2.2. Abriendo Anaconda Navigator Mediante el buscador de su PC, abrir Anaconda Navigator; siguiendo los siguientes pasos. CLICK Primer paso CLICK Segundo paso Tercer paso CLICK Cuarto paso CLICK Quinto paso Sexto paso UNSCH Pag. 14
  • 16. 1.2.3. Entorno de Python mediante Jupyter ¿Qué es python? Python es un lenguaje de programación interpretado 3 de tipado dinámico cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Características Interpretado: Se ejecuta sin necesidad de ser procesado por el compilador y se detectan los errores en tiempo de ejecución. Tipado dinámico: Las variables se comprueban en tiempo de ejecución. Multiplataforma: disponible para plataformas de Windows, Linux o MAC. Multiparadigma: Soporta programación funcional, programación imperativa y progra- mación orientada a objetos. Python, es el tercer lenguaje de programación más popular del mundo, y ha tenido un rápido crecimiento durante los últimos años. ¿Porqué utilizar python? Porque permite resolver problemas en menos tiempo y con menos código. Esta es precisamente una de las razones por las que empresas como Google, Dropbox o Facebook lo utilizan. Es un lenguaje multipropósito utilizado para resolver todo tipo de tareas como: Análisis de datos Inteligencia Artificial Aprendizaje automático Deep Learning Machine Learning Desartollo Web 3 Normalmente los lenguajes de programación se pueden agrupar en Interpretados y Compilados según la forma en la que son traducidos. Imaginate que nuestro computador trabaja en código binario y sería muy difícil programar todo en unos y ceros, además de que nos tardaríamos mucho. Por eso cuando nosotros escribimos un código en realidad lo que estamos haciendo es hablar un lenguaje más fácil de comprender para nosotros y que luego será traducido a lenguaje de máquina que es lo que puede enten- der el procesador. Entonces, a la forma como se realiza esta traducción es lo que los agrupa en Interpretados o Compilados. UNSCH Pag. 15
  • 17. ¿Como funciona python? Para trabajar en el entorno de python, debe abrir un cuaderno de python y guardarlo con el nombre que el usuario desea. Lo puede guardar de 2 maneras, tal como se muestra en las gráficas siguientes. Primero: Dando click en file y seleccionando Guardar como Segundo: Dando doble click en Untitled y escribiendo el nombre que Ud. desea Primero Segundo Operaciones Aritméticas En el cuaderno de python para ejecutar las operaciones; se hace presionando las teclas Shift + Enter simultáneamente o dando click en Run. Y se usa el simbolo (#) para hacer comentrios en cada fila del cuaderno. CHIFT + ENTER Cuaderno de python UNSCH Pag. 16
  • 18. 1.2.4. Programación en python En la programación con python, existen 2 comandos muy importantes que permiten ingresar datos por teclado y mostrar datos en pantalla. input print input(“Ingrese un número:”) input Para realizar posteriores operaciones con los datos ingresados, es necesario guardarlos en una variable. Además tambien es necesario declarar el tipo de variable, ya sea de tipo entero (int) o real (float) a=input(“Ingrese un número:”) a=int(input(“Ingrese un número:”)) a=float(input(“Ingrese un número:”)) input print(“La solución es:”) print Calcule la suma de dos números enteros Ejemplo 4 a=int(input(“Ingrese el primer número”)) b=int(input(“Ingrese el segundo número”)) S=a+b print(“La suma es:”,S) Solución Calcule el área de un triángulo Ejemplo 5 b=float(input(“Ingrese la base”)) h=float(input(“Ingrese la altura”)) Area=(b*h)/2 print(“El área es:”,Area) Solución UNSCH Pag. 17
  • 19. Sentencias condicionales La estructura de control if ... else ... permite que un programa ejecute unas instruc- ciones cuando se cumple una condición y otras instrucciones cuando no se cumple esa condición. La sintaxis es: if condición: instrucción 1 else: instrucción 2 if...else... Hacer un programa para comparar 2 números enteros Ejemplo 6 a > bFalso Verdadero Inicio a es mayor que b a es menor que b Fin Ingrese a y b a=int(input(“Ingrese el primer número”)) b=int(input(“Ingrese el segundo número”)) if a>b: print(“a es mayor que b”) else: print(“a es menor que b”) Solución Hacer un programa para determinar si un número es par Ejemplo 7 resto=0Falso Verdadero Inicio El número es par Fin Ingrese a El número es impar resto=a/2 a=int(input(“Ingrese un número”)) resto=a %2 if resto==0: print(“El número es par”) else: print(“El número es impar”) Solución Suma, resta, multiplicación y división: a+b, a-b, a*b y a/b Potenciación y radicación : a**b o pow(a,b) y sqrt(2) o a**(1/2) Cociente y resto: a//b y a %b Nota Operaciones básicas en python UNSCH Pag. 18
  • 20. La sintaxis de la sentencia condicional elif es: if condición 1: instrucción 1 elif condición 2: instrucción 2 elif condición 3: instrucción 3 else: instrucción 4 elif Hacer un programa para determinar la can- tidad de dígitos de un número menor que 1000 Ejemplo 8 1 dígito Falso Verdadero 2 dígitos Inicio Ingrese un número a< 1000 0<=a<10 Falso Verdadero 10<=a<100 Falso Verdadero 100<=a<1000 3 dígitos4 dígitos Fin a=int(input(“Ingrese un número <1000”)) if a >= 0 and a < 10: print(“El número tiene 1 dígito”) elif a >= 10 and a < 100: print(“El número tiene 2 dígitos”) elif a >= 100 and a < 1000: print(“El número tiene 3 dígitos”) else: print(“El número tiene 4 dígitos”) Solución Hacer un programa para determinar los valores de verdad de la conjunción Ejemplo 9 Verdadero Falso Verdadero Falso Inicio Ingrese los valores de a y b a=V y b=V Falso Verdadero a=V y b=F Falso Verdadero a=F y B=V FalsoFalso Fin a=input(“Ingrese un valor de verdad”) b=input(“Ingrese un valor de verdad”) if a==“True” and b==“True”: print(“True”) elif a==“True” and b==“False”: print(“False”) elif a==“False” and b==“True”: print(“False”) else: print(“False”) Solución UNSCH Pag. 19
  • 21. for es un bucle a que repite el bloque de instrucciones un número prederminado de veces. El bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada repetición se suele llamar iteración. La sintaxis de la sentencia de repetición for es: for variable in elemento iterable b Cuerpo del bucle a Bucle: Es una estructura de control que repite un bloque de instrucciones. b Elemento iterable: Puede ser una lista, cadena, range, etc for Hacer un programa que repita el siguiente mensaje Saluden al ingresar al aula. Por favor en el cual la variable recorra una lista Ejemplo 10 Usando una lista Inicio Fin Saluden al ingresar al aula. Por favor Desde i hasta lista for i in [1,1,1]: print(“Saluden al ingresar al aula. Por favor”) Resultado: Saluden al ingresar al aula. Por favor Saluden al ingresar al aula. Por favor Saluden al ingresar al aula. Por favor Explicación: El cuerpo del bucle se repite de acuerdo al número de elementos que tiene la lista. En este caso la lista posee 3 elementos. Y ade- mas no se está usando la variable i. Puede utilizarse cualquier otra variable Solución Hacer un programa que repita el siguiente mensaje Saluden al ingresar al aula. Por favor en el cual la variable recorra una lista Ejemplo 11 Usando una lista Inicio Fin Saluden al ingresar al aula. Por favor Desde i hasta lista for _ in [1,-1,10]: print(“Saluden al ingresar al aula. Por favor”) Resultado: Saluden al ingresar al aula. Por favor Saluden al ingresar al aula. Por favor Saluden al ingresar al aula. Por favor Explicación: El cuerpo del bucle se repite de acuerdo al número de elementos que tiene la lista, sin importar los valores que contiene. Si no se usa la variable en el bucle, no es necesario utilizarla; para ello se utiliza el sub-guión. Solución UNSCH Pag. 20
  • 22. Hacer un programa que repita el siguiente mensaje Software libre en el cual la variable recorra una cadena Ejemplo 12 Usando listas for i in [1,3,5,7,9]: cuadrados=i**2 print(cuadrados) Resultado: 1 9 25 49 81 Explicación: En este caso, la variable i si es consider- ada dentro del buqle; la cual recorre cada elemento de lista elevada al cuadrado. Solución Hacer un programa que repita el siguiente mensaje Software libre en el cual la variable recorra una cadena Ejemplo 13 Usando cadenas for i in “unsch”: print(“Software libre”) Resultado: Software libre Software libre Software libre Software libre Software libre Explicación: El cuerpo del bucle se repite de acuerdo a la longitud de la cadena, es decir de acuer- do al número de letras que tiene la cadena. En este caso la cadena posee 5 letras. Solución UNSCH Pag. 21
  • 23. 1.2.5. Cargar librerías Para realizar operaciones o programas más complejas, es necesario cargar las librerias nece- sarias al cuaderno de python. Entre las más de 45 000 librerías de python tenemos: math.- Este módulo proporciona acceso a las funciones matemáticas. numpy.- Este módulo proporciona acceso a operaciones con listas, arrays, vectores, ma- trices, etc. matplotlib.- Este módulo proporciona acceso al trazado de gráficos en 2D, 3D y estadís- ticos, etc. Para cargar las librerías de python, se puede cargar de 3 formas. Primera forma import math import numpy import matplotlib import Nombre de la librería Segunda forma import math as m import numpy as np import matplotlib as mpl import Nombre de la librería as Alias de la librería Tercera forma from math import * from numpy import * from matplotlib import * from Nombre de la librería import * UNSCH Pag. 22
  • 24. Hacer un programa para resolver la siguiente ecuación cuadrática ax2 + bx + c = 0 Ejemplo 14 Solución import math print(“=========================================================”) print(“Solución de una ecuación cuadrática: ax2 + bx + c = 0 ”) print(“=========================================================”) a=float(input(“ingrese el valor de a:”)) b=float(input(“ingrese el valor de b:”)) c=float(input(“ingrese el valor de c:”)) if a==0: x1 = −c/b x2 = −c/b print(“Las raices son:”, x1, x2) else: d = b ∗ b − 4 ∗ a ∗ c if d > 0: x1 = (−b + math.sqrt(d))/2 ∗ a x2 = (−b − math.sqrt(d))/2 ∗ a print(“La ecuación tiene 2 soluciones reales y diferentes:”) print(“x1 := ”, x1) print(“x2 := ”, x2) elif d == 0: x1 = (−b)/2 ∗ a x2 = (−b)/2 ∗ a print(“La ecuación tiene 2 soluciones reales e iguales:”) print(“ x1 := ”, x1) print(“ x2 := ”, x2) else: r=-b/float(2*a) i=(math.sqrt(-(b**2-4*a*c)))/(2*a) x=complex(r,i) print(“La ecuación cuadrática tiene 2 soluciones complejas y conjugadas”) print(“x1 = ” +str(x.real)+ “+” +str(x.imag)+“j”) print(“x2 = ” +str(x.real)+ “-” +str(x.imag)+“j”) Las soluciones que ofrecen los métodos numéricos son aproximaciones de los valores reales y, por tanto se tendrá un cierto grado de error que será conveniente determinar. UNSCH Pag. 23
  • 25. 1.3 Teoría de errores “El único hombre que no se equivoca es el que nunca hace nada.”-Goothe ¿Qué es un error? La discrepancia entre una solución verdadera y una aproximada representa un error. Entonces un error es algo equivocado o desacertado. Puede ser una acción que no se realizó de manera correcta. Un concepto de error en la matemática y en la física, es la diferencia que surge entre una medición y la realidad. Definición: En la práctica profesional, los errores pueden resultar costosos, y en algunas ocasiones catas- tróficos. Por ello, los errores se deben: Identificar Cuantificar Minimizar UNSCH Pag. 24
  • 26. 1.3.1. Formas de calcular el error La diferencia entre la realidad(valor verdadero) y el valor medido(es decir valor aproximado), matematicamente se representa de la siguiente manera. Error = Vverdadero − Vaproximado Como el error siempre debe ser positivo, entonces se expresa en valor absoluto. Error = |Vverdadero − Vaproximado| Error Absoluto(E.A) Es la diferencia entre el valor verdadero y el valor aproximado, y se calcula de la siguiente manera. E.A = |Vverdadero − Vaproximado| Error Relativo(E.R) Es el cociente entre el error absoluto y el valor verdadero E.R = | Error Absoluto Vverdadero | Error por Redondeo: Un error de redondeo es la diferencia entre la aproximación calculada de un número y su valor matemático exacto debida al redondeo. 4 Estos errores se introducen en los procesos de computación por el hecho de que las computado- ras trabajan con un número finito de dígitos después del punto decimal y tienen que redondear. Para hallar el error por redondeo, se aplican reglas de redondeo. Ejemplo: Aplicando las reglas de redondeo, aproximar los siguientes números a 4 cifras deci- males. 1. 3.12344567 ≈ 3.1234 2. 32.1278888 ≈ 32.1279 3. −3.8888888 ≈ −3.8889 4. 9.35364567 ≈ ............ 5. 2.99999999 ≈ ............ 6. 3.45676567 ≈ ............ 4 El redondeo es el proceso de descartar cifras en la expresión decimal (o más generalmente, posicional) de un número. Se utiliza con el fin de facilitar los cálculos. UNSCH Pag. 25
  • 27. Ejemplo: Sea P = 25.157258457 y P∗ = 26.821343605 el valor exacto y aproxima- do respectivamente. Encontrar E.A. y E.R. por redondeo con 5 cifras decimales. Solución Expresando por redondeo a 5 cifras decimales el valor exacto P y el valor aproximado P∗ P = 25.157258457 ≈ 25.15726 P∗ = 26.821343605 ≈ 26.82134 Calculando el error absoluto: E.A. = |P − P∗ | = |25.15726 − 26.82134| = | − 1.664080000| ≈ 1.66408 Calculando el error relativo: E.R. = E.A. |P| = 1.664080000 |25.15726| = 1.664110000 25.15726 = 0.066147108 ≈ 0.06615 Error por Truncamiento: Un error por truncaminto es la diferencia entre una formulación matemática exacta de un problema y la aproximación dada por un método numérico. 5 Este tipo de error es debido a la omisión de términos en una serie que tiene un número infinito de términos. Por ejemplo podemos utilizar la serie infinita de Taylor para calcular el seno de cualquier ángulo x, expresado en radianes: sin(x) = x 1! − x3 3! + x5 5! − x7 7! + x9 9! + ... Por supuesto que no podemos usar todos los términos de la serie en un cálculo, porque la serie es infinita; entonces, los términos omitidos introducen un error, llamado error por truncamiento. Ejemplo: Mediante truncamiento aproximar los siguientes números a 4 cifras decimales. 1. 3.12344567 ≈ 3.1234 2. 32.1278888 ≈ 32.1278 3. −3.8888888 ≈ −3.8888 4. 9.35364567 ≈ ............ 5. 2.99999999 ≈ ............ 6. 3.45676567 ≈ ............ 5 En matemáticas, truncamiento es el término usado para referirse a reducir el número de dígitos a la derecha del separador decimal. UNSCH Pag. 26
  • 28. Ejemplo: Sea P = 25.157258457 y P∗ = 26.821343605 el valor exacto y aproxima- do respectivamente. Encontrar E.A. y E.R. por truncamiento con 5 cifras decimales. Solución Expresando por redondeo a 5 cifras decimales el valor exacto P y el valor aproximado P∗ P = 25.157258457 ≈ 25.15725 P∗ = 26.821343605 ≈ 26.82134 Calculando el error absoluto: E.A. = |P − P∗ | = |25.15725 − 26.82134| = | − 1.664090000| ≈ 1.66409 Calculando el error relativo: E.R. = E.A. |P| = 1.664090000 |25.15725| = 1.664110000 25.15725 = 0.066147532 ≈ 0.06614 En este manual utiizaremos el error por redondeo y para cálculos más prácticos utilizaremos el error relativo porcentual es decir: E.R = | Error Absoluto Vverdadero | × 100 % Halle el error relativo pocentual por redondeo a 5 cifras decimales de la serie de Taylor con 2 y 3 términos de sin π 4 Ejemplo 15 Solución Sea P = sin π 4 = √ 2 2 = 0.707106781 ≈ 0.70711 el valor exacto y P∗ el valor aproximado. Cuando la serie de Taylor presenta 2 términos:P∗ = sin(x) = x 1! − x3 3! P∗ = sin π 4 = π 4 1! − π 4 3 3! = 0.704652651 ≈ 0.70465 E.A. = |P − P∗ | = |0.70711 − 0.70465| = 0.00246 E.R. = E.A. |P| = 0.00246 0,70711 = 0.00348 ∴ E.R. % = 0.34800 % UNSCH Pag. 27
  • 29. Cuando la serie de Taylor presenta 3 términos:sin(x) = x 1! − x3 3! + x5 5! P∗ = sin π 4 = π 4 1! − π 4 3 3! + π 4 5 5! = 0.707143046 ≈ 0.70714 E.A. = |P − P∗ | = |0.70711 − 0.70714| = 0.00003 E.R. = E.A. |P| = 0.00003 0,70711 = 0.00004 ∴ E.R. % = 0.00424 % Halle el error relativo pocentual por redondeo a 6 cifras decimales de la serie de Taylor con 4 términos de sin π 4 Ejemplo 16 Solución Sea P = sin π 4 = √ 2 2 = 0.707106781 ≈ 0.707107 el valor exacto y P∗ el valor aproximado. Serie de Taylor para 4 términos:P∗ = x 1! − x3 3! + x5 5! − x7 7! P∗ = sin π 4 = π 4 1! − π 4 3 3! + π 4 5 5! − π 4 7 7! = 0.707106470 ≈ 0.707106 E.A. = |P − P∗ | = |0.707107 − 0.707106| = 0.000001 E.R. = E.A. |P| = 0.000001 0,707107 = 0.000001 ∴ E.R. % = 0.000141 % Los ordenadores trabajan en un rango de 0 a 15 o 16 decimales. Ejemplos en python pi=3.141592653589793 10 3 = 3.3333333333333335 Nota UNSCH Pag. 28
  • 30. Conceptos Básicos Precisión:La precisión se refiere a que tan cerca estan las mediciones entre ellas, obtenidas en un ensayo.(repetición) Exactitud: La exactitud se referie a que tan cerca está el valor medido del valor exacto. Cifras Significativas Número de dígitos que se pueden usar con confianza. Incluyen enteros y decimales. Reglas: 1. Son cifras significativas todos los dígitos distintos de cero. Ejemplo: 324: Tiene.........cifras significativas. 3,24: Tiene.........cifras significativas. 2. Los ceros situados entre dos cifras significativas son significativos. Ejemplo: 30004: Tiene.........cifras significativas. 304: Tiene.........cifras significativas. 3. Los ceros a la izquierda de la primera cifra significativa no lo son. Ejemplo: 004: Tiene.........cifras significativas. 0,00034: Tiene.........cifras significativas. UNSCH Pag. 29
  • 31. ECUACIONES NO LINEALES Capítulo 2 MÉTODOS NUMÉRICOS PARA LA INVESTIGACIÓN
  • 32. ¿Qué es una ecuación no lineal? Uno de los problemas más frecuentes en ingeniería es encontrar las raíces de ecuaciones de la forma f(x) = 0, donde f(x) es una función real de una variable “x”, como por ejemplo un polinomio en “x” x3 + 3x2 + 2x − 2 = 0 o una ecuación trascendente 1 e−x − x = 0 ex sin x + ln3x + x3 = 0 Aquella ecuación que cumple con dichas caracteristicas se le llama ecuación no lineal y para su solución existen distintos algoritmos para encontrar las raíces o ceros de f(x) = 0. Uno de los métodos clásicos para encontrar una raiz es el método gráfico; el cual consiste en tabular y trazar su grafico en el plano cartesiano. Ejemplo: Trazar la gráfica de la función: y = f(x) = e−x − x Solución x -1.5 -1 -0,5 0 0.5 1 1.5 y 5.981689 3.718282 2.148721 1 0.106531 -0.632121 -1.276870 Tabla 2.1: Tabla de valores de f(x) = e−x − x Figura 2.1: Método gráfico 1 Las ecuaciones trascendentes contienen términos trigonométricos, exponenciales o logarítmicos de la variable independiente. UNSCH Pag. 31
  • 33. 2.1 Métodos de solución de una ecuación no lineal Para la solución de una ecuación no lineal, tenemos métodos cerrados y métodos abiertos Métodos Cerrados Son métodos que necesitan dos valores iniciales que encierren la raíz, para así reducir sis- temáticamente el tamaño del intervalo y que converga a una respuesta aproximada. Entre ellos tenemos: Método de bisección o de búsqueda binaria. Método de falsa posición. 2.1.1. Método de la bisección El método de bisección, es un método de búsqueda de raices, el cual consiste en ir acortando sistematicamente los extremos del intervalo, hasta obtener un intervalo de anchura suficiente- mente pequeño que contenga la raiz, como muestra la figura adjunta. Extremos del intervalo Raíz Curva de la función f(x) Figura 2.2: Representación geométrica del método de bisección Procedimiento del método de bisección: 1. Buscar el intervalo [xi, xd] que encierran la raíz.(Esto se determina verificando f(xi)f(xd) < 0 o mediante el método gráfico) 2. Una aproximación hacia la raíz se determina mediante: xr = xi + xd 2 3. Realizar las siguientes cálculos para determinar en que subintervalo se encuentra la raiz. UNSCH Pag. 32
  • 34. Si f(xi)f(xr) < 0, entonces la raiz está al lado izquierdo y el nuevo intervalo a comprobar es [xi, xr] y vuelva al paso 2. Si f(xr)f(xd) < 0, entonces la raiz está al lado derecho y el nuevo intervalo a comprobar es [xr, xd] y vuelva al paso 2. Si f(xr)f(xi) = 0 o f(xr)f(xd) = 0, entonces la raiz es xi o xd y termina el proceso. Utilizar el método de la bisección para aproximar la raíz de la siguiente ecuación: f(x) = e−x − x = 0 Ejemplo 17 Solución 1) Primera iteración Busquemos un intervalo que contenga la raiz: [0, 1] Sea xi = 0 ∧ xd = 1 =⇒ xr = 0.5 Haciendo los siguientes cálculos: • f(xi) = f(0) = 1 • f(xd) = f(1) = −0.632121 • f(xr) = f(0.5) = 0.106531 • Evaluando tenemos: f(xd)f(xr) < 0 ∴ El nuevo intervalo es: [0.5, 1] 2) Segunda iteración El nuevo intervalo que contiene la raiz es: [0.5, 1] Sea xi = 0.5 ∧ xd = 1 =⇒ xr = 0.75 Haciendo los siguientes cálculos: • f(xi) = f(0.5) = 0.106531 • f(xd) = f(1) = −0.632121 • f(xr) = f(0.75) = −0.277633 • Evaluando tenemos: f(xi)f(xr) < 0 ∴ El nuevo intervalo es: [0.5, 0.75] 3) Tercera iteración El nuevo intervalo que contiene la raiz es: [0.5, 0.75] Sea xi = 0.5 ∧ xd = 0.75 =⇒ xr = 0.625 Haciendo los siguientes cálculos: • f(xi) = f(0.5) = 0.106531 • f(xd) = f(0.75) = −0.277633 • f(xr) = f(0.625) = −0.089739 • Evaluando tenemos: f(xi)f(xr) < 0 ∴ El nuevo intervalo es: [0.5, 0.625] 4) Cuarta iteración El nuevo intervalo que contiene la raiz es: [0.5, 0.625] Sea xi = 0.5 ∧ xd = 0.625 =⇒ xr = 0.5625 Haciendo los siguientes cálculos: • f(xi) = f(0.5) = 0.106531 • f(xd) = f(0.625) = −0.089739 • f(xr) = f(0.5625) = 0.007283 • Evaluando tenemos: f(xd)f(xr) < 0 ∴ El nuevo intervalo es: [0.5625, 0.625] UNSCH Pag. 33
  • 35. 5) Quinta iteración El nuevo intervalo que contiene la raiz es: [0.5625, 0.625] Sea xi = 0.5625 ∧ xd = 0.625 =⇒ xr = 0.59375 Haciendo los siguientes cálculos: • f(xi) = f(0.5625) = 0.007283 • f(xd) = f(0.625) = −0.089739 • f(xr) = f(0.59375) = −0.041498 • Evaluando tenemos: f(xi)f(xr) < 0 ∴ El nuevo intervalo es: [0.5625, 0.59375] 6) Sexta iteración El nuevo intervalo que contiene la raiz es: [0.5625, 0.59375] Sea xi = 0.5625 ∧ xd = 0.625 =⇒ xr = 0.59375 Haciendo los siguientes cálculos: • f(xi) = f(0.5625) = 0.007283 • f(xd) = f(0.59375) = −0.041498 • f(xr) = f(0.578125) = −0.017176 • Evaluando tenemos: f(xi)f(xr) < 0 ∴ El nuevo intervalo es: [0.5625, 0.578125] N◦ xi xd xr f(xi) f(xd) f(xr) Er %. 1 0.000000 1.000000 0.500000 1.000000 -0.632121 0.106531 100.000000 2 60.500000 1.000000 0.750000 0.106531 -0.632121 -0.277633 33.333333 3 0.500000 0.750000 0.625000 0.106531 -0.277633 -0.089739 20.000000 4 0.500000 0.625000 0.562500 0.106531 -0.089739 0.007283 11.111111 5 0.562500 0.625000 0.593750 0.007283 -0.089739 -0.041498 5.263158 6 0.562500 0.593750 0.578125 0.007283 -0.041498 -0.017176 2.702703 7 0.562500 0.578125 0.570312 0.007283 -0.017176 -0.004963 1.369952 8 0.562500 0.570312 0.566406 0.007283 -0.004963 0.001156 0.689611 9 0.566406 0.570312 0.568359 0.001156 -0.004963 -0.001905 0.343621 10 0.566406 0.568359 0.567382 0.001156 -0.001905 -0.000374 0.172194 11 0.566406 0.567382 0.566894 0.001156 -0.000374 0.000391 0.086083 12 0.566894 0.567382 0.567138 0.000391 -0.000374 0.000008 0.043023 13 0.567138 0.567382 0.567260 0.000008 -0.000374 -0.000183 0.021507 14 0.567138 0.567260 0.567199 0.000008 -0.000183 -0.000087 0.010755 15 0.567138 0.567199 0.567168 0.000008 -0.000087 -0.000039 0.005466 16 0.567138 0.567168 0.567153 0.000008 -0.000039 -0.000015 0.002645 17 0.567138 0.567153 0.567146 0.000008 -0.000015 -0.000004 0.001234 18 0.567138 0.567146 0.567142 0.000008 -0.000004 0.000002 0.000705 19 0.567142 0.567146 0.567144 0.000002 -0.000004 -0.000001 0.000353 20 0.567142 0.567144 0.567143 0.000002 -0.000001 0.000000 0.000176 21 0.567143 0.567144 0.567144 0.000000 -0.000001 -0.000001 0.000000 22 0.567144 0.567144 0.567144 -0.000001 -0.000001 -0.000001 0.000000 23 0.567144 0.567144 0.567144 -0.000001 -0.000001 -0.000001 0.000000 24 0.567144 0.567144 0.567144 -0.000001 -0.000001 -0.000001 0.000000 Tabla 2.2: Resumen del método de bisección, para n=25 UNSCH Pag. 34
  • 36. Inicio Fin xi, xd, n fxi=e""(-xi)-xi fxd=e""(-xd)-xd fxi*fxd>0 V F No contiene la raiz Desde i=1 hasta n xr=(xi+xd)/2 fxi=e**(-xi)-xi fxd=e**(-xd)-xd fxr=e**(-xr)-xr fxi*fxr<0 VF xi=xr xd=xr xr Diagrama de flujo del método de bisección UNSCH Pag. 35
  • 37. from math import * import numpy as np print(“MÉTODO DE LA BISECCIÓN”) xi=float(input(“Ingrese el extremo izquierdo del intervalo:”)) xd=float(input(“Ingrese el extremo derecho del intervalo:”)) n=int(input(“Ingrese el numero de iteraciones:”)) fxi=round((e**-xi)-xi,6) fxd=round((e**-xd)-xd,6) if fxi*fxd>0: print(“El intervalo ingresado no contiene la raiz”) else: print(“{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10} ”.format( “Iter.”,“xi”,“xd”,“xr”,“fxi”,“fxd”,“fxr”,“ER %”)) for i in range(1,n): xr=round((xi+xd)/2,6) fxi=round(e**(-xi)-xi,6) fxd=round(e**(-xd)-xd,6) fxr=round(e**(-xr)-xr,6) error=round(abs(((xr-xi)/xr)*100),6) print(“{:∧ 10}{:∧ 10.5f}{:∧ 10.5f}{:∧ 10.5f}{:∧ 10.5f}{:∧ 10.5f}{:∧ 10.5f} {:∧ 10.5f} .format( i+1,xi,xd,xr,fxi,fxd,fxr,error)) if fxi*fxr<0: xd=xr else: xi=xr print(“La raiz aproximada con”,i,“iteraciones es:”,xr) Código en python :Método de la bisección La sintáxis para redondear un número es: round(número,cantidad de decimales) • Si se desea redondear el valor de π a 6 decimales tenemos: Código en python UNSCH Pag. 36
  • 38. 2.1.2. Método de la falsa posición El método de falsa posición es otra alternativa usado para la busqueda de raices y encontrar una aproximación de la solución de una ecuación no lineal. El método de la falsa posición consiste en unir los puntos extremos del interva- lo(intervalo donde se encuentra la raiz), mediante una linea recta; y la intersección de la recta con el eje “x” nos da una aproximación a la raiz de la ecuación no lineal, tal como se muestra en la figura adjunta. a b (a,f(a)) (b,f(b)) raiz real Prim era Aproxim ación y=f(x) (c,0) Extremo izquierdo Extremo derecho Primera aproximación a b (a,f(a)) (b,f(b)) raiz real y=f(x) (c,0) Primera aproximación a1 b1 (a1,f(a1)) (b1,f(b1)) raiz real y=f(x) (c1,0) Segunda Aproxim ación Extremo derecho Extremo izquierdo Segunda aproximación a1 b1 (a1,f(a1)) (b1,f(b1)) raiz real y=f(x) (c1,0) Segunda aproximación Procedimiento para calcular la raiz aproximada: El procedimiento para encontar la raiz xr mediante el método de la falsa posición es: Sea f(a).f(b) < 0 y consideremos la recta con extremos (a, f(a)) y (b, f(b)), en- tonces su pendiente es: m = f(b) − f(a) b − a Pero como (c, 0) es punto interseccion de la recta con el eje “x”, entonces se tiene tambien que: m = f(b) − 0 b − c = f(b) b − c UNSCH Pag. 37
  • 39. Ahora igualando ambas pendientes tenemos: f(b) − f(a) b − a = f(b) b − c b − c = f(b)(b − a) f(b) − f(a) c = b − f(b)(b − a) f(b) − f(a) Haciendo c = xr, a = xi, b = xd tenemos que la raiz aproximada es: xr = xd − f(xd)(xd − xi) f(xd) − f(xi) Luego para encontrar el nuevo intervalo, se toma en cuenta el mismo procedimiento que el método de bisección. Procedimiento del método de falsa posición: 1. Buscar el intervalo [xi, xd] que encierran la raíz.(Esto se determina verificando f(xi)f(xd) < 0 o mediante el método gráfico) 2. Una aproximación hacia la raíz se determina mediante: xr = xd − f(xd)(xd − xi) f(xd) − f(xi) 3. Realizar las siguientes cálculos para determinar en que subintervalo se encuen- tra la raiz. ◦ Si f(xi)f(xr) < 0, entonces la raiz está al lado izquierdo y el nuevo inter- valo a comprobar es [xi, xr] y vuelva al paso 2. ◦ Si f(xr)f(xd) < 0, entonces la raiz está al lado derecho y el nuevo intervalo a comprobar es [xr, xd] y vuelva al paso 2. ◦ Si f(xr)f(xi) = 0 o f(xr)f(xd) = 0, entonces la raiz es xi o xd y termina el proceso. UNSCH Pag. 38
  • 40. Utilizar el método de la falsa posición para aproximar la raíz de la siguiente ecuación: f(x) = e−x − x = 0 Ejemplo 18 Solución 1) Primera iteración ◦ Busquemos un intervalo que contenga la raiz: [0, 1] ◦ Sea xi = 0 ∧ xd = 1 =⇒ xr =? ◦ Haciendo los siguientes cálculos: f(xi) = f(0) = 1 f(xd) = f(1) = −0.632121 Calculando xr xr = 1 − (−0.632121)(1 − 0) −0.632121 − 1 xr = 0.612700 f(xr) = f(0,612700) = −0.070814 ∴ El nuevo intervalo es: [0, 0.6127] 2) Segunda iteración ◦ El nuevo intervalo que contiene la raiz es: [0, 0.6127] ◦ Sea xi = 0 ∧ xd = 0.6127 =⇒ xr =? ◦ Haciendo los siguientes cálculos: f(xi) = f(0) = 1 f(xd) = f(0.6127) = −0.070814 Calculando xr xr = 0.6127 − (−0.070814)(0.612 −0.070814 − xr = 0.572182 f(xd) = f(0.572182) = −0.007889 ∴ El nuevo intervalo es: [0, 0.572182] 3) Tercera iteración ◦ El nuevo intervalo que contiene la raiz: [0, 0.572182] ◦ Sea xi = 0 ∧ xd = 0.572182 =⇒ xr =? ◦ Haciendo los siguientes cálculos: f(xi) = f(0) = 1 f(xd) = f(0.572182) = −0.007889 Calculando xr xr = 0.572182 − (−0.007889)(0.572182 − 0) −0.007889 − 1 xr = 0.567703 f(xr) = f(0.567703) = −0.000877 ∴ El nuevo intervalo es: [0, 0.567703] 4) Cuarta iteración ◦ El nuevo intervalo intervalo que contiene la raiz: [0, 0.567703] ◦ Sea xi = 0 ∧ xd = 0.567703 =⇒ xr =? UNSCH Pag. 39
  • 41. ◦ Haciendo los siguientes cálculos: f(xi) = f(0) = 1 f(xd) = f(0.567703) = −0.000877 Calculando xr xr = 0.567703 − (−0.000877)(0.567703 − 0) −0.000877 − 1 xr = 0.567206 f(xr) = f(0.567206) = −0.000098 ∴ El nuevo intervalo es: [0, 0.567206] 5) Quinta iteración ◦ El nuevo intervalo intervalo que contiene la raiz: [0, 0.567206] ◦ Sea xi = 0 ∧ xd = 0.567206 =⇒ xr =? ◦ Haciendo los siguientes cálculos: f(xi) = f(0) = 1 f(xd) = f(0.567206) = −0.000098 Calculando xr xr = 0.567206 − (−0.000098)(0.567206 − 0) −0.000098 − 1 xr = 0.567150 f(xr) = f(0.567150) = −0.000011 ∴ El nuevo intervalo es: [0, 0.567150] 6) Sexta iteración ◦ El nuevo intervalo intervalo que contiene la raiz: [0, 0.567150] ◦ Sea xi = 0 ∧ xd = 0.567150 =⇒ xr =? ◦ Haciendo los siguientes cálculos: f(xi) = f(0) = 1 f(xd) = f(0.567150) = −0.000011 Calculando xr xr = 0.567150 − (−0.000011)(0.567150 − 0) −0.000011 − 1 xr = 0.567144 f(xr) = f(0.567144) = −0.000001 ∴ El nuevo intervalo es: [0, 0.567143] UNSCH Pag. 40
  • 42. N◦ xi xd xr f(xi) f(xd) f(xr) Er %. 1 0.000000 1.000000 0.612700 1.000000 -0.632121 -0.070814 63.212012 2 0.000000 0.612700 0.572182 1.000000 -0.070814 -0.007889 7.081313 3 0.000000 0.572182 0.567703 1.000000 -0.007889 -0.000877 0.788969 4 0.000000 0.567703 0.567206 1.000000 -0.000877 -0.000098 0.087622 5 0.000000 0.567206 0.567150 1.000000 -0.000098 -0.000011 0.009874 6 0.000000 0.567150 0.567144 1.000000 -0.000011 -0.000001 0.001058 7 0.000000 0.567144 0.567143 1.000000 -0.000001 0.000000 0.000176 8 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 9 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 10 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 11 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 12 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 13 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 14 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 15 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 16 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 17 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 18 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 19 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 20 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 21 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 22 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 23 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 24 0.567143 0.567144 0.567143 0.000000 -0.000001 0.000000 0.000176 Tabla 2.3: Resumen del método de la falsa posición, para n=25 UNSCH Pag. 41
  • 43. Inicio Fin x0, n gx0=e""(-x0)i dgx0=-e**(-x0) | dgx0 |<1 V F Desde i=1 hasta n gx0=e**(-x0) xr=gx0 x0=xr xr Diverge Diagrama de flujo del método de la falsa posición Código en python :Método de la falsa posición UNSCH Pag. 42
  • 44. Utilizar el método de bisección y de la falsa posición para aproximar la raíz de la siguiente ecuación: f(x) = x10 − 1 = 0 Aproximar a 6 cifras decimales.(Sugerencia: Realizar 25 iteraciones y buscar la raiz en [0, 1.3]) Ejemplo 19 Solución Método de Bisección N◦ xi xd xr f(xi) f(xd) f(xr) Er % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Tabla 2.4: Resumen del método de bisección UNSCH Pag. 43
  • 45. Método de Falsa Posición N◦ xi xd xr f(xi) f(xd) f(xr) Er % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Tabla 2.5: Resumen del método de falsa posición UNSCH Pag. 44
  • 46. Métodos Abiertos En los métodos cerrados, la raíz se encuentra entre un límite inferior y otro superior. Son métodos convergentes, ya que se acercan progresivamente a la raíz a medida que crece el número de iteraciones. Al contrario, los métodos abiertos se basan en fórmulas que requieren de un solo valor de “x”, o de un par de ellos que no necesariamente encierran la raíz. A veces divergen o se alejan de la raíz a medida que aumentan las iteraciones. Pero cuando convergen en general lo hacen mucho más rápido que los métodos cerrados. Entre dichos métodos abiertos, tenemos: ◦ Iteración de Punto Fijo ◦ Método de Newton-Raphson ◦ Método de la Secante 2.1.3. Método del punto fijo Un punto fijo de una función g(x) es un número real P tal que g(P) = P. Geométricamente significa que los puntos fijos de una función g(x) son los puntos intersección de la curva de g(x) con la recta y = x. Definición: Punto fijo La función g(x) = x2 − 2, pues tiene dos puntos fijos; x = −1 y x = 2 ◦ g(−1) = (−1)2 − 2 = −1 y g(2) = (2)2 − 2 = 2 Ejemplo 20 Puntos fijos UNSCH Pag. 45
  • 47. La función g(x) = x − e1−x (x − 1), tiene un punto fijo x = 1. ◦ g(1) = 1 − e0 (1 − 1) = 1 Ejemplo 21 Punto fijo import numpy as np import matplotlib.pyplot as mpl x=np.arange(-4,4,0.01) y=x**2-2 y1=x mpl.plot(x,y, color=“purple”, label=“y = x2 − 2”) mpl.plot(x,y1, color=“red”, label=“y = x”) mpl.xlabel(“Eje x”) mpl.ylabel(“Eje y”) mpl.title(“Gráfica de la función: y = x2 − 2 ∧ y = x”) mpl.axhline(0, color=“black”) mpl.axvline(0, color=“black”) mpl.savefig(“grafica de e.png” ,dpi=100.0, bbox_inches=“tight”, pad_inches=0.5) mpl.grid() mpl.legend() mpl.show() Código en python :Gráfica de una función UNSCH Pag. 46
  • 48. Procedimiento para aplicar el método del punto fijo Para hallar la raiz de la ecuación f(x) = 0, se debe tener en cuenta los siguientes pasos: 1) Transformar algebraicamente f(x) = 0 a la forma: x = g(x) En el cual g(x) puede obtenerse de dos maneras: ◦ Sumar “x” a ambos lados de la ecuación f(x) = 0. ◦ Despejar “x” del término de primer grado de la ecuación. 2) Evaluar el criterio de la convergencia en el punto inicial: (El criterio de convergencia consiste en que el valor absoluto de la pendiente de g(x) es menor a la pendiente de la recta h(x) = x). Es decir: |g (x0)| < 1 donde x0 es el punto fijo 3) Las aproximaciones de la raiz se obtienen evaluando en la siguiente fórmula general: xn+1 = g(xn) ◦ Una ecuacón lineal puede tener varias transformaciones (x = g(x)). Por ejemplo: De f(x) = e−x − x = 0 podemos extraer las siguientes deducciones. x = e−x =⇒ g(x) = e−x x = −ln(x) =⇒ g(x) = −ln(x) De f(x) = 2x2 − x − 5 = 0 podemos extraer las siguientes deducciones. x = 2x2 − 5 =⇒ g(x) = 2x2 − 5 x = x + 5 2 =⇒ g(x) = x + 5 2 x = 5 2x − 1 =⇒ g(x) = 5 2x − 1 ◦ De las deducciones o transformaciones obtenidas, algunas de ellas pueden con- verger o diverger de acuerdo al criterio de convergencia. Nota UNSCH Pag. 47
  • 49. Interpretación geométrica del punto fijo: |g (x0)| < 1 x 0 Eje x Eje y Raiz f1(x)=x y=g(x) Figura 2.3: Interpretación geométrica del punto fijo A continuación se presentan los casos de convergencia y divergencia. x 0 Eje x Eje y Raiz f1(x)=x y=g(x) Convergencia Monotónica x 0 Eje x Eje y Raiz f1(x)=x y=g(x) Convergencia Oscilatoria x 0 Eje x Eje y Raiz f1(x)=x y=g(x) Divergencia Monotónica x 0 Eje x Eje y Raiz f1(x)=x y=g(x) Divergencia Oscilatoria UNSCH Pag. 48
  • 50. Aproxime la raiz de la siguiente ecuación: f(x) = e−x − x = 0 Aplicando el método del punto fijo.(El punto fijo es x0 = 0.57) Ejemplo 22 Solución De las deducciones obtenidas x = g(x), tenemos: ◦ Primera deducción: x = e−x =⇒ g(x) = e−x Evaluando el criterio de convergencia en el punto fijo x0 = 0.75 |g (x0)| < 1 | − e−x0 | < 1 | − e−0.57 | < 1 | − 0.57| < 1 0.57 < 1...Si cumple Si la deducción obtenida cumple el criterio de convergencia entonces se acepta, caso contrario se descarta. ◦ Segunda deducción: x = −ln(x) =⇒ g(x) = −ln(x) Evaluando el criterio de convergencia en el punto fijo x0 = 0.75 |g (x0)| < 1 | − 1 x0 | < 1 | − 1 0.57 | < 1 | − 1.754386| < 1 1.754386 1...No cumple; por lo tanto se descarta Realizando las iteraciones en la deducción que cumple el criterio de convergencia, tenemos: ◦ Primera iteración: Para n = 0 x1 = g(x0) x1 = g(0.57) x1 = e−0.57 x1 = 0.565525 ◦ Segunda iteración: Para n = 1 x2 = g(x1) x2 = g(0.565525) x2 = e−0.565525 x2 = 0.568062 UNSCH Pag. 49
  • 51. ◦ Tercera iteración: Para n = 2 x3 = g(x2) x3 = g(0.568062) x3 = e−0.568062 x3 = 0.566622 ◦ Cuarta iteración: Para n = 3 x4 = g(x3) x4 = g(0.566622) x4 = e−0.566622 x4 = 0.567439 ◦ Quinta iteración: Para n = 4 x5 = g(x4) x5 = g(0.567439) x5 = e−0.567439 x5 = 0.566976 ◦ Sexta iteración: Para n = 5 x6 = g(x5) x6 = g(0.566976) x6 = e−0.566976 x6 = 0.567238 N◦ Itera. x0 xr Er = | xactual r − xant r xactual r | × 100 %. 1 0.570000 0.565525 0.791300 2 0.565525 0.568062 0.446606 3 0.568062 0.566622 0.254138 4 0.566622 0.567439 0.143980 5 0.567439 0.566976 0.081661 6 0.566976 0.567238 0.046189 7 0.567238 0.567090 0.026098 8 0.567090 0.567174 0.014810 9 0.567174 0.567126 0.008464 10 0.567126 0.567153 0.004761 11 0.567153 0.567138 0.002645 12 0.567138 0.567146 0.001411 13 0.567146 0.567142 0.000705 14 0.567142 0.567144 0.000353 15 0.567144 0.567143 0.000176 16 0.567143 0.567143 0.000000 17 0.567143 0.567143 0.000000 18 0.567143 0.567143 0.000000 19 0.567143 0.567143 0.000000 20 0.567143 0.567143 0.000000 21 0.567143 0.567143 0.000000 22 0.567143 0.567143 0.000000 23 0.567143 0.567143 0.000000 24 0.567143 0.567143 0.000000 Tabla 2.6: Resumen del método del punto fijo:x0 = 0.57 UNSCH Pag. 50
  • 52. Inicio Fin x0, n gx0=e""(-x0)i dgx0=-e**(-x0) | dgx0 |<1 V F Desde i=1 hasta n gx0=e**(-x0) xr=gx0 x0=xr xr Diverge Diagrama de flujo del método del punto fijo Código en python :Método del punto fijo UNSCH Pag. 51
  • 53. Aplique el método del punto fijo para aproximar la raiz de la siguiente ecuación: f(x) = 2x2 − x − 5 = 0; x0 = 2.16 Ejemplo 23 Solución N◦ Itera. x0 xr Er = | xactual r − xant r xactual r | × 100 %. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Tabla 2.7: Resumen del método del punto fijo: x0 = 2.16 UNSCH Pag. 52
  • 54. Aplique el método del punto fijo para aproximar la raiz de la siguiente ecuación: f(x) = 2x2 − x − 5 = 0; x0 = −1.16 Ejemplo 24 Solución N◦ Itera. x0 xr Er = | xactual r − xant r xactual r | × 100 %. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Tabla 2.8: Resumen del método del punto fijo: x0 = −1.16 UNSCH Pag. 53
  • 55. 2.1.4. Método de Newton Raphson Es un método de búsqueda de raices y es el más utilizado, debido a su rápida convergencia. La métodología del método de Newton Raphson o solamente Newton consiste en: Dado el valor inicial de la raiz x0, se puede trazar una recta tangente a la curva y = f(x) desde el punto (x0, f(x0)), tal que al cortar al eje “x”, el punto x1 representa una aproximación mejorada de la raiz. x 0 Eje x Eje y Raizverdadera Valor inicial y=f(x) x 0 Eje x Eje y x 1 Rectatangente P rim e ra a p ro x im a ció n 0(x , f(x ))0 Raizverdadera y=f(x) Luego a partir del punto (x1, f(x1)), se vuelve a trazar una nueva recta tangente, tal que al cortar al eje “x”, se obtiene el punto x2 que representa una aproximación mejorada de la raiz; y así sucesivamente hasta obtener una raiz muy próxima a la raiz verdadera, tal como se muestra en la gráfica adjunta. x 0 Eje x Eje y Raiz y=f(x) x 1 Rectatangente x 2 0(x , f(x ))0 1(x , f(x ))1 x 0 Eje x Eje y x 1 Rectatangente x 2 0(x , f(x ))0 1(x , f(x ))1 Raizverdadera S e g u n d a a p ro x im a ció n y=f(x) Ecuación iterativa de Newton Raphson Ahora relacionemos la raiz inicial x0 con la nueva aproximación mejorada x1; para el cual la pendiente de la recta tangente que pasa por los puntos (x0, f(x0)) y (x1, 0)) está dada como: m = f(x0) − 0 x0 − x1 UNSCH Pag. 54
  • 56. Y la pendiente de la curva y = f(x) en el punto (x0, f(x0)) tambien está dada como: m = f (x0) Por lo tanto igualando ambas pendientes, tenemos: f (x0) = f(x0) x0 − x1 x0 − x1 = f(x0) f (x0) x1 = x0 − f(x0) f (x0) Por lo tanto, la fórmula recursiva de Newton Raphson es: xn+1 = xn − f(xn) f (xn) Sabemos que el método de Newton Raphson es el más utilizado en la mayoría de las soluciones de ecuaciones no lineales debido a su rápida convergencia; pero tambien resulta ineficiente en algunos casos; pues para que funcione correctamente debemos buscar que el punto inicial x0 sea un punto fijo de la función o que se encuentre cerca de la solución verdadera. Una de las desventajas que presenta el método de Newton Raphson es que en cada iteración se debe calcular f(x0) y f (x0); aunque no es inconveniente cuando f(x) es una función polinómica y sencillas; pero en el caso para funciones complejas; se propone un método alternativo que atenué está desventaja. Nota UNSCH Pag. 55
  • 57. Aproxime la raiz de la siguiente función: f(x) = e−x − x Aplicando el método de Newton Raphson, con punto inicial x0 = 0. Ejemplo 25 Solución Para aplicar la fórmula iterativa de Newton Raphson, es necesario calcular la deriva- da de la función f(x) = e−x − x. f(x) = e−x − x =⇒ f (x) = −e−x − 1 ◦ Primera iteración:Para n = 0 =⇒ x1 = x0 − f(x0) f (x0) =? x0 = 0 =⇒ f(x0) = f(0) = e−0 − 0 = 1 f (x0) = −e−x0 − 1 =⇒ f (0) = −e−0 − 1 = −2 Remplazando en la fórmula recursiva tenemos: x1 = x0 − f(x0) f (x0) x1 = 0 − 1 −2 x1 = 0.5 ◦ Segunda iteración:Para n = 1 =⇒ x2 = x1 − f(x1) f (x1) =? x1 = 0.5 =⇒ f(x1) = f(0.5) = e−0.5 − 0.5 = 0.106531 f (x1) = −e−x1 − 1 =⇒ f (0.5) = −e−0.5 − 1 = −1.606531 Remplazando en la fórmula recursiva tenemos: x2 = x1 − f(x1) f (x1) x2 = 0,5 − 0.106531 −1.606531 x2 = 0.566311 UNSCH Pag. 56
  • 58. ◦ Tercera iteración:Para n = 2 =⇒ x3 = x2 − f(x2) f (x2) =? x2 = 0.566311 =⇒ f(x2) = f(0.566311) = e−0.566311 − 0.566311 = 0.001305 f (x2) = −e−x2 − 1 =⇒ f (0.566311) = −e−0.566311 − 1 = −1.567616 Remplazando en la fórmula recursiva tenemos: x3 = x2 − f(x2) f (x2) x3 = 0,566311 − 0.001305 −1.567616 x3 = 0.567143 ◦ Cuarta iteración:Para n = 3 =⇒ x4 = x3 − f(x3) f (x3) =? x3 = 0.567143 =⇒ f(x3) = f(0.567143) = e−0.567143 − 0.567143 = 0.000000 f (x3) = −e−x3 − 1 =⇒ f (0.567143) = −e−0.567143 − 1 = −1.567143 Remplazando en la fórmula recursiva tenemos: x4 = x3 − f(x3) f (x3) x4 = 0,567143 − 0.000000 −1.567143 x4 = 0.567143 N◦ Itera. x0 xr Er = | xactual r − xant r xactual r | × 100 %. 1 0.000000 0.500000 100.000000 2 0.500000 0.566311 11.709290 3 0.566311 0.567143 0.146700 4 0.567143 0.567143 0.000000 5 0.567143 0.567143 0.000000 6 0.567143 0.567143 0.000000 7 0.567143 0.567143 0.000000 8 0.567143 0.567143 0.000000 9 0.567143 0.567143 0.000000 10 0.567143 0.567143 0.000000 Tabla 2.9: Resumen del método de Newton Raphson:x0 = 0 UNSCH Pag. 57
  • 59. Inicio Fin x0, n dfx0=-e**(-x0)-1 dfx0>0 o dfx0<0 VF Desde i=1 hasta n fx0=e**(-x0)-x0 xr=x0-(fx0/dfx0) x0=xr xr Diverge dfx0=-e**(-x0)-1 Diagrama de flujo del método de Newton Raphson from math import * import numpy as np print(“MÈTODO DEL NEWTON RAPHSON”) x0=float(input(“Ingrese el punto inicial:”)) n=int(input(“Ingrese el nùmero de interaciones:”)) dfx0=round((-e**(-x0)-1),6) if dfx0>0 or dfx0<0 : print(“{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10}”.format(“Iter.”,“xi”,“xr”,“ER %”)) for i in range (n): fx0=e**(-x0)-(x0) dfx0=-e**(-x0)-1 xr=round((x0-(fx0/dfx0)),6) error=(abs((xr-x0)/(xr))*100) print(“{:∧ 10}{:∧ 10.6f}{:∧ 10.6f}{:∧ 10.6f}”.format(i+1,x0,xr,error)) x0=xr else : print(“El método diverge; ingrese otro punto inicial”) Código en python :Método de Newton Raphson UNSCH Pag. 58
  • 60. Aproxime la raiz de la siguiente función: f(x) = x10 − 1 Aplicando el método de Newton Raphson, con punto inicial x0 = 0,5. Ejemplo 26 Solución N◦ Itera. x0 xr Er = | xactual r − xant r xactual r | × 100 %. 1 2 3 4 5 6 7 8 9 10 Tabla 2.10: Resumen del método de Newton Raphson:x0 = 0.5 UNSCH Pag. 59
  • 61. 2.1.5. Método de la secante El método de la secante, es el método alternativo del método de Newton Raphson; en el cual la derivada de la fórmula de Newton Raphson se aproxima mediante diferencias divididas. Interpetración Geométrica del método de la secante Para realizar el proceso iterativo del método de la secante, es necesario conocer dos puntos iniciales x0 y x1(puntos cercanos a la raíz, no necesariamente que encierren a la raiz). Primer paso:Trazar una recta secante por los puntos (x0, f(x0)) y (x1, f(x1)); y el punto de intersección de la recta secante con el eje “x”, es la raíz aproximada. Eje y x 0 x 1 y=f(x) Eje x Raiz verdadera f(x )0 f(x )1 Primera iteración Eje y x 0 x 1 y=f(x) Eje x Raiz verdadera f(x )0 f(x )1 Raiz aproximada x 2 Primera iteración Segundo paso:Trazar nuevamente una recta secante por los puntos (x1, f(x1)) y (x2, f(x2)); y el punto de intersección de la recta secante con el eje “x”, es la raíz aproximada. Eje y x 1 y=f(x) Eje x Raiz verdadera f(x )2 f(x )1 x 2 Segunda iteración Eje y x 1 y=f(x) Eje x Raiz verdadera f(x )2 f(x )1 Raiz aproximada x 2 x 3 Segunda iteración Y este proceso continua hasta encontrar una buena aproximación de la raíz. Del proceso iterativo dado, se obtiene que la fórmula de diferencias divididas esta dada por: f (xi) ≈ f(xi) − f(xi−1) xi − xi−1 (2.1) UNSCH Pag. 60
  • 62. Remplazando la fórmula (2.1) en la fórmula recursiva de Newton Raphson, tenemos: xn+1 = xn − f(xn) f (xn) xn+1 = xn − f(xn) f(xn) − f(xn−1) xn − xn−1 xn+1 = xn − f(xn)(xn − xn−1) f(xn) − f(xn−1) La fórmula recursiva del método de la secante está dada por: xn+1 = xn − f(xn)(xn − xn−1) f(xn) − f(xn−1) ; ∀n ≥ 1 Aproxime la raiz de la siguiente función: f(x) = e−x − x Aplicando el método de la secante, con puntos iniciales x0 = 0 y x1 = 1. Ejemplo 27 Solución Para aplicar el método de la secante es necesario tener 2 puntos iniciales x0 y x1, luego remplazar en su fórmula recursiva. ◦ Primera iteración:Para n = 1 =⇒ x2 = x1 − f(x1)(x1 − x0) f(x1) − f(x0) =? x0 = 0 =⇒ f(x0) = f(0) = e−0 − 0 = 1 x1 = 1 =⇒ f(x1) = f(1) = e−1 − 1 = −0.632121 Remplazando en la fórmula recursiva tenemos: x2 = 1 − − 0.632121(1 − 0) −0.632121 − 1 x2 = 0.612700 ◦ Segunda iteración:Para n = 2 =⇒ x3 = x2 − f(x2)(x2 − x1) f(x2) − f(x1) =? x1 = 1 =⇒ f(x1) = f(1) = e−1 − 1 = −0.632121 x2 = 0.612700 =⇒ f(x2) = f(0.612700) = e−0.612700 − 0.612700 = −0.070814 Remplazando en la fórmula recursiva tenemos: x3 = 0.612700 − − 0.070814(0.612700 − 1) −0.070814 − (−0.632121) x3 = 0.563839 UNSCH Pag. 61
  • 63. ◦ Tercera iteración:Para n = 3 =⇒ x4 = x3 − f(x3)(x3 − x2) f(x3) − f(x2) =? x2 = 0.612700 =⇒ f(x2) = f(0.612700) = e−0.612700 − 0.612700 = −0.070814 x3 = 0.563839 =⇒ f(x3) = f(0.563839) = e−0.563839 − 0.563839 = 0.005181 Remplazando en la fórmula recursiva tenemos: x4 = 0.563839 − 0.005181(0.563839 − 0.612700) 0.005181 − (−0.070814) x4 = 0.567170 ◦ Cuarta iteración:Para n = 4 =⇒ x5 = x4 − f(x4)(x4 − x3) f(x4) − f(x3) =? x3 = 0.563839 =⇒ f(x3) = f(0.563839) = e−0.563839 − 0.563839 = 0.005181 x4 = 0.567170 =⇒ f(x4) = f(0.567170) = e−0.567170 − 0.567170 = −0.000042 Remplazando en la fórmula recursiva tenemos: x5 = 0.567170 − − 0.000042(0.567170 − 0.563839) −0.000042 − 0.005181 x5 = 0.567143 ◦ Quinta iteración:Para n = 5 =⇒ x6 = x5 − f(x5)(x5 − x4) f(x5) − f(x4) =? x4 = 0.567170 =⇒ f(x4) = f(0.567170) = e−0.567170 − 0.567170 = −0.000042 x5 = 0.567143 =⇒ f(x5) = f(0.567143) = e−0.567143 − 0.567143 = 0.000000 Remplazando en la fórmula recursiva tenemos: x5 = 0.567143 − 0 x5 = 0.567143 UNSCH Pag. 62
  • 64. N◦ Itera. x0 x1 xn = xr Er = | xactual r − xant r xactual r | × 100 %. 1 0.000000 1.000000 0.612700 63.212012 2 1.000000 0.612700 0.563839 8.665772 3 0.612700 0.563839 0.567170 0.587302 4 0.563839 0.567170 0.567143 0.004761 5 0.567170 0.567143 0.567143 0.000000 6 0.567143 0.567143 0.567143 0.000000 7 0.567143 0.567143 0.567143 0.000000 8 0.567143 0.567143 0.567143 0.000000 9 0.567143 0.567143 0.567143 0.000000 10 0.567143 0.567143 0.567143 0.000000 Tabla 2.11: Resumen del método de la secante:x0 = 0 y x1 = 1 xr Inicio Fin x0, x1, n Desde i=1 hasta n fx0=e**(-x0)-x0 fx1=e**(-x1)-x1 xr=x1-(fx1(x1-x0)/(fx1-fx0)) x0=x1 x1=xr Diagrama de flujo del método de la secante UNSCH Pag. 63
  • 65. from math import * from math import * import numpy as np print(“MÈTODO DE LA SECANTE”) x0=float(input(“Ingrese el primer punto inicial:”)) x1=float(input(“Ingrese el segundo punto inicial:”)) n=int(input(“Ingrese el nùmero de interaciones:”)) print(“{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10}{:∧ 10}”.format(“Iter.”,“x0”,“x1”,“xr”,“ER %”)) for i in range (n): fx0=round(e**(-x0)-(x0),6) fx1=round(e**(-x1)-(x1),6) xr=round((x1-((fx1*(x1-x0))/((fx1-fx0)))),6) error=round((abs((xr-x1)/(xr))*100),6) print(“{:∧ 10}{:∧ 10.6f}{:∧ 10.6f}{:∧ 10.6f}{:∧ 10.6f}”.format(i+1,x0,x1, xr,error)) x0=x1 x1=xr print(“La raiz aproximada es:”,xr) Código en python :Método de la secante ◦ El método de la secante es un mtodo alternativo del método de Newton Raphson. ◦ Los métodos abiertos son más utilizados que los método cerrados. ◦ Para que los métodos convergan es necesario que los puntos iniciales esten cer- cados a la raiz Nota UNSCH Pag. 64
  • 66. Aproxime la raiz de la siguiente función: f(x) = x10 − 1 Aplicando el método de la secante, con punto inicial x0 = 0.5 y x1 = 0.8. Ejemplo 28 Solución N◦ Itera. x0 x1 xn = xr Er = | xactual r − xant r xactual r | × 100 %. 1 2 3 4 5 6 7 8 9 10 Tabla 2.12: Resumen del método de la secante:x0 = 0.5 y x1 = 0.8 UNSCH Pag. 65