42
2014 Alejandro González Vásquez Juan Jacobo Lozano Osorio Mateo Maya Uparela Manuela Yepes Gómez Universidad EAFIT 22-9-2014 Métodos numéricos para ingenieros

Métodos numéricos para ingenieros · PDF filemÉtodos numÉricos para ingenieros alejandro gonzÁlez vÁsquez 201310040014 juan jacobo lozano osorio 201117000014 mateo maya uparela

  • Upload
    vodang

  • View
    227

  • Download
    2

Embed Size (px)

Citation preview

2014

Alejandro González Vásquez

Juan Jacobo Lozano Osorio

Mateo Maya Uparela

Manuela Yepes Gómez

Universidad EAFIT

22-9-2014

Métodos numéricos para ingenieros

MÉTODOS NUMÉRICOS PARA INGENIEROS

ALEJANDRO GONZÁLEZ VÁSQUEZ 201310040014

JUAN JACOBO LOZANO OSORIO 201117000014

MATEO MAYA UPARELA 201310040014

MANUELA YEPES GÓMEZ 201110025012

Trabajo escrito

Solución de ecuaciones no lineales

Procesos numéricos ST0241

Docente: Gabriel Jaime Castaño Chica

Septiembre 22

UNIVERSIDAD EAFIT

FALCULTAD DE INGENIERÍA

MEDELLÍN

2014

TABLA DE CONTENIDO

1. INTRODUCCIÓN .............................................................................................. 3

2 OBJETIVOS ...................................................................................................... 4

2.1 OBJETIVO GENERAL ............................................................................... 4

2.2 OBJETIVOS ESPECÍFICOS ...................................................................... 4

3 MARCO TEÓRICO............................................................................................ 5

3.1 OCTAVE 3.2.4 ............................................................................................ 5 3.1.1 Justificación del uso del software y medición del error .................................................... 5 3.1.2 Entradas: Criterios de parada......................................................................................... 6 3.1.3 ....................................................................................................................................... 7

3.2 BÚSQUEDAS INCREMENTALES ............................................................. 7 3.2.1 Procedimiento en Excel. ................................................................................................ 8 3.2.2 Código de Búsquedas en Octave. .................................................................................. 9

3.3 MÉTODOS DE SOLUCIÓN DE ECUACIONES NO LINEALES DE UNA

SOLA VARIABLE .............................................................................................. 10 3.3.1 Bisección. .................................................................................................................... 11 3.3.2 Regla falsa................................................................................................................... 15 3.3.3 Punto fijo. .................................................................................................................... 19 3.3.5 Newton Modificado. ..................................................................................................... 27 3.3.6 Secante. ...................................................................................................................... 30

3.4 ANÁLISIS SOBRE RAPIDEZ DE CONVERGENCIA, LIMITACIONES Y

VENTAJAS ........................................................................................................ 34

3.5 DEFLACIÓN ........................................................................................... 380

3.6 ANEXOS ................................................................................................. 391 3.6.1 ANEXO A ............................................................................................................ 391 3.6.2 ANEXO B ............................................................................................................ 391 3.6.3 ANEXO C ............................................................................................................ 402 3.6.4 ANEXO D ............................................................................................................ 402

3.7 CONCLUSIONES ................................................................................... 413

3.8 BIBLIOGRAFÍA ...................................................................................... 424

1. INTRODUCCIÓN

El arte de la ingeniería consiste en la capacidad de plantear modelos matemáticos

que expliquen realidades complejas, sin embargo, el ingeniero se ve en la

necesidad de simular hipótesis, evaluarlas y, generalmente, redefinirlas hasta

verificar que la solución final obtenida corresponde a una aproximación de lo

esperado.

Las herramientas de cálculo agilizan considerablemente este proceso, según

(Zabala, 2011): La computación provee el software y el hardware que garantizan la

calidad y eficiencia de la solución, pero es el análisis numérico el que sustenta y

selecciona el método de solución adecuado. Los métodos numéricos permiten

resolver problemas a partir de aproximaciones usando operaciones aritméticas de

forma eficiente. Por lo tanto, sin los métodos numéricos y los sistemas de cómputo

no se hubiesen alcanzado los altos niveles de ciencia y tecnología que hoy

existen.

En este informe se presentarán diferentes métodos para la solución de modelos

matemáticos con ecuaciones no lineales de una variable y se desarrollarán los

códigos de programación con la herramienta de cómputo Octave 3.2.4.

Inicialmente, se describirá el fundamento y la metodología de cada proceso; Luego

se realizará un análisis comparativo de las diferentes técnicas con sus ventajas,

desventajas y limitaciones; Y finalmente se llegarán a una serie de conclusiones y

sugerencias con el propósito de dar pautas a los ingenieros para efectuar y

ejecutar la correcta selección e implementación de un método numérico para

construir, verificar o resolver un modelo matemático.

2 OBJETIVOS

2.1 OBJETIVO GENERAL

Aplicar de forma eficiente y asertiva los diferentes métodos de solución vistos en la

asignatura procesos numéricos, para la solución de ecuaciones no lineales de una

variable.

2.2 OBJETIVOS ESPECÍFICOS

Entender la metodología, el fundamento matemático y geométrico de cada

método de solución e identificar la estructura de los algoritmos en el

lenguaje de Octave 3.2.4.

Programar en Octave los códigos de cada una de las técnicas de solución,

utilizando el esquema de funciones.

Identificar la importancia de los métodos numéricos en la formulación y

evaluación de modelos matemáticos.

Reconocer las ventajas y limitaciones de cada estrategia de solución con el

propósito de generar pautas y sugerencias para la correcta selección e

implementación de los mismos.

3 MARCO TEÓRICO

A continuación se presenta la fundamentación teórica de los métodos de solución

de ecuaciones no lineales.

3.1 OCTAVE 3.2.4

3.1.1 Justificación del uso del software y medición del error. GNU Octave es un

lenguaje de alto nivel de libre distribución, destinado principalmente para cálculos

numéricos. Tiene una interfaz sencilla e interactiva para resolver problemas

lineales y no lineales y realizar otros experimentos numéricos usando un lenguaje

compatible con Matlab1. Cabe resaltar que Octave no es un sistema de álgebra

computacional, sino un sistema orientado al análisis numérico2.

Los métodos de solución de ecuaciones no lineales requieren de un alto número

de operaciones y por ello esta herramienta es indispensable para garantizar la

calidad de los resultados y la eficiencia del proceso. Sin embargo, Octave, como

todas las máquinas, tiene restricciones de capacidad de almacenamiento y por lo

tanto se ve obligado a redondear números que posteriormente son usados en

otras operaciones, lo que genera una propagación de error. Por lo anterior, el

ingeniero debe cuantificar ese desfase.

En el proceso de solución de problemas es evidente que no se tiene el valor

exacto, en consecuencia la medición del error se debe hacer en relación a la

precisión, es decir, a la dispersión de los datos. El error absoluto se calculará

1 About GNU Octave. [En línea] [Citado el: 11 de Septiembre de 2014.]

http://www.gnu.org/software/octave/about.html. 2 El Blog de la FRCU. [En línea] 15 de Mayo de 2009. [Citado el: 11 de Septiembre de 2014.]

http://utn-blog.blogspot.com/2009/05/software-open-source-para-calculos.html.

como la distancia entre el valor más reciente y el inmediatamente anterior

| |

3.1.2 Entradas: Criterios de parada. Los métodos de solución de problemas de

ecuaciones no lineales son métodos iterativos y por lo tanto el usuario establecer

unos criterios de parada que le indiquen a la máquina que ha encontrado la

solución que el usuario desea. Cuando por lo menos uno de los criterios se

cumple el proceso se detiene y el sistema arroja un resultado.

Número máximo de iteraciones [ ]: El usuario determina un número

de iteraciones que está dispuesto a hacer. Cabe resaltar que no siempre

son necesarias todas las iteraciones escogidas por el usuario.

Delta [ ] El usuario debe seleccionar un número δ lo suficientemente

pequeño para que el proceso se detenga cuando | | . Delta es el

valor límite para el cual la variable tiene sentido en el contexto del

problema.

Tolerancia [ ]: El usuario debe seleccionar un número lo suficientemente

pequeño para que el proceso se detenga cuando

Otras restricciones: Cada método puede presentar restricciones

adicionales para impedir operaciones prohibidas, como por ejemplo

divisiones por cero, raíces de números negativos, entre otros.

3.1.3. Presentación de resultados en Octave. La salida de todos los métodos de

solución de ecuaciones no lineales tendrá la forma de una matriz ( ; donde

es el número de iteraciones. Ésta proporcionará información acerca de los

cálculos realizados y almacenados en cada aproximación. (Ver Figura 1.)

# Iteración Aproximación

El último registro es la solución

Es el valor de la función evaluada en x

Error absoluto Error relativo

Rapidez de convergencia

3

Figura 1. Matriz de salida

Fuente: Construcción propia

3.2 BÚSQUEDAS INCREMENTALES

Se tiene que . Ambas son funciones definidas en el conjunto de los

reales y por lo menos una de ellas no es lineal.

La expresión se transforma a

Luego, la solución es el conjunto de valores que evaluados en dan cero.

Dichos valores se conocen como raíces.

¿Dónde se encuentran las raíces? Antes de seleccionar un método de solución, el

ingeniero debe realizar una búsqueda que le permita identificar al menos un

intervalo [ ] tal que: sea continua y , es decir, que la función

pueda ser dibujada sin levantar el lápiz y exista cambio de signo para garantizar

que el eje es cortado en algún momento. Para ello, se requiere una herramienta

de cómputo que agilice el proceso.

3 Que tan rápido el error se hace cero. Este concepto se ampliará en la sección 3.5.

3.2.1 Procedimiento en Excel. A continuación se describirán cada uno de los

pasos necesarios para realizar el proceso de búsqueda utilizando la herramienta

Excel.

Seleccionar un intervalo de valores [ ] a evaluar en la función

Seleccionar el incremento, de tal forma que:

Evaluar cada uno de los puntos.

Identificar al menos un intervalo donde la función cambia de signo.

Seleccionar uno de los intervalos encontrados. Tenga en cuenta que éste debe tener sentido en el contexto del problema estudiado.

Concluir. La solución al problema se encuentra en el intervalo [ ]

seleccionado, dado que en él la función es continua y cambia de

signo, por lo tanto, en algún momento se hace cero. Los métodos de

solución se deben enfocar en encontrar la raíz dentro de ese rango.

La Figura 2 ilustra un ejemplo de la construcción de la hoja de cálculo en Excel

para realizar el procedimiento anteriormente expuesto.

Figura 2. Ejemplo de Búsquedas incrementales en Excel.

Fuente: Construcción propia

3.2.2 Código de Búsquedas en Octave. Generalmente el ingeniero debe realizar

múltiples búsquedas y por lo tanto la construcción de una hoja de cálculo en Excel

para cada caso resulta laborioso, toma tiempo y da lugar a errores. Por lo anterior,

Octave es la herramienta apropiada para garantizar una mayor eficiencia y calidad

de la información. A continuación se presenta el código en este lenguaje.

function [ matriz ] = busqueda(a,b,incremento)

%Este programa se usa para encontrar los intervalos en

los que se localizan las raíces de una función, es

decir, la coordenada en x en la cual f(x) es cero.

format long %Este comando muestra todos los

resultados con la mayor cantidad de

decimales posible.

i=0; %Se inicializa el contador en cero.

while (a+incremento)<=b %Esta condición garantiza que se haga

la búsqueda en el dominio que el

usuario seleccione

x=funcion(a); %Se evalúa la función en a (f(a))

y=funcion(a+incremento); %Se evalúa la función en a+incremento

(f(a+incremento))

if x*y<=0 %Condición que verifica que haya

cambio de signo entre los dos puntos

del intervalo.

i=i+1; %Aumenta el contador para ubicar

acertadamente los intervalos en la

matriz.

matriz(i,1)=a; %Muestra el valor de a en la posición

i,1

matriz(i,2)=a+incremento;%Muestra el valor de a+incremento en

la posición i,2

a=a+incremento; %Se continua incrementando el valor de

'a' para buscar otros intervalos donde

haya cambio de signo

else

a=a+incremento; %En caso de que no haya cambio de

signo en el intervalo, se incrementa

'a' para continuar con la búsqueda.

endif

endwhile

endfunction

3.3 MÉTODOS DE SOLUCIÓN DE ECUACIONES NO LINEALES DE UNA

SOLA VARIABLE

Antes de seleccionar un método de solución es indispensable haber realizar el

proceso de búsquedas, dado que todas las técnicas requieren de un intervalo

[ ] tal que:

sea continua en [ ]

Teniendo lo anterior presente, se procederá a exponer el fundamento matemático

de cada técnica, su metodología y su respectivo código en Octave.

3.3.1 Bisección. Este método consiste en dividir el intervalo [ ] en dos partes de

igual tamaño tantas veces como sea necesario hasta encontrar la raíz de la

función. “En cada iteración, se genera un intervalo cada vez más pequeño que

contiene la raíz que se está buscando”. (Zabala, 2011)

3.3.1.1 Metodología

Paso 1. Calcular el valor promedio del intervalo, el cual se llamará . Luego

se forman dos intervalos: [ ] y [ ] (Ver Gráfica 1)

Gráfica 1. Bisección metodología paso 1.

Fuente: Construcción propia

Paso 2. Seleccionar el intervalo donde hay cambio de signo, es decir,

toma la posición del extremo del intervalo que tenga una imagen de igual

signo debido a que es de signo diferente al otro extremo del intervalo.

(Ver Gráfica 2)

Gráfica 2. Bisección metodología paso 2.

Fuente: Construcción propia

Paso 3. A ese nuevo intervalo, más pequeño, se le calcula el valor medio y

se repite el proceso anteriormente expuesto.(Ver Gráfica 3)

4

Gráfica 3. Bisección metodología paso 3.

Fuente: Construcción propia

4 En este caso la función cambia de signo en el intervalo [ ] y por ende toma el lugar de

Este procedimiento termina cuando al evaluar en la función se obtiene el

valor de cero, dado que indica que la raíz de la función ha sido encontrada.

En Octave el proceso de iteración acaba cuando al menos uno de los

criterios de parada se cumple.

3.3.1.2 Código de bisección en Octave.

function [ matriz ] = biseccion (a,b,nmax,delta,tolerancia)

format long %Esta herramienta muestra todos los resultados con la

mayor cantidad de decimales posible.

% a,b es el intervalo en el que se va a trabajar luego

de realizar la búsqueda.

%Se utilizan los criterios de parada de número máximo

de iteraciones, delta y tolerancia. El que primero se

cumpla, detiene el programa.

%Inicializadores

i=0;

m=delta+1;

error=tolerancia+1;

erroranterior=1;

q=a; %Se hace solo para la primera vez que el programa haga

un ciclo; esto garantiza que el error no sea cero y el

programa termine por el criterio de parada tolerancia.

while i<nmax & m>delta & error>tolerancia

%Se utilizan los criterios para que el programa

continúe

i=i+1; %Aumenta el contador de las iteraciones.

matriz(i,1)=i;

x=(a+b)/2; %Se divide el intervalo a la mitad.

matriz(i,2)=x;

y=funcion(x); %Se evalúa f(x)

matriz(i,3)=y;

m=abs(y); %Se nombra f(x) con 'm' para que sea evaluado

por el criterio de parada delta.

error=abs(x-q); %Se halla el error absoluto de las x

matriz(i,4)=error;

alpha=error/erroranterior; %Se halla la rapidez de convergencia.

matriz(i,5)=alpha;

%MOSTRANDO LA MATRIZ, EL ÚLTIMO VALOR DE X ES LA SOLUCIÓN

if funcion(a)*funcion(x)<0 %Condicionales para verificar que haya

cambio de signo entre los dos extremos

del intervalo en estudio.

b=x;

else

a=x;

endif

erroranterior=error;

q=x;

endwhile

endfunction

METODO COMPLEMENTARIO:VER ANEXO A

3.3.2 Regla falsa. Este método conserva la misma metodología de bisección,

excepto por la forma en la que parte el intervalo en dos. Para encontrar este punto

se debe calcular el intercepto con el eje de la recta que pasa por los puntos

y En cada iteración se genera un intervalo cada vez más

pequeño y similar a una recta que contiene la raíz que se está buscando. (Clase

magistral, 2014)

3.3.2.1Metodología

Paso 1.Trazar la línea recta que pasa por los puntos y

Paso 2.Calcular el intercepto de esta línea con el eje x con la expresión

punto pendiente de una recta. (Ver Gráfica 4)

Gráfica 4. Regla falsa metodología paso 2.

Fuente: Construcción propia

Paso 3. Seleccionar el intervalo donde hay cambio de signo, es decir,

toma la posición del extremo del intervalo que tenga una imagen de igual

signo.(ver Gráfica 5)

Gráfica 5. Regla falsa metodología paso 3.

Fuente: Construcción propia

Paso 4. A este nuevo intervalo, más pequeño y semejante a una línea

recta, se le aplica el mismo procedimiento.(ver Gráfica 6)

5

Gráfica 6. Regla falsa metodología paso 4.

Fuente: Construcción propia

Este proceso se termina cuando al evaluar “x” en la función se obtiene el

valor de cero, pues indica que la raíz de la función ha sido encontrada. En

Octave el proceso de iteración acaba cuando al menos uno de los criterios

de parada se cumple.

3.3.2.2. Código de Regla falsa en Octave

function [ matriz ] = rfalsa (a,b,nmax,delta,tolerancia)

format long %Esta herramienta muestra todos los resultados con la

mayor cantidad de decimales posible.

% a,b es el intervalo en el que se va a trabajar luego

de haber realizado la búsqueda.

%Se utilizan los criterios de parada de número máximo

de iteraciones, delta y tolerancia. El que primero se

cumpla, detiene el programa.

5 En este caso la función cambia de signo en el intervalo [ ], en consecuencia “ ” toma el lugar

de “b”.

%Inicializadores

i=0;

m=delta+1;

error=tolerancia+1;

erroranterior=1;

q=a; %Se hace solo para la primera vez que el programa haga

un ciclo; esto garantiza que el error no sea cero y el

programa no termine por el criterio de parada

tolerancia.

while i<nmax & m>delta & error>tolerancia

%Se utilizan los criterios para que el

programa continúe.

i=i+1; %Aumenta el contador de las iteraciones

matriz(i,1)=i;

x=b-(funcion(b)*(b-a))/(funcion(b)-funcion(a));

matriz(i,2)=x; %Se divide el intervalo en el punto

donde la recta que une a y b

intersecta el eje x

y=funcion(x); %Se evalúa f(x)

matriz(i,3)=y;

m=abs(y); %Se nombra f(x) con 'm' para que sea

evaluado por el criterio de parada

delta.

error=abs(x-q); %Se halla el error absoluto de las x

matriz(i,4)=error;

alpha=error/erroranterior; %Se halla la rapidez de convergencia.

matriz(i,5)=alpha;

%MOSTRANDO LA MATRIZ, EL ÚLTIMO VALOR DE X ES LA SOLUCION.

if funcion(a)*funcion(x)<0 %Condicionales para verificar que haya

cambio de signo entre los dos extremos

del nuevo intervalo en estudio.

b=x;

else

a=x;

endif

erroranterior=error;

q=x;

endwhile

endfunction

METODO COMPLEMENTARIO:(VER ANEXO A)

3.3.3 Punto fijo. A diferencia de los métodos de bisección y regla falsa, el método

de punto fijo genera una sucesión de valores que se espera converjan en la raíz

sin la necesidad de obtener intervalos que la contengan.

En los métodos anteriores, se buscaba el intercepto con el eje de la función

en el intervalo [ ] En esta técnica se indagará por el intercepto de la

curva con la recta [ ], dado que en este lugar .

Este punto se conoce como Punto fijo.

Para encontrar la función se debe despejar de una de las incógnitas, de

tal forma que El punto fijo satisface entonces la función dado que al

ser igual a , se cumple la igualdad , indicando

que la raíz de la función ha sido encontrada.

La función debe cumplir las siguientes dos condiciones para garantizar la

existencia y unicidad del punto fijo.

El punto fijo existe si: es continua en [ ] y [ ] [ ]

El punto fijo es único si: | | [ ]

67

3.3.3.1Metodología

Realizar la búsqueda para encontrar un intervalo [a,b] tal que:

f(x) es continua en [a,b]

f(a) . f(b) < 0

Despejar una incógnita de la función para obtener una función

Es importante resaltar que no toda función sirve, dado que puede

permitir operaciones prohibidas o arrojar resultados por fuera del intervalo

[ ] En ese caso se debe buscar otra función.

Elegir un [ ]

Evaluar en para obtener el punto siguiente de la sucesión;

En general evaluar en para calcular .(ver Gráfica 7)

6 Si la pendiente de la función siempre es menor a 1 (pendiente de ), entonces existirá

solo un intercepto y por lo tanto el punto fijo es único. 7 Toda función continua que se dibuje en el intervalo [ ] sin salirse del recuadro debe cortar la

recta y por lo tanto existe un punto fijo.

El proceso de iteración termina al encontrar un tal que al evaluarlo en la

función arroje el mismo valor, es decir, dado que indica

que el punto fijo ha sido encontrado. En Octave el proceso de iteración

acaba cuando al menos uno de los criterios de parada se cumple.

Gráfica 7. Punto fijo metodología.

Fuente: Construcción propia

3.3.3.2 Código Punto fijo en Octave

function [matriz] = puntofijo (a,nmax,delta,tolerancia)

format long %Esta herramienta muestra todos los

resultados con la mayor cantidad de

decimales posible.

% a es un punto cualquiera dentro del

intervalo en el que se va a trabajar. (Este

intervalo se halló en la búsqueda).

%Se utilizan los criterios de parada de

número máximo de iteraciones, delta y

tolerancia. El que primero se cumpla,

detiene el programa.

%Inicializadores

i=0;

m=delta+1;

error=tolerancia+1;

erroranterior=1;

while i<nmax & m>delta & error>tolerancia %Se utilizan los criterios

para que el programa

continúe

i=i+1; %Aumenta el contador de las iteraciones

matriz(i,1)=i;

x=guncion(a); %Se evalúa la 'a' en la función g(x) para

encontrar la nueva x que se evaluara

posteriormente en la misma función g(x)

matriz(i,2)=x;

y=funcion(x); %Se evalúa la x en la función f(x) hasta que

dé cero o algún criterio de parada

interrumpa el programa.

matriz(i,3)=y;

m=abs(y); %Se nombra f(x) con 'm' para que sea

evaluado por el criterio de parada delta.

error=abs(x-a); %Se halla el error absoluto entre 'a' y 'x'

matriz(i,4)=error;

alpha=error/erroranterior; %Se halla la rapidez de convergencia.

matriz(i,5)=alpha;

erroranterior=error;

a=x; %Se nombra x con 'a' para realizar

nuevamente el ciclo

%MOSTRANDO LA MATRIZ, EL ÚLTIMO VALOR DE X ES LA SOLUCIÓN.

endwhile

endfunction

METODO COMPLEMENTARIO:(VER ANEXO A Y ANEXO B)

3.3.4 Newton-Raphson. El método de Newton-Raphson es un caso particular de

punto fijo al utilizar la forma para encontrar la raíz de la función Esta

técnica también genera una sucesión de valores que convergen a la raíz de

sin embargo el método de aproximación se realiza a partir del trazado de

tangentes; De allí el otro nombre que recibe esta estrategia, “el método de

tangentes”.

En este caso, la función se calcula a partir de la expresión punto pendiente

de la tangente de que pasa por los puntos y ( ,0). (Ver

Gráfica 8)

Gráfica 8. Construcción de la tangente

Fuente: Construcción propia

( )

3.3.4.1 Metodología

Encontrar la función única con la expresión

Elegir un [ ]

Evaluar en para obtener el punto siguiente de la sucesión;

En general evaluar en para calcular

El proceso de iteración termina al encontrar un tal que al evaluarlo en la

función arroje , dado que indica que la raíz de ha sido

encontrada.

Es importante resaltar que este método puede presentar problemas cuando la

derivada se aproxima a cero. A continuación se presenta la Gráfica 9, ilustrando la

metodología anteriormente expuesta.

Gráfica 9. Newton Raphson metodología.

Fuente: Construcción propia

3.3.4.2Código Newton-Raphson en Octave

function [matriz] = nraphson (a,nmax,delta,tolerancia)

format long %Esta herramienta muestra todos los

resultados con la mayor cantidad de

decimales posible.

% a es un punto cualquiera dentro del

intervalo en el que se va a trabajar. Este

intervalo se halló en la búsqueda.

%Se utilizan los criterios de parada de

número máximo de iteraciones, delta y

tolerancia. El que primero se cumpla,

detiene el programa.

%Inicializadores

i=0;

m=delta+1;

error=tolerancia+1;

erroranterior=1;

while i<nmax & m>delta & error>tolerancia & dfuncion(a)~=0

%Se utilizan los criterios para que el

programa continúe

i=i+1; %Aumenta el contador de las iteraciones

matriz(i,1)=i;

x=a-(funcion(a)/dfuncion(a)); %Se selecciona la nueva x. Esta

'x' es el punto de intersección

entre la línea tangente al punto

a y el eje x.

matriz(i,2)=x;

y=funcion(x); %Se evalúa la x en la función f(x) hasta que

dé cero o algún criterio de parada

interrumpa el programa.

matriz(i,3)=y;

m=abs(y); %Se nombra f(x) con 'm' para que sea

evaluado por el criterio de parada delta.

error=abs(x-a); %Se halla el error absoluto de las x

matriz(i,4)=error;

alpha=error/erroranterior^2; %Se halla la rapidez de convergencia.

matriz(i,5)=alpha;

erroranterior=error;

a=x; %Se nombra x con 'a' para realizar

nuevamente el ciclo

%MOSTRANDO LA MATRIZ, EL ÚLTIMO VALOR DE X ES LA SOLUCION.

endwhile

endfunction

METODOS COMPLEMENTARIOS:(VER ANEXO A Y ANEXO C)

3.3.5 Newton Modificado. Este método es una corrección a la técnica de Newton-

Raphson, dado a que éste último solo garantiza la convergencia en la raíz si y solo

si la derivada de la función nunca se hace cero.

Gráfica 10. Newton Raphson modificado metodología.

Fuente: Construcción propia

El método de Newton Raphson modificado permite resolver funciones no lineales que

contengan raíces críticas (máximos, mínimos o puntos de inflexión que corten el eje

), es decir, lugares donde simultáneamente la función y su primera derivada se

hagan cero. En estos puntos la raíz se repite y por ello recibe el nombre de raíz

múltiple.

Cuando la raíz es un punto de inflexión, la raíz se repite un número impar de

veces.

Cuando la raíz es un máximo o un mínimo, la raíz se repite un número par de

veces.

Código de Newton modificado en Octave

function [matriz] = newtonmod (a,nmax,delta,tolerancia)

format long %Esta herramienta muestra todos los

resultados con la mayor cantidad de

decimales posible.

% a es un punto cualquiera dentro del

intervalo en el que se va a trabajar. Este

intervalo se halló en la búsqueda.

%Se utilizan los criterios de parada de

número máximo de iteraciones, delta y

tolerancia. El que primero se cumpla,

detiene el programa.

%Inicializadores

i=0;

m=delta+1;

error=tolerancia+1;

erroranterior=1;

while i<nmax & m>delta & error>tolerancia & dfuncion(a)~=0

%Se utilizan los criterios para que el

programa continúe

i=i+1; %Aumenta el contador de las iteraciones

matriz(i,1)=i;

x=a-((funcion(a)*dfuncion(a))/(dfuncion(a) 2̂-funcion(a)*d2funcion(a)));

%Se selecciona la nueva x. Esta 'x' es el

punto de intersección entre la línea

tangente al punto a y el eje x. Ahora no

importa si la pendiente es cero. El programa

seguirá funcionando.

matriz(i,2)=x;

y=funcion(x); %Se evalúa la x en la función f(x) hasta que

dé cero o algún criterio de parada

interrumpa el programa.

matriz(i,3)=y;

m=abs(y); %Se nombra f(x) con 'm' para que sea

evaluado por el criterio de parada delta.

error=abs(x-a); %Se halla el error absoluto de las x

matriz(i,4)=error;

alpha=error/erroranterior^2; %Se halla la rapidez de convergencia.

matriz(i,5)=alpha;

erroranterior=error;

a=x; %Se nombra x con 'a' para realizar

nuevamente el ciclo

%MOSTRANDO LA MATRIZ, EL ÚLTIMO VALOR DE X ES LA SOLUCION.

endwhile

endfunction

MÉTODOS COMPLEMENTARIOS:(VER ANEXO A, ANEXO C Y ANEXO D)

3.3.6 Secante. El método de la secante es otra alternativa de corrección al

método de Newton-Raphson. Este método genera una sucesión de valores que

convergen en la raíz de a partir del trazado de rectas secantes entre dos

puntos de la función. No es requisito que entre dichos puntos se presente cambio

de signo y tampoco que correspondan a los extremos del intervalo previamente

encontrado.

Es importante resaltar que esta función es similar a la de regla falsa, sin embargo,

el método de la secante es mucho más rápido al no tener que preocuparse por

encontrar un intervalo donde la función cambie de signo.

3.3.6.1Metodología

Seleccionar dos puntos cualquiera dentro del intervalo [ ] los cuales se

llamarán

Evaluar ambos puntos en la función y unir sus imágenes con una recta

hasta que el eje x sea cortado.

Para calcular el punto que corta el eje x, aplicar la fórmula anteriormente

expuesta.

Evaluar en la función y unir su imagen con la del punto

Repetir el procedimiento, hasta encontrar un valor tal que al evaluarlo en

la función de cero, o lo que es lo mismo, hasta que .

Gráfica 11. Secante metodología.

Fuente: Construcción propia

3.3.6.2 Código de la secante en Octave

function [ matriz ] = secante (a,b,nmax,delta,tolerancia)

format long %Esta herramienta muestra todos los

resultados con la mayor cantidad de

decimales posible.

% a,b son dos puntos dentro del intervalo en

el que se va a trabajar para formar la linea

secante. Este intervalo se halló en la

búsqueda.

%Se utilizan los criterios de parada de

número máximo de iteraciones, delta y

tolerancia. El que primero se cumpla,

detiene el programa.

%Inicializadores

i=0;

m=delta+1;

error=tolerancia+1;

erroranterior=1;

while i<nmax & m>delta & error>tolerancia & funcion(b)~=funcion(a)

%Se utilizan los criterios para que el

programa continúe

i=i+1; %Aumenta el contador de las iteraciones

matriz(i,1)=i;

x=b-((funcion(b)*(b-a))/(funcion(b)-funcion(a)));

%Se consigue el nuevo punto con la

intersección entre la línea secante y el eje

x.

matriz(i,2)=x;

y=funcion(x); %Se evalúa la x en la función f(x) hasta que

dé cero o algún criterio de parada

interrumpa el programa.

matriz(i,3)=y;

m=abs(y); %Se nombra f(x) con 'm' para que sea

evaluado por el criterio de parada delta.

error=abs(x-b); %Se halla el error absoluto de las x

matriz(i,4)=error;

alpha=error/erroranterior^((1+sqrt(5))/2);

%Se halla la rapidez de convergencia.

matriz(i,5)=alpha;

erroranterior=error;

a=b; %'b' se convierte en 'a'

b=x; %'x' se convierte en 'b'

%MOSTRANDO LA MATRIZ, EL ÚLTIMO VALOR DE X ES LA SOLUCION.

endwhile

endfunction

MÉTODO COMPLEMENTARIO:(VER ANEXO A)

3.4 ANÁLISIS SOBRE RAPIDEZ DE CONVERGENCIA, LIMITACIONES Y

VENTAJAS

Luego haber comprendido el fundamento teórico y la metodología de cada

estrategia de solución, se analizarán aspectos como la rapidez de convergencia,

limitaciones y ventajas de cada técnica, con el propósito construir conclusiones,

sugerencias y recomendaciones que sirvan como herramientas para la correcta

selección y aplicación de los métodos.

A continuación se presenta la Tabla1, la cual expone a modo de cuadro

comparativo las características de las diferentes metodologías.

Rapidez de convergencia Limitaciones Ventajas

Bisección

En cada iteración el error se reduce a la

mitad.

-El número máximo de divisiones

depende de la capacidad de

almacenamiento de la máquina.

-Generalmente es más lento.

-Solo sirve para raíces simples.

-Mientras se tenga un intervalo

que contenga una raíz, él

siempre converge.

-Es útil cuando no se sabe nada

acerca de la función

Regla falsa

Más rápido que bisección

ó

Más lento que bisección

-Debe preguntar por un intervalo

donde la función cambie de signo.

-Solo sirve para raíces simples.

-Entre se asemeje más a

una recta, el método funciona

mejor.

Punto fijo

-Hay funciones que no tiene punto

fijo como

-Hay funciones que tienen infinitos

puntos fijos como

-La función se obtiene a ensayo

y error, en ocasiones la solución

diverge.

-Solo sirve para raíces simples.

-Es útil para verificar la

convergencia de una serie o

sucesión.

Newton-Raphson

Son los métodos más rápidos

La sucesión no converge si la

primera derivada se hace cero. Por lo

tanto, no es recomendable aplicar

este método para funciones con

muchos máximos, mínimos y picos.

-Solo sirve para raíces simples.

-Se requiere derivar.

-No siempre converge.

La velocidad de convergencia

es alta.

Tiene menos operaciones que

Newton modificado.

Newton modificado

Son los métodos más rápidos

-Hay que derivar dos veces.

Cuando

-Es recomendable para

funciones con muchos valores

críticos (máximos, mínimos y

puntos de inflexión), dado que

converge aún si

-Sirve para raíces múltiples.

-La velocidad de convergencia

es alta

Secante

Es mejor que la convergencia lineal, pero no

tanto como la convergencia cuadrática.

-No hay que derivar. Sólo se debe

ingresar la función .

-No debe preguntar por un intervalo

donde la función cambie de signo.

-No siempre converge.

Solo sirve para raíces simples.

-No es necesario un intervalo

que contenga la raíz.

-Entre más se parezca la

función a una recta, mejor

funciona este método.

Tabla 1. Análisis de rapidez de convergencia, limitaciones y ventajas.

3.5 DEFLACIÓN

Deflación es un procedimiento utilizado especialmente en polinomios el cual es basa

en encontrar tantas soluciones como grados tenga el polinomio, es decir,

dependiendo del grado del polinomio se encuentra cierta cantidad de raíces.

Un caso ideal sería cuando, después de realizar la búsqueda, se encuentren la

misma cantidad de intervalos como raíces que tiene la función; pero son escazas las

situaciones que ocurre. Para esto se realiza el siguiente procedimiento suponiendo

que, en un polinomio de grado mayor a dos, solo tenemos un intervalo donde f(x) se

hace cero:

Se realiza división sintética por la raíz obtenida en el intervalo encontrado.

Como el grado del polinomio se redujo, vuelvo a realizar la búsqueda en el

nuevo polinomio, encuentro la raíz y realizo división sintética por la raíz

encontrada.

Una vez el polinomio sea de grado 2, se utiliza la ecuación general

para encontrar las últimas dos raíces.

NOTA: Puede darse el caso en que, luego de realizar la división sintética, el

intervalo arrojado en la búsqueda del nuevo polinomio sea igual al intervalo

anterior y que, a la vez, encontremos la misma raíz. Esto quiere decir que la raíz

se repite y puedo continuar con el procedimiento.

Se debe tener en cuenta que, en algunos polinomios, se pueden encontrar raíces

reales, repetidas y/o imaginarias.

3.6 ANEXOS

3.6.1 ANEXO A

function [ y ] = funcion (x)

%En este programa puedo tener muchas funciones distintas pero

solamente una activa. Para activarla o desactivarla, utilizo el

símbolo de porcentaje (%)

%La función activa es la que no tiene símbolo de porcentaje, es

decir, la que no está como comentario.

y=exp(x)-x^2-3*x^3-14*cos(x);

%y=(log(x^2+1)-3*x)/tan(x);

Endfunction

3.6.2 ANEXO B

function [ y ] = guncion (x)

%En este programa se ubican las x despejadas de la función en la

que se está trabajando. Puedo tener muchas funciones distintas

pero una sola activa. Para activarla o desactivarla, utilizo el

símbolo de porcentaje (%)

%La función activa es la que no tiene símbolo de porcentaje, es

decir, la que no está como comentario.

% En este caso, esta es la función en la que se está trabajando

y posteriormente se encuentran ecuaciones de las x despejadas.

[y=exp(x)-x^2-3*x^3-14*cos(x)]

%Despejando x^2,

y=(exp(x)-3*x^3-14*cos(x))/x;

%Despejando x^2,

%y=(exp(x)-3*x^3-14*cos(x))^(1/2)

%Despejando 3*x^3

%y=((exp(x)-x^2-14*cos(x))/3)^(1/3);

Endfunction

3.6.3 ANEXO C

function [ y ] = dfuncion (x)

%En este programa se tienen las derivadas de las funciones en

los programas que necesitan de éstas.

% Derivada de (exp(x)-x^2-3*x^3-14*cos(x))

y=(exp(x)-2*x-9*x^2+14*sin(x));

endfunction

3.6.4 ANEXO D

function [ y ] = d2funcion (x)

%En este programa se tienen las segundas derivadas de las

funciones en los programas que necesitan de éstas.

% Segunda Derivada de (exp(x)-x^2-3*x^3-14*cos(x))

y=(exp(x)-2-18*x+14*cos(x));

endfunction

3.7 CONCLUSIONES

Se comprendió que los métodos de solución propuestos por el análisis

numérico facilitan el trabajo del ingeniero, dado a que en general los modelos

matemáticos que se deben resolver son complejos y sin una herramienta de

cómputo, que de forma rápida ejecute dichos métodos de aproximaciones, no

se podrían obtener soluciones con alta eficiencia y calidad.

Se evidenció que Octave es una herramienta de cómputo, que a pesar de

tener limitaciones de almacenamiento, realiza las aproximaciones teniendo en

cuenta el grado el calidad solicitado por el usuario y que además brinda la

información suficiente para que éste realice el análisis respectivo para la toma

de decisiones.

Se comprendió el fundamento, la metodología y la estructura de programación

de los diferentes métodos de solución y por lo tanto, se está en capacidad de

resolver cualquier modelo matemático que involucre ecuaciones no lineales de

una sola variable.

Se identificaron ventajas y limitaciones de cada una de las estrategias de

solución y en base a ello se llegó a las siguientes recomendaciones:

Si es usuario desea seleccionar un método de solución que tenga

pocas iteraciones, debe tener en cuenta que los métodos de

convergencia lineal son los más lentos (Bisección, regla falsa y punto

fijo), mientras que los métodos de convergencia cuadrática son los más

rápidos (Newton y raíces múltiples)

Antes de seleccionar un método de solución resulta útil utilizar una

herramienta de graficación como GeoGebra, dado que permite

identificar la naturaleza de la función para determinar que fundamento

geométrico se ajusta más para su solución.

Es indispensable que el usuario establezca correctamente el grado de

calidad de los resultados deseados.

3.8 BIBLIOGRAFÍA

ZABALA, Francisco Jose Correa. Solución Numérica de ecuaciones de una variable.

En: Métodos Numéricos. 1 ed. Medellín. Fondo editorial Universidad EAFIT, 2011. p.

91-140

CLASE MAGISTRAL PROCESOS NUMÉRICOS. (25, 27 Octubre; 1,3,8,12,15

Septiembre, 2014: Medellín, Colombia). Notas de clase. Universidad EAFIT.

About GNU Octave. [En línea] [Citado el: 11 de Septiembre de 2014.]

http://www.gnu.org/software/octave/about.html.

El Blog de la FRCU. [En línea] 15 de Mayo de 2009. [Citado el: 11 de Septiembre de

2014.] http://utn-blog.blogspot.com/2009/05/software-open-source-para-calculos.html.

The Importance of Team Roles In Teamwork. [En línea] 12 de Abril de 2012. [Citado

el: 10 de Septiembre de 2014.] http://blog.valerisys.com/tlt/the-importance-of-team-

roles-in-teamwork/.