You are on page 1of 215

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

LIBRO SABATICO 2006-2007

CONTENIDO.
CONTENIDO
PRESENTACION
PREFACIO
Capitulo 1 GENERALIDADES DEL MATLAB
Generalidades y Caractersticas del MATLAB
1.1 GENERALIDADES.

Capitulo 2 TRABAJANDO CON MATLAB


2.1 NUMERACION Y OPERADORES.
2.2 COMANDOS DE PROGRAMACION.

2.3 PROGRAMAS DE EJEMPLOS VARIADOS.

Comandos MATEMATICOS BASICOS DEL MATLAB


2.4 VECTORES Y MATRICES.
2.5 OPERACIONES MATEMATICAS SIMPLES CON VECTORES Y
MATRICES.

JOSE GARZON ARIAS

-1-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

2.6 COMANDOS MATEMATICOS PARA VECTORES.


2.6.1 Comando MIN.
2.6.2 Comando MAX.
2.6.3 Comando CROSS.
2.6.4 Comando LENGTH.
2.7 COMANDOS MATEMATICOS PARA MATRICES.
2.7.1 Comando NORM.
2.7.2 Comando MIN.
2.7.3 Comando MAX.
2.7.4 Comando SIZE.
2.7.5 Comando EIG.
2.7.6 Comando INV.
2.7.7 Comando DET.

BIBLIOGRAFIA

JOSE GARZON ARIAS

-2-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Capitulo 3 MOTIVACION DEL ESTUDIO DE LOS


METODOS NUMERICOS
3.0

MODELOS FISICOS Y MATEMATICOS

3.1

SOLUCION DE X2=2
a) Solucin Analtica.
b) Solucin Numrica.

3.2 MODELOS MATEMATICOS Y ALGORITMOS


a) Aplicaciones de los Mtodos Numricos.
b) Algoritmo de Euclides.
c) Recursividad y Caractersticas de un algoritmo.
d) Caractersticas de un Mtodo Numrico.

3.3 TIPOS DE ERRORES


a) Cifras significativas de un Nmero.
b) Error de redondeo.
c) Reglas de Redondeo.
d) Errores de truncamiento.
e) Error relativo.
f) Error absoluto.

BIBLIOGRAFIA

JOSE GARZON ARIAS

-3-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Capitulo 4 SOLUCION NUMERICA DE ECUACIONES


4.0

DEFINICIONES BASICAS

4.1

ANALISIS DE RAICES DE ECUACIONES POLINOMIALES


c) Solucin Analtica.
d) Solucin Numrica.

4.2 SOLUCIONES DE ECUACIONES NO LINEALES


e) Aplicaciones de los Mtodos Numricos.

4.3 METODOS DE APROXIMACIONES SUCESIVAS


g) TEOLREMA DE CONVERGENCIA.
h) PUNTOS FIJOS.
i) ITERACION DE PUNTOS FIJOS.
j) EL METODO DE APROXIMACION SUCESIVAS COMO ITERACION
DE PUNTOS FIJOS .

4.4 METODO DE BISECCION.


a) TEOREMA DE VALOR INTERMEDIO.
b) ALGORITMO DEL METODO DE BISECCION
c) ANALISIS DE ERROR

4.5 METODO DE NEWTON RAHPSON

BIBLIOGRAFIA

JOSE GARZON ARIAS

-4-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Capitulo 5 SISTEMAS LINEALES DE ECUACIONES


5.0

SISTEMA LINEAL DE ECUACIONES


a) CLASIFICACION DE LOS SISTEMAS LINEALES.

5.1

5.2

NORMA DE UNA MATRIZ Y MATRICES CONVERGENTES


.
CONVERGENCIA DE MATRICES
a) TEOREMA DE CONVERGENCIA DE MATRICES.

5.3
METODOS ITERATIVOS PARA RESOLVER SISTEMAS
LINEALES DE ECUACIONES
a) METODO DE JACOBI.

BIBLIOGRAFIA

Capitulo 6 INTERPOLACION Y APROXIMACION


6.0
6.1

DEFINICIONES BASICAS.
INTERPOLACION DE NEWTON.
a) DIFERENCIAS DIVIDIDAS
b) POLINOMIOS DE NEWTON

6.2 INTERPOLACION DE LAGRANGE


JOSE GARZON ARIAS

-5-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

6.2

INTERPOLACION DE SPLINES CUBICOS

6.3.1 INTERPOLACION POLINOMIAL A TROZOS.


6.3.2 SPLINES CUBICOS .
BIBLIOGRAFIA

Capitulo 7 AJUSTE DE CURVAS


7.0

DEFINICION DE AJUSTE DE CURVAS.

7.1

METODO DE MINIMOS CUADRADOS.

7.2

ERROR ESTNDAR DE ESTIMACION.


a) COEFICIENTE DE DETERMINACION
b) COEFICIENTE DE CORRELACION.

7.3

MODELO DE REGRESION LINEAL CON EL USO DE


MATRICES.

7.4

REGRESION LINEAL MULTIPLE


a) ESTIMACION DE LOS COEFICIENTES
b) INFERENCIAS EN LA REGRESIN LINEAL MLTIPLE

7.5

PREDICCION.

7.6

CORRELACION.

BIBLIOGRAFIA

JOSE GARZON ARIAS

-6-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Capitulo 8 INTEGRACION NUMERICA


8.0

DEFINICIONES BASICAS.
a) DEFINICION DE INTEGRACION
b) INTEGRACION NUMERICA.

8.1

METODOS DE INTEGRACION CERRADA.

8.1.1 REGLA DEL TRAPECIO.


8.1.2 REGLA DE SIMPSON.

8.2

METODOS DE INTEGRACION ABIERTA

8.2.1 METODO DE CUADRATURA DE GAUSS.


8.2.2 METODO DE INTEGRACION DE ROMBERG.
BIBLIOGRAFIA

JOSE GARZON ARIAS

-7-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

PRESENTACION
La enseanza de los mtodos Numricos, actualmente se encuentra
ntimamente ligada a la construccin de sistemas matemticos de alta
precisin y exactitud. De aqu que esta haya evolucionado , y este
evolucionando continuamente, sobre todo para satisfacer las necesidades y
requerimientos de los instrumentos de control numrico ,diseo de ingeniera,
y en muchos otros de los campos cientficos.
La mayor parte de los ingenieros dependen de herramientas de tipo
robtico, que requieren de aproximaciones cada vez mas exactas y precisas.
Es por tanto deseable que a la par de la enseanza Terica de los Mtodos
Numricos, vaya apareado , la enseanza de un lenguaje de programacin de
alto nivel, que permita escribir directamente todos los algoritmos matemticos
que se van desarrollando durante el curso. En el caso del presente libro se
utiliza, el Matlab, por ser un sistema Matemtico, muy flexible y relativamente
sencillo de utilizar .
Este libro surge de la experiencia de haber enseado la asignatura de
Mtodos Numricos durante seis semestres consecutivos , que se imparte en
el cuarto semestre de la carrera de Ingeniera en Informtica y la Licenciatura
JOSE GARZON ARIAS

-8-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


de Ciencias de la Informtica ,de la UPIICSA del INSTITUTO POLITECNICO
NACIONAL.; durante el cual he utilizado el mtodo de participacin iterativa , y
de trabajo en equipo simultaneo, que permite al alumno , tener un doble canal
de interaccin con el docente y retroalimentacin con sus compaeros.

JOSE GARZON ARIAS

-9-

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

PREFACIO

Muchos de los problemas en matemticas continuas no tienen una


solucin exacta , por ejemplo encontrar los valores de la funcin de error
exp x , y resolver una ecuacin general polinomial de grado cinco o mayor
2

(Teorema de Abel-Ruffini). En estas situaciones , se escoge cualquiera de las


dos opciones :
1.- Se trata de encontrar una solucin aproximada usando anlisis
asinttico.
2.- Se busca una solucin Numrica . Esto se hace por medio del
anlisis numrico.

HISTORIA.

EL campo de los mtodos Numricos , es anterior a la invencin de las


computadoras modernas. La interpolacin lineal fue usada hace mas de 2000
aos . Muchos de los grandes Matemticos, del pasado se preocuparon por el
anlisis numrico.

JOSE GARZON ARIAS

- 10 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Lo cual se observa en los nombres de algoritmos importantes, tales
como El mtodo de Newton , Interpolacin polinomial de Lagrange ,
eliminacin Gausiana , o el mtodo de Euler.
Para facilitar los clculos a mano se elaboraron enciclopedias con
formulas y tablas , de datos como puntos de interpolacin y coeficientes .
Usando esas tablas , frecuentemente se calculaba hasta 16 lugares
decimales o mas para algunas funciones . Las estimaciones que se obtenan
eran bastante precisas.
El trabajo cannico en el campo

, es la publicacin editada por

Abramowitz and Stegun. Un libro de mas de 100 paginas que contiene un


gran numero de expresiones matemticas y funciones comnmente usadas ,
as como sus valores en diferentes puntos . Los valores de las funciones no
son muy tiles cuando se tiene una computadora , sin embargo la gran lista de
expresiones matemticas suele ser muy til.
La calculadora mecnica se desarrollo como una herramienta para los
clculos manuales en 1940 encontrndose que las calculadoras fueron tiles
para clculos administrativos. Sin embargo la invencin de la computadora y
los lenguajes de alto nivel , influenciaron el campo del anlisis numrico, ya
que estas permiten que se desarrollen clculos mas grandes y mas
complicados .
JOSE GARZON ARIAS

- 11 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


El uso del software especializado, permiten implementar los algoritmos
en computadora . Hay ya muchos paquetes matemticos , que contienen
libreras especificas de los mtodos, mas usuales , es decir algoritmos
clsicos que pueden ser manejados por ingenieros, en diversos campos de
aplicacin o a nivel administrativo , aun cuando sean operados por no
especialistas; tal es el caso de GNU librera cientfica o bien las libreras,
IMSL y NAG . Otro lenguaje popular para clculos numricos es el Matlab ,
que ser el que se utilizara en el presente texto.

JOSE GARZON ARIAS

- 12 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 13 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTRODUCCION AL MATLAB
ORIGEN
INICIACIN AL MATLAB
CARACTERSTICAS DEL ENTORNO
SALIDAS O PRESENTACIONES
FUNCIONES DE MATLAB

LIBRERIAS

VENTANAS

OPERACIONES CON VECTORES Y MATRICES

GRAFICAS

FUNCIONES ESPECIALES

JOSE GARZON ARIAS

- 14 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTRODUCCIN AL MATLAB.

MATLAB es un entorno de computacin y desarrollo de


aplicaciones totalmente integrado orientado para llevar a cabo
proyectos en donde se encuentren implicados elevados clculos
matemticos y la visualizacin grfica de los mismos. MATLAB integra
anlisis numrico, clculo matricial, proceso de seal y visualizacin
grfica en un entorno completo donde los problemas y sus soluciones
son expresados del mismo modo en que se escribiran racionalmente,
sin necesidad de hacer uso de la programacin tradicional.
MATLAB dispone tambin en la actualidad de un amplio abanico
de programas de apoyo especializados, denominados Toolboxes, que
extienden significativamente el nmero de funciones incorporadas en el
programa

principal.

Estos

Toolboxes

cubren

en

la

actualidad

prcticamente casi todas las reas principales en el mundo de la


ingeniera y la simulacin, destacando entre ellos el 'toolbox' de proceso

JOSE GARZON ARIAS

- 15 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


de imgenes, seal, control robusto, estadstica, anlisis financiero,
matemticas simblicas, redes neuronales, lgica difusa, identificacin
de sistemas, simulacin de sistemas dinmicos, etc. Es un entorno de
clculo tcnico, que se ha convertido en estndar de la industria, con
capacidades no superadas en computacin y visualizacin numrica.
De forma coherente y sin ningn tipo de fisuras, integra los
requisitos claves de un sistema de computacin tcnico: clculo
numrico, grficos, herramientas para aplicaciones especificas y
capacidad de ejecucin en mltiples plataformas. Esta familia de
productos proporciona al estudiante un medio de carcter nico, para
resolver los problemas ms complejos y difciles.

ORIGEN

MATLAB nace como una solucin a la necesidad de mejores y


mas poderosas herramientas de calculo para resolver problemas de
calculo complejos en los que es necesario aprovechas las amplias
capacidades de proceso de datos de grandes computadores.

JOSE GARZON ARIAS

- 16 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


El nombre MATLAB viene de "matrix laboratory" (laboratorio
matricial). MATLAB fue originalmente escrito para proveer acceso fcil
al software matricial desarrollado por los proyectos LINPACK y
EISPACK, que juntos representan el estado del arte y software para
computacin matricial. Hoy MATLAB es usado en una variedad de
reas de aplicacin incluyendo procesamiento de seales e imgenes,
diseo de sistemas de control, ingeniera financiera e investigacin
mdica. La arquitectura abierta facilita usar MATLAB y los productos
que lo acompaan para explorar datos y crear herramientas
personalizadas que proveen visiones profundas tempranas y ventajas
competitivas.

INICIACIN AL MATLAB
El Lenguaje de Computacin Tcnica MATLAB es un ambiente
de computacin tcnica integrada que combina computacin numrica,
grficos y visualizacin avanzada y un lenguaje de programacin de
alto nivel.
Sea cual fuere el objetivo, un algoritmo, anlisis, grficos,
informes o simulacin, MATLAB lo lleva all. El lenguaje flexible e
interactivo de MATLAB permite a ingenieros y cientficos expresar sus
ideas tcnicas con simplicidad. Los poderosos y amplios mtodos de
JOSE GARZON ARIAS

- 17 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


cmputo numrico y graficacin permiten la prueba y exploracin de
ideas alternativas con facilidad, mientras que el ambiente de desarrollo
integrado facilita producir resultados prcticos fcilmente.
MATLAB es la fundacin numrica y grfica para todos los
productos

de

The

MathWorks.

MATLAB

combina

computacin

numrica, grficos 2D y 3D y capacidades de lenguaje en un nico


ambiente fcil de usar.
Con su amplio rango de herramientas para modelar sistemas de
control, anlisis, simulacin y procesamiento de prototipos, MATLAB es
el sistema ideal para desarrollar sistemas avanzados de control.
Cualquiera puede crear y modelar un sistema de control, usando las
cajas de herramientas para el diseo de controles avanzados de
MATLAB - Control System, Robust Control, -Analysis and Synthesis,
Model Predictive Control, QTF Control Design y LMI control. Posteriores
anlisis y refinamientos pueden ser efectuados estableciendo una
simulacin interactiva en Simulink, y luego sintonizar automticamente
los

parmetros

usando

el

Nonlinear

Control

Design

Blockset.

Finalmente, usted puede generar cdigo C para correr en controladores


incrustados con Real Time Workshop.

JOSE GARZON ARIAS

- 18 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Combinando MATLAB con Signal Processing Toolbox, Wavelet
Toolbox y un conjunto de herramientas complementarias, tales como
Image Processing, Neural Network, Fuzzy Logic, Statistics y otras se
puede crear un ambiente de anlisis personalizado de seales y
desarrollo de algoritmos DSP. Para simulacin y desarrollo de
prototipos usted puede agregar Simulink y el DSP Blockset para
modelar y simular sus sistemas DSP, y luego usar Real-Time Workshop
para generar cdigo C para su hardware designado.

CARACTERSTICAS DEL ENTORNO


Caractersticas de MATLAB :

Clculos

intensivos

desde

un

punto

de

vista

numrico.

Grficos y visualizacin avanzada.

o Lenguaje de alto nivel basado en vectores, arrays y


matrices.

Coleccin muy til de funciones de aplicacin.


Las poderosas capacidades de clculo tcnico de MATLAB se
ponen a la disposicin de los estudiantes, aunque limita el tamao de
las matrices a 8192 elementos, la edicin de estudiante mantiene toda

JOSE GARZON ARIAS

- 19 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


la potencia de la versin profesional de MATLAB 7.0, en una forma
diseada para que los estudiantes puedan ejecutarlo en sus propios
ordenadores personales bajo Windows.

Toolbox especiales :
Se incluyen el Toolbox de seales y Sistemas ( un conjunto de
herramientas para el procesamiento de seal y para el anlisis de
sistemas de cuadro ) y el Toolbox Symbolyc Math ( herramienta de
clculo simblico basada en Maple V ).

SALIDAS O PRESENTACIONES
MATLAB provee acceso inmediato a las caractersticas grficas
especializadas requeridas en ingeniera y ciencias. Potente graficacin
orientada a objetos grficos le permite graficar los resultados de su
anlisis, incorporar grficos en sus modelos de sistemas, rpidamente
presentar complejos 3-D objetos, y crear resultados de presentacin,
entre lo cual se destaca:

JOSE GARZON ARIAS

- 20 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Representaciones 2-D y 3-D, incluyendo datos triangulados y


reticulados

Representaciones 3-D quiver, ribbon, y stem

Control de fuentes, letras Griegas, smbolos, subndices y


superndices

Seleccin expandida de smbolos marcadores de curvas


Grficos de torta, de barras 3-D y grficos de barras

horizontales
Grficos 3-D y slido modelado
Representacin de imgenes y archivos I/O
Grficos comentados
Leer/Escribir archivos de datos Hierarchical Data Format (HDF)
Presentacin de OpenGL software y hardware
Animacin
Display de buffer x rpido y exacto
Soporte de colores verdaderos (24-bit RGB)
Fuentes mltiples de luz para superficies coloreadas

JOSE GARZON ARIAS

- 21 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Vista basada en cmara y control de perspectiva
Iluminacin Plana, Gouraud y Phong
Soporte eficiente de imagen de datos de 8-bit
Control de eje y cmara
Propiedades de superficie y patch
Modelos de iluminacin
Control grfico de objetos
Impresin y representacin de copias
Formatos grficos exportables
Soporte de publicacin de escritorio

FUNCIONES DE MATLAB
Manipulacin y Reduccin de Datos MATLAB tiene un rango
completo de funciones para preprocesar datos para anlisis
Numerosas

operaciones

para

manipular

arreglos

multidimensionales, incluyendo reticulacin e interpolacin de datos,


estn tambin disponibles.

JOSE GARZON ARIAS

- 22 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Descriptivos Grficos Para Explorar y Presentar los Datos
Grficos de propsitos generales y de aplicacin especfica le permiten
visualizar al instante seales, superficies paramtricas, imgenes y
ms.

Todos

los

atributos

de

los

grficos

de

MATLAB

son

personalizables, desde los rtulos de ejes al ngulo de la fuente de luz


en las superficies 3-D . Los grficos estn integrados con las
capacidades de anlisis, de modo que se puede mostrar grficamente
cualquier conjunto de datos sin editar, ecuacin o resultado funcional.
I/O Directo de Datos Se puede ingresar y sacar datos de f
MATLAB rpidamente. Las funciones estn disponibles para leer y
escribir archivos de datos formateados en MATLAB, llamados archivos
MAT. Funciones adicionales ejecutan programas ASCII e I/O binario de
bajo nivel desde los archivos de programas M, C, y Fortran,
permitindole trabajar con todos los formatos de datos. MATLAB
tambin incluye soporte incorporado para formatos populares de
archivos estndar.
Computacin Simblica Integrada Integrando el motor simblico
Maple V con MATLAB, los Symbolic Math Toolboxes le permiten
mezclar libremente computacin simblica y numrica una sintaxis
simple e intuitiva.
JOSE GARZON ARIAS

- 23 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Anlisis de Datos Confiable, Rpido y Exacto Los mtodos
usados

comnmente

para

anlisis

de

datos

multidimensional

generalizados 1-D, 2-D estn incorporados en MATLAB. Interfaces


grficas fciles de usar, especficas para aplicaciones, la lnea de
comando interactiva y herramientas de programacin estructuradas le
permiten elegir el mejor camino para sus tareas de anlisis.
Anlisis
herramientas

de
para

Datos

para

realizar

la

DSP

MATLAB

funcionalidad

ofrece

muchas

indispensable

en

procesamiento de seales, tales como Transformadas Rpidas Fourier


y Transformadas Rpidas Inversas de Fourier. La visualizacin de datos
de procesamiento de seales est soportada por funciones tales como
grficos

stem

periodogramas.

El

lenguaje

de

MATLAB,

inherentemente orientado a matrices hace que la expresin de


coeficientes de filtros y demoras de buffers sean muy simples de
expresar y comprender.
Anlisis de Datos en Aplicaciones de Imgenes MATLAB y la
Image Processing Toolbox ofrece un amplio conjunto de herramientas
que le permite fcilmente manipular, procesar y analizar datos de
imgenes, interactivamente mostrar pantallas de imgenes 2-D o 3-D,
visualizar datos temporales cuando es necesario, y comentar sus
JOSE GARZON ARIAS

- 24 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


resultados para publicaciones tcnicas. La orientacin basada en
matrices del lenguaje de MATLAB le permite expresar en forma
compacta operaciones matemticas de forma similar a cmo las
expresara sobre papel. Como resultado, es fcil e intuitivo efectuar
procesamiento de imgenes y operaciones de anlisis tales como
FFTs, filtrado 2-D, morfologa binaria, manipulacin geomtrica,
conversin

de

espacios

de

colores,

compresin,

anlisis

de

componentes conectados y ms.


Algorithm Development (Desarrollo de Algoritmos) Sea que se
est usando los algoritmos del sistema o est inventando los suyos
propios, MATLAB le provee un ambiente en el que se puede
experimentar. A diferencia de C y C++, MATLAB permite desarrollar
algoritmos desde cero o trabajar con interfaces complicadas a
bibliotecas externas. Las poderosa fundacin de computacin, el
lenguaje tcnico, y cientos de funciones en cajas de herramientas
(toolboxes) convierten a MATLAB en lo ms adecuado para
aplicaciones matemticamente intensivas que requieran anlisis de
datos, procesamiento de seales e imgenes, modelado de sistemas o
tcnicas numricas avanzadas.

JOSE GARZON ARIAS

- 25 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

LIBRERIAS
Librera de Aplicaciones de MATLAB
Signal Processing Toolbox
MATLAB tiene una gran coleccin de funciones para el
procesamiento de seal en el Signal Processing Toolbox. Este incluye
funciones para:
Anlisis de filtros digitales incluyendo respuesta en frecuencia,

retardo de grupo, retardo de fase.


Implementacin de filtros, tanto directo como usando tcnicas

en el dominio de la frecuencia basadas en la FFT.


Diseo de filtros IIR, incluyendo Butterworth, Chebyschev tipo I,

Chebyshebv tipo II y elptico.


Diseo de filtros FIR mediante el algoritmo ptimo de Parks-

McClellan.
Procesamiento de la transformada rpida de Fourier FFT,

incluyendo la transformacin para potencias de dos y su inversa, y


transformada para no potencias de dos.
JOSE GARZON ARIAS

- 26 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


The MATLAB C Math Library
La MATLAB C Math Library proporciona al usuario la capacidad
computacional de MATLAB en una librera en formato objeto enlazable.
El objetivo principal de la C Math Library es soportar el desarrollo de
aplicaciones 'stand alone' utilizando MATLAB y su compilador. Puede
ser utilizada independientemente de MATLAB por programadores
avezados en lenguaje C que necesiten prestaciones computacionales
robustas y de alto rendimiento.
Junto con el compilador de MATLAB , la C Math Library permitir
a los programadores de aplicaciones utilizar MATLAB para la creacin
de aplicaciones 'stand alone'. Para los usuarios clsicos de MATLAB ,
se elimina as cualquier necesidad de volver a rescribir algoritmos en
lenguaje C para ser utilizada por programas externos. Para aquellos
usuarios que sean nuevos en la tecnologa MATLAB , esta tecnologa
ofrece una nueva va para la reduccin del tiempo de desarrollo y
puesta a punto de aplicaciones.
La MATLAB C Math Library proporciona una amplia gama de
funciones clsicas del programa MATLAB , proporcionadas como
libreras objeto, incluyendo bsicamente las siguientes categoras de
funciones presentes en MATLAB y archivos M compilados:
JOSE GARZON ARIAS

- 27 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


lgebra lineal.
Funciones matemticas elementales y especializadas.
Operadores lgicos y aritmticos.
Matrices elementales y manipulacin de vectores.
Matrices especiales.
Estadstica bsica y anlisis de datos.
Polinomios e interpolacin.
Gestin de cadenas de caracteres.
Entradas y Salidas.
Gestin de memoria y errores.

(Nota: Las funciones del tipo Handle Graphics no estn incluidas


en la C Math Library).

JOSE GARZON ARIAS

- 28 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 29 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

TRABAJANDO CON MATLAB


Exhibicin de Nmeros
Operaciones Aritmticas
Operadores Relacinales
Operadores Lgicos
Combinaciones
Caracteres Especiales
Ejemplos Elementales
APRENDIENDO A TRABAJAR CON MATRICES
Uso bsico de MATLAB
COMANDOS BASICOS

JOSE GARZON ARIAS

- 30 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

TRABAJANDO CON MATLAB

Para iniciar MATLAB, seleccionamos el programa MATLAB de un men del


sistema.

HACER
DOBLE
CLIC AQU

y aparece la siguiente ventana de MATLAB, que nos dice que MATLAB est
esperando que introduzcamos un comando.

JOSE GARZON ARIAS

- 31 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

La >> es el prompt del MATLAB, que esta esperando que se introduzca un


comando, funcin, variable o numero.
Seguidamente se presentan comandos ms usados.
o Para salir de MATLAB, use quit o exit.
o El comando clc despeja la ventana de comandos, y el comando clf borra la
figura actual y por tanto despeja la ventana de grficos.
o El comando clear no afecta a las ventanas, pero si borra todas las variables
de la memoria

JOSE GARZON ARIAS

- 32 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


o Para ver algunas de las capacidades de MATLAB, usar el comando demo,
que inicia el MATLAB EXPO, un entorno grfico de demostracin que ilustra
algunos tipos de operaciones que se pueden realizar con MATLAB.
o Para abortar un comando en MATLAB, mantener presionada la tecla de
control y oprima c (Ctrl. + c). Esto ocasiona un interrupcin local dentro del
MATLAB.
o Para acceder al men de ayuda se debe usar el comando help.
o El smbolo denota el prompt de MATLAB y no se escribe al entrar
instrucciones.
o El ; al final de la instruccin omite el eco o salida a la pantalla.

Exhibicin de Nmeros:
Comando MATLAB

Exhibicin

Ejemplo

format short

Por omisin

2.3333

format short e

4 decimales

2.3333e+000

format long

14 decimales

2.33333333333333

format long e

15 decimales

2.333333333333334e+000

format bank

2 decimales

2.33

format hex

exp.

4002aaaaaaaaaaab

JOSE GARZON ARIAS

- 33 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


hexadecimal

format +

+, -, espacio

Operaciones Aritmticas:
ESCALAR

MATRIZ

VECTOR

Adicin

Sustraccin

.*

Multiplicacin

./

Divisin hacia la derecha

\.

Divisin hacia la izquierda

Transposicin

DESCRIPCIN

JOSE GARZON ARIAS

- 34 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Operadores Relacinales
OPERADOR
<

DESCRIPCIN

menor que

<=
>

menor o igual que


mayor que

>=

mayor o igual que

==

Igual

~=

no igual

Operadores Lgicos
OPERADOR

DESCRIPCIN

&

Y (and)

O (or)

NO (not)

JOSE GARZON ARIAS

- 35 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Combinaciones:
P

~P

P |Q

P&Q

falso

Falso

Verdadero

Falso

falso

Falso

verdadero

Verdadero

Verdadero

falso

Verdader

Falso

Falso

Verdadero

falso

verdadero

Falso

verdadero

verdadero

o
Verdader
o

JOSE GARZON ARIAS

- 36 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Caracteres Especiales:
CARACTERES

DESCRIPCIN

[]

Se utilizan para formar vectores y matrices

()

Define

precedencia

en

expresiones

aritmticas.

Encierra

argumentos de funciones en forma usual


,

Separador de elementos de una matriz, argumentos de


funciones y declaraciones en lneas con declaraciones mltiples

Separador de declaraciones, termina renglones de una matriz

A continuacin se presentan un conjunto de ejemplos elementales que


permiten ver a un alumno principiante , como se utiliza el Math Lab, de
forma interactiva . Todo se efecta directamente en la pantalla de
trabajo. En esta el prompt es >> , donde se introducen los comandos
seguidos de un enter . Conviene siempre comenzar, limpiando la
ventana y las variables de trabajo, con clear, clf y clc.

JOSE GARZON ARIAS

- 37 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

1.1.Ejemplos Elementales

>> 13/3
ans =
4.3333
>> 3\13
ans
4.3333
>> 4^11
ans
4194304
>> 2*pi^3
ans
62.01255336059963
a = [0 1 2 3 4 5 6 7 8 9 10]
a=
0 1 2 3 4 5 6 7 8 9 10
b= a + 3
b=
3 4 5 6 7 8 9 10 11 12 13
t = 0:2:20
t=
0 2 4 6 8 10 12 14 16 18 20
c= a+b
c=
3

5 7 9 11 13 15 17 19 21 23

JOSE GARZON ARIAS

- 36 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


d = [1; 3; 5]
d=
1
3
5
d
ans =
1

f = [4; 6; 9]
f=
4
6
9
>> d*f
??? Error using ===> *
Inner matrix dimensions must agree.
>> d.*f
ans =
4
18
45
>> d * f
ans =
4

12

18

27

20

30

45

JOSE GARZON ARIAS

- 37 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


>>d.*f
??? Error using ==> .*
Matrix dimensions must agree.
>> d*4
ans =
4
12
20
>>f.*4
ans =
16
24
36
>>a/7
ans =
0.1429
0.4286
0.7143
>> a./7
ans =
0.1429
0.4286
0.7143
>> d^f
??? Error using ==> ^
Matrix dimensions must agree.

JOSE GARZON ARIAS

- 38 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


>> d.^f
ans =
1
729
1953125
>> d ^2
??? Error using ==> ^
Matrix must be square.
>> d.^2
ans =
1
9
25

>> 3d
??? Error using ==> ^
Matrix must be square.
>>3.^d
ans =
3
17
243

JOSE GARZON ARIAS

- 39 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

APRENDIENDO A TRABAJAR CON MATRICES


Para entrar la matriz
0

y lo guardamos en una variable a,


>> a = [1 2; 3 4]
Para redisplay la matriz, simplemente teclee su nombre:
>> a
Primero elevemos al cuadrado la matriz a:
>> a*a
Ahora

se har algo un poco ms complicado. Primero definiendo una

matriz b:
>> b = [1 2; 0 1]
Entonces calculando el producto a*b:
>> a*b
Finalmente, se efecta el producto en el otro orden:
>> b*a

JOSE GARZON ARIAS

- 40 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Se sabe que los dos productos son diferentes: porque la multiplicacin de


matrices es no conmutativa.
Por supuesto, tambin se puede sumar matrices:
>> a + b
Ahora guardando el resultado de esta suma para que se pueda usarlo
despus:
>> s = a + b
Las matrices a veces se pueden invertirse:
>> inv(s)
Para verificar que esto es correcto, se calcula el producto de s y su inverso:
>> s * inv(s)
El resultado es la unidad, o matriz de identidad. Tambin se puede escribir
el cmputo como
>> s/s
tambin se puede escribir
>> s\s
qu es igual que
>>inv(s) * s
JOSE GARZON ARIAS

- 41 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Para ver que estas operaciones son correctas y/o diferentes, se hace lo
siguiente:
>> a/b
>> a\b
No todas las matrices pueden invertirse, o puede usarse como el
denominador en la divisin de matrices:
>> c = [1 1; 1 1]
>> inv( c );
Una matriz puede invertirse si y slo si su determinante es diferente de
cero:
>> det(a)
>> det (c)

JOSE GARZON ARIAS

- 42 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Uso bsico de MATLAB

Normalmente se requiere de modelos computacionales con el fin de resolver


problemas de ingeniera. Muchas veces puede ser til hacer un programa que
utilice matrices, complejos, y otras estructuras matemticas, pero fcil de escribir y
revisar. MATLAB es ideal para esto. Ya que es una herramienta tan til y
poderosa, se dar una idea general sobre su manejo, con el fin de facilitar su uso.
Esta presentacin est organizada de la siguiente forma:

Generalidades.
Comandos de programacin.
Comandos matemticos.

Programas de ejemplo variados.

Cada uno de los vnculos de estas secciones, contiene una explicacin breve y
ejemplos pequeos de cada comando. La seccin de ejemplos, contiene algunos
programas completos, donde se utilizan los comandos tratados.

JOSE GARZON ARIAS

- 43 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

NOTA:
En todos los programas de ejemplo se utiliza el comando de MATLAB: % el cual
se utiliza para aadir un comentario en el programa. Estos comentarios son
importantes para que otros puedan entender el contenido con mayor facilidad.

2. Generalidades
Esta es una breve introduccin al manejo de variables (escrita para las
personas que nunca han usado MATLAB), expresiones y archivos con
extensin .m (programas ejecutables por MATLAB), con respecto a su creacin
y uso.
La idea es tratar de manera general, como es el uso de variables, expresiones y
comandos en MATLAB, as como sus caractersticas. Adicionalmente dar una
introduccin al uso de los archivos con extensin .m (programas ejecutables por
MATLAB) y como trabajar con ellos.

2.1.

Manejo de variables:

En MATLAB como en cualquier otro lenguaje de programacin, y/o asistente


matemtico se utilizan variables. Las variables deben tener un nombre segn
ciertas reglas.

JOSE GARZON ARIAS

- 44 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Estas reglas son:


NO pueden comenzar con un nmero, aunque si pueden tener nmeros
(variable1 es un nombre vlido).
Las maysculas y minsculas se diferencian en los nombres de variables. (A
y a son dos variables diferentes)
Los nombres de variables no pueden contener operadores ni puntos. (No es
vlido usar /, *, -, +, ...)
Si se trabaja con complejos slo puede utilizarse un de los nombres i y/o j
para variables. Ver complejos.
No es necesario definir el tipo de variable o tamao (si se usa un vector y
despus se expande, no hay problema)

2.2.

Manejo de expresiones:

Una expresin en MATLAB, puede ser:


Una variable o un nmero. (ej: variable1, x, 3, 22.3)
Un comando aplicado. (ej: norm(A), sin(2*pi) )
Una expresin matemtica. (ej: 2+3*variab1^ 4.5)

JOSE GARZON ARIAS

- 45 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Si cualquiera de las anteriores se escribe en la lnea de comandos (>> ) del
MATLAB, l devolver el nombre de la variable y su valor (en caso de que
la expresin tenga nombre, de no tenerlo, MATLAB devolver ans =
resultado). Un punto importante que se debe resaltar es que esto ocurre
siempre y cuando la expresin no termine con punto y coma. Al aadir un
punto y coma al final de la expresin MATLAB no imprime su valor en la
pantalla, aunque si realiza el clculo. (a=3+2; deja en a el valor de 5, pero
no lo muestra).

2.3.

Manejo de comandos:

Cada comando en MATLAB es un archivo con extensin .m, por lo tanto es


necesario tener las libreras en que se encuentran los comandos que se
desean utilizar. Aunque la gran mayora de los comandos utilizados siempre
vienen incluidos en las libreras.
MATLAB NO distingue entre maysculas y minsculas en los comandos (a
menos que se trabaje en Unix) . El resto de esta presentacin trata cada
comando en detalle (los ms usados).

JOSE GARZON ARIAS

- 46 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

2.4.

Manejo de archivos con extensin .m:

Todos los comandos a que se refiere esta presentacin pueden utilizarse


directamente desde la lnea de comandos del MATLAB (>> ). Sin embargo la
idea es hacer un archivo (con extensin .m) que contenga el programa (para
poder modificarlo, revisarlo, correrlo otra vez ....) ya que es ms ventajoso
as. Los programas no requieren indentacin como en los ejemplos que he
puesto aqu, sin embargo es recomendable hacerlo por claridad al intentar
modificar el programa o revisarlo.
Para trabajar estos archivos, es necesario saber:

Que es: Es un archivo de texto como cualquier otro donde se encuentra


el listado del programa. (slo que su extensin no es txt sino m)

Como crear uno: Las formas ms fciles son:

Desde Unix: con el comando !pico archivo.m donde archivo es el


nombre del programa.

Desde Windows: con el NOTEPAD, teniendo la precaucin de cambiar el


tipo de archivo a Todos los archivos (*.*) antes de grabarlo. (de lo
contrario el archivo quedar con nombre archivo.m.txt y el MATLAB no
podr correrlo, la solucin es quitar el .txt.).

JOSE GARZON ARIAS

- 47 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Como correrlo para obtener los resultados: Desde la lnea de comandos


de MATLAB se escribe el nombre del archivo (sin el .m)

NOTAS:
El archivo debe quedar grabado en el mismo directorio que MATLAB para
poder correrlo. Y si el archivo fue escrito en Unix la extensin tiene que ser
escrita en minscula (m), y debe escribirse el nombre exactamente igual
para correrlo (Unix diferencia entre maysculas y minsculas)

2.5

Comandos bsicos de programacin

Para la estructura de programacin en MATLAB se requiere conocer por lo


menos los siguientes comandos:

2.5. 1

Comando END

Determina hasta cual orden llega el efecto de if, for, y while. (Para ejemplos
de su uso ver if, while y for)

2.5.2.

Comando IF

Verifica si se cumple cierta condicin, y de acuerdo a si se cumple o no


realiza la accin que se desee.
La sintaxis de la orden es:
if (condicin), (ordenes 1) [else, (ordenes 2)] end;
JOSE GARZON ARIAS

- 48 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Donde las ordenes entre [ ] son opcionales.
(ordenes 1) son las ordenes que se realizarn si (condicin) se cumple.
(ordenes 2) son las ordenes que se realizarn si (condicin) NO se cumple.
(condicin) Puede ser:
a == b (verifica si a es igual a b)
a<b

(verifica si a es menor que b)

a>b

(verifica si a es mayor que b)

a <= b (verifica si a es menor o igual que b)


a >= b (verifica si a es menor o igual que b)
a ~= b (verifica que a y b sean diferentes)
El siguiente ejemplo ilustra el uso de if:
%Ejemplo de uso de if.
n=0;
if n==0,
n

% al escribir una expresin sin punto y coma final, MATLAB

escribe
% su resultado en pantalla.
else,
n=1
end;
n = 2;
if n == 0,
n

JOSE GARZON ARIAS

- 49 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


else,
n =1
end;
La salida que se obtiene con el programa anterior es la siguiente:
n=
0
n=
1
Donde el 0 (cero) proviene de entrar al primer if, y el 1 (uno), de entrar
al else del segundo if.

2.5. 3

Comando WHILE

Realiza una parte del programa mientras se cumpla alguna condicin.


La sintaxis de la orden es:
while (condicin), (ordenes) end;
(ordenes) son las ordenes que se realizarn mientras (condicin) se
cumpla.
(condicin) Puede ser:
a == b (verifica si a es igual a b)
a < b (verifica que si a es menor que b)
a > b (verifica que si a es mayor que b)
JOSE GARZON ARIAS

- 50 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


a <= b (verifica si a es menor o igual que b)
a >= b (verifica que si a es mayor o igual que b)
a ~= b (verifica que a y b sean diferentes)
El siguiente ejemplo ilustra el uso de while:
%Ejemplo de uso de while.
n=0;
while n<=5,
n

%Al escribir el nombre de la variable (sin punto y coma)


MATLAB % imprime su valor.

n = n + 1; %El punto y coma evita que MATLAB imprima el nuevo valor


de n.
end;
La salida que se obtiene al correr el programa anterior es:
n=
0
n=
1
n=
2
n=
3
n=
4
JOSE GARZON ARIAS

- 51 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


n=
5

2.5.4.Comando FOR
Muy parecido al While, pero utiliza un contador, es til si se quiere repetir una
parte del programa un nmero. determinado de veces.
La sintaxis de la orden es:

for (contador), (ordenes) end;

(ordenes) son las ordenes que se realizarn (contador) llega a su valor final.
(contador) Es de la forma:
variable = a [ , b ] : c
Donde:

variable es el contador en s.

a es el valor inicial del contador (variable).

b es el segundo valor del contador (opcional, si se omite, b=a+1), su


funcin es determinar el incremento del contador.

c es el valor final del contador (variable).

JOSE GARZON ARIAS

- 52 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


El siguiente ejemplo ilustra el uso de for:
% Ejemplo de uso de for.
for i=0,0.5:2.5,
i %al escribir el nombre de una variable (sin punto y coma)
%MATLAB muestra su valor. end;

La salida del programa anterior es la siguiente:


i=
0
i=
0.5
i=
1
i=
1.5
i=
2
i=
2.5

JOSE GARZON ARIAS

- 53 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

2.5. 5

Comando PLOT

Sirve para obtener resultados grficos en 2D.


La sintaxis de la orden es:

plot(x, y);

x es el vector que contiene los valores de x.


y es el vector que contiene los valores de y,
tal que el valor de y en la posicin uno del vector corresponde al primer
valor del vector x. La grfica se realiza uniendo una serie de rectas entre los
puntos incluidos en los vectores X y Y. Si las curvas quedan muy mal
hechas, (se notan las rectas) puede ser necesario disminuir el paso de los
vectores y aumentar el nmero de puntos.
Para claridad, puede ser necesario leer la parte correspondiente a vectores
a la orden FOR.
El siguiente ejemplo ilustra el uso de plot:
% Ejemplo de uso de plot.
for i =1:101,
x(i) = (i-1) /100;

JOSE GARZON ARIAS

- 54 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


y(i)=x(i) 3 - 1; % Organiza en vectores la funcin y=x^3 - 1
end;
plot(x, y);
pause; %pausa el computador hasta que se presione una tecla ,esta
orden es

necesaria cuando se hace ms de una grfica, para poder ver

cada una por separado. Ya que MATLAB las dibuja en la misma ventana
siempre. (a menos que se use el comando FIGURE).
Al correr el programa se obtiene la grfica de la curva y=x3 -1 (para 0<=x<=1). La
grfica aparecer en una ventana aparte llamada Figure 1, y la recta se ver as:

JOSE GARZON ARIAS

- 55 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Otro ejemplo, para la grfica de y = sin(t) en el intervalo t = 0 a t = 10;


donde debemos hacer lo siguiente:
>> t = 0:.3:10;
>> y = sin(t);
>> plot( t , y)
Aqu el resultado grfico:

JOSE GARZON ARIAS

- 56 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


El comando t = 0: .3 :10; define el vector entre los componentes desde 0 a
10 incrementados de 0.3. La expresin y = sin(t); va a definir los valores de
los componentes que son: sin(0), sin(0.3), sin(0.6), etc. Finalmente, plot(t,y)
usa el vector de t y los valores de y para la construccin del grfico.

2.6 Funciones de dos variables


Vamos a elaborar la grfica de la funcin z(x,y) = x exp( - x^2 - y^2):
>> [x,y] = meshgrid(-2:.2:2, -2:.2:2);
>> z = x .* exp(-x.^2 - y.^2);
>> mesh(z)

JOSE GARZON ARIAS

- 57 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


El primer comando crea una matriz para hacer la entrada de los puntos en el
espacio cuadrado de -2 <= x <= 2, -2 <= y <= 2. Los cuadrados pequeos que
constituyen la reja son de 0.2 unidades ancho y 0.2 unidades de alto. La
segunda orden crea una matriz cuyas entradas son los valores de la funcin
z(x,y) a los puntos de la reja. La tercera orden usa esta informacin para
construir el grfico.

2.6. 1

Comando DISP

Sirve para escribir texto de salida o vectores. de resultados.


La sintaxis de la orden es:

disp(X);

X Puede ser:

Un vector.

Una matriz.

Una cadena de texto.

El siguiente ejemplo ilustra el uso de disp:


%Ejemplo de uso de disp.

JOSE GARZON ARIAS

- 58 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


a = [1, 2, 3, 4, 9 11]; % Un vector
disp(a);
a = [1, 2 , 7 ; 6, 3, 4]; % Una matriz
disp(a);
a = Texto se puede escribir as ; % Cadena de texto
disp(a);
disp( Tambin se puede escribir as. );

La salida del programa anterior ser:


1

11

Texto se puede escribir as


Tambin se puede escribir as.

JOSE GARZON ARIAS

- 59 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

2.6.2

Comando INPUT
Se utiliza para que el programa pida valores de variables mientras se
ejecuta.
La sintaxis de la orden es:

variable = input ( texto );

variable es un nombre vlido de variable, en la que se quiere almacenar el


valor que se pregunta.

texto puede ser:

Una variable o,

Una cadena.

El siguiente ejemplo ilustra el uso de input:


%Ejemplo de uso de input.
a = 0; % hace vlido el nombre de variable a.
a = input( Teclee el valor de a: );
tex = Cual es el nuevo valor de a? ;

JOSE GARZON ARIAS

- 60 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


a

% Al escribir el nombre de una variable (sin punto y coma al

final)
% MATLAB muestra su valor.
a = input(tex);
a
La salida de este programa ser:
Teclee el valor de a: (espera)
a=
xxx

% aqu se imprime el valor asignado para a.

Cual es el nuevo valor de a? (espera)


a=
yyy
Donde xxx y yyy son valores introducidos por el usuario en el momento
de correr el programa.

JOSE GARZON ARIAS

- 61 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Comandos bsicos matemticos


Lo que hace verdaderamente poderoso al MATLAB es la facilidad para
realizar operaciones matemticas con elementos como: (en cada vnculo se
encuentra las ordenes y sintaxis para cada tipo de elemento).

2.7 Vectores y Matrices


Los vectores y matrices en MATLAB se trabajan igual en cuanto a
asignacin, por eso se explican juntos. Pero las operaciones posibles, si
son diferentes, y estn separadas bajo los encabezados correspondientes.

Asignacin:
La asignacin de variables en MATLAB es sencilla, y los vectores y
matrices no son la excepcin. Cuando se desea dar el valor a toda una
matriz se puede realizar directamente de la siguiente forma:
A = [1 2 3 4 ; 5 6 7 8; 9 0 1 2];
A = [1, 2, 3, 4;5, 6, 7, 8;9, 0, 1, 2];

JOSE GARZON ARIAS

- 62 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


donde la matriz escrita arriba es:
1

Las filas se separan por punto y coma y las columnas por espacios o
comas. De lo anterior se ve fcilmente que un vector fila se asigna as:
v = [1 2 3];
v = [1, 2, 3];
y un vector columna se asigna as:
v = [1; 2; 3];

JOSE GARZON ARIAS

- 63 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Manejo de subndices:
Otra forma de asignar valores a una matriz (o un vector) es por medio de los
subndices. El menor subndice utilizado por MATLAB es 1. Y va aadiendo
valores a medida que se requieran. Los subndices se escriben entre parntesis.
Por ejemplo:
A(2, 3) =1; Asigna al elemento en la fila 2, columna 3 el valor de 1.
Si se desea cambiar todo el valor de una fila o una columna, es muy
sencillo hacerlo con el operador : as:
A(1 , :) = [4 5 6];

Asigna a la fila 1 el vector [4, 5, 6] (cambia la fila 1 por 4, 5, 6). As si A era


una matriz de 3 x 3 de ceros, ahora queda:
4

Igualmente a veces se requiere trabajar con vectores que son una columna
o una fila de una matriz.
JOSE GARZON ARIAS

- 64 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Esto se realiza fcilmente guardando este vector en un vector , as:


v = A(:,1);
Asigna al vector v la primera columna (completa) de la matriz A.

. Operaciones matemticas simples con matrices y vectores:


Esto es algo en lo que MATLAB hace las cosas verdaderamente simples, si
se tienen dos matrices (o vector y matriz, o dos vectores), y se quieren:
sumar, multiplicar restar slo es necesario anotar esta operacin
normalmente (como se hara con nmeros). Por ejemplo:
Si se quieren multiplicar dos matrices A y B y almacenar el resultado en C:
C = A * B; (Si se hace entre dos vectores (uno fila y el otro columna) el
resultado es el producto punto entre los dos)
Si se quieren sumar restar y almacenar el resultado en C:
C = A + B;

C = A - B; (Sin importar que sean matrices o vectores.)

JOSE GARZON ARIAS

- 65 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

2.8. Comandos matemticos para vectores:


Los comandos matemticos ms empleados con vectores son:

2.8.1. Comando NORM


Calcula la norma de un vector o matriz.
La sintaxis de la orden es:

Norma = norm( Matriz [, Tipo]);

Los signos [ ] son para decir que Tipo es opcional.


Matriz es la matriz o vector al que se desea calcular la norma.
Tipo es el tipo de norma que se desea calcular. Tipo puede ser una de las
siguientes:
Si se omite:

calcula la norma 2
en un vector es la magnitud del vector

2:

calcula la norma 2

inf:

calcula la norma infinito: en un vector es el


mximo valor absoluto, en una matriz es la
JOSE GARZON ARIAS

- 66 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


suma ms grande de las filas.
En Norma se almacena el valor de la norma calculada.
El siguiente ejemplo ilustra el uso de norm: (ver orden de programacin
DISP)
%Ejemplo de uso de norm.
A = [1 2; 3 4]
v = [1 2 3 4]
disp( Para la matriz: );
n2 = norm(A)
ni = norm(A, inf)
disp( Para el vector: );
n2 =norm(v)
ni = norm(v, inf)
% Al escribir una expresin sin punto y coma al final
% MATLAB muestra su valor en pantalla.
Al correr el programa se obtienen como salida los siguientes resultados:

JOSE GARZON ARIAS

- 67 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

A=

v=

Para la matriz:

n2 =
5.4650
ni =
7
Para el vector:
n2 =
5.4772
ni =
4

2.8.2. Comando MIN


Retorna el (los) menor (es) componente (s) de un vector o matriz. Para el
caso de los vectores: retorna el menor valor contenido en sus componentes.

JOSE GARZON ARIAS

- 68 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

En el caso de una matriz MIN retorna un vector (fila) que contiene el


mnimo elemento que se encontr en cada una de las columnas (la primera
componente del vector tiene el menor elemento en la primera columna de la
matriz, y as sucesivamente).
La sintaxis de la orden es:

Mnimo = min( matriz x );

Matriz es la matriz o vector al que se desea encontrar la (s) mnima (s)


componente (s).
En Mnimo se retorna (n) el (los) mnimo (s) valor (es) encontrado (s) en la
matriz o vector.
El siguiente ejemplo ilustra el uso de min:
%Ejemplo de uso de min.
A=[1 2; 3 4]
v=[1 2 3 4]
M=min(A)
m=min(v) % MATLAB diferencia entre maysculas y minsculas.

JOSE GARZON ARIAS

- 69 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


% Al escribir una expresin sin punto y coma al final
% MATLAB muestra su valor en pantalla.
Al correr el programa anterior se obtiene como salida lo siguiente:
A=

v=

M=
m=
1

2.8.3. Comando MAX


Retorna el (los) mayor (es) componente (s) de un vector o matriz. Para el
caso de los vectores: retorna el mayor valor contenido en sus componentes.
En el caso de una matriz MAX retorna un vector (fila) que contiene el
mximo elemento que se encontr en cada una de las columnas (la primera
componente del vector tiene el mayor elemento en la primera columna de la
matriz, y as sucesivamente).
La sintaxis de la orden es:
Mximo = max(Matriz);

JOSE GARZON ARIAS

- 70 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Matriz es la matriz o vector al que se desea encontrar la (s) mxima (s)
componente (s).
En Mximo se retorna (n) el (los) mximo (s) valor (es) encontrado (s) en la
matriz o vector.
El siguiente ejemplo ilustra el uso de max:
%Ejemplo de uso de max.
A = [1 2; 3 4]
v = [1 2 3 4]
M = max(A)
m = max(v) % MATLAB diferencia entre maysculas y minsculas.
Al correr el programa anterior se obtiene como salida lo siguiente:
A=

v=
3

M=

m=
4

JOSE GARZON ARIAS

- 71 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

2.8.4. Comando CROSS


Calcula el producto cruz entre dos vectores.
La sintaxis de la orden es:
Vector1 = cross( Vector2, Vector 3 );

Vector2 y Vector3 son los vectores a los que se les quiere aplicar el
producto cruz. Tanto Vector2 como Vector3 deben ser vectores
tridimensionales.
Vector1 es el vector (tridimensional) resultante del producto cruz de Vector2
y Vector3.
El siguiente ejemplo ilustra el uso de cross:
%Ejemplo de uso de cross.
x = [1 0 0]
y = [0 1 0]
z = cross(x, y)
Al correr el programa se obtiene la siguiente salida:

JOSE GARZON ARIAS

- 72 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


x=
1

y=
z=

2.8.5. Comando LENGTH


Determina el nmero de componentes de un vector. La sintaxis de la orden
es:
Longitud = length (Vector);

Vector es el vector que se quiere medir (nmero de componentes).


Longitud es el nmero de componentes de Vector.
El siguiente ejemplo ilustra el uso de lenght:
%Ejemplo de uso de length.
x = [1 2 3 4 5 6 7 ]
l = length(x)
Al correr el programa se obtiene la siguiente salida:

JOSE GARZON ARIAS

- 73 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

x=

l=

2.9. Comandos matemticos para matrices:


Los comandos matemticos ms empleados con matrices son:

2.9.1. Comando NORM


Calcula la norma de un vector o matriz.

2.9.2. Comando MIN


Retorna el (los) menor (es) componente (s) de un vector o matriz.

2.9.3. Comando MAX


Retorna el (los) mayor (es) componente (s) de un vector o matriz.

2.9.4. Comando SIZE


Devuelve el tamao de la matriz (dimensiones).
La sintaxis de la orden es:
[Filas, Columnas] = size(Matriz);

JOSE GARZON ARIAS

- 74 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


(Los smbolos [ ] se escriben.)

tambin:
Tamao = size(Matriz);

Matriz es la matriz a la que se le desea determinar el tamao


(dimensiones).
En Filas se almacena el nmero de filas.
En Columnas se almacena el nmero de columnas.
Tamao es un vector (fila) en cuyas componentes se almacenan el nmero
de filas y de columnas, siempre en ese orden.
El siguiente ejemplo ilustra el uso de size:
%Ejemplo de uso de size.
A= [1 2 3; 4 5 6]
y = size(A)
[f, c] = size(A);
f % Al escribir una expresin sin punto y coma final MATLAB
c % muestra el valor por pantalla
Al correr el programa se obtiene la siguiente salida:

JOSE GARZON ARIAS

- 75 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

A=

y=

f=

c=

2.9.6. Comando EIG


Calcula los valores y vectores propios (ortovalores y ortovectores) de la
matriz.
La sintaxis de la orden es:

[ Vectores, Diagonal ] = eig( Matriz );


(Los smbolos [ ] se escriben.)
tambin:
Valores = eig( Matriz );

JOSE GARZON ARIAS

- 76 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

DEFINICIONES DE MATRICES
Matriz es la matriz (cuadrada) a la que se le desea calcular los valores o
vectores propios.

Diagonal es una matriz diagonal que contiene los valores propios de Matriz.
Vectores es una matriz en la que se devuelven los vectores propios
(unitarios) donde cada columna de la matriz Vector es un vector propio de
matriz; tal que el primer vector corresponde al primer valor propio y as
sucesivamente.

Valores es un vector columna que contiene los valores propios de Matriz.


El siguiente ejemplo ilustra el uso de eig:
%Ejemplo de uso de eig.
A = [1 2; 3 4]
y = eig(A)
[V, D] = eig(A);
V %Al escribir una expresin sin punto y coma final MATLAB
% muestra el valor por pantalla
D
Al correr el programa se obtiene la siguiente salida:

JOSE GARZON ARIAS

- 77 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


A=

y=

-0.3723
5.3723

V=

D=

-0.8246

-0.4160

0.5658

-0.9094

-0.3723
0

0
5.3723

2.9.7. Comando INV


Sirve para invertir una matriz.
La sintaxis de la orden es:

matriz1 = inv(matriz2);

matriz2 es la matriz que se desea invertir


En matriz1 se almacena la matriz inversa de matriz 2.
El siguiente ejemplo ilustra el uso de inv:
%Ejemplo de uso de inv.

JOSE GARZON ARIAS

- 78 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


A = [1 2; 3 4]
I = inv(A);
I % Al escribir una expresin sin punto y coma al final
% MATLAB muestra su valor en pantalla.
Al correr el programa se obtiene como salida la matriz que se desea invertir
(A), y su inversa ( I ). La salida se ve as:
A=
1

I=
-2.0000

1.0000

1.5000

-0.5000

2.9.7. Comando DET


Sirve para calcular el determinante de una matriz.
La sintaxis de la orden es:
Valor = det (Matriz)
Matriz es la matriz (cuadrada) a la que se le desea calcular el determinante.
Valor es donde se almacena el valor del determinante.
El siguiente ejemplo ilustra el uso de det:
% Ejemplo de uso de det
JOSE GARZON ARIAS

- 79 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


A = [1 2 7; 4 5 8; 6 -7 10]
d = det(A)

Al correr el programa se obtiene la siguiente salida:


A=
1

-7

10

d=
-284

JOSE GARZON ARIAS

- 80 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 81 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTRODUCCION A LOS MTODOS NUMRICOS


MODELOS FISICOS Y MATEMATICOS
IMPORTANCIA DE LOS MTODOS NUMRICOS
SOLUCION DE LA ECUACION X2= 2
DEFINICION DE ALGORITMO
El algoritmo de EUCLIDES
MEDICION Y CIFRAS SIGNIFICATIVAS

CIFRAS SIGNIFICATIVAS.

CONCEPTO DE PRECISION Y EXACTITUD

JOSE GARZON ARIAS

- 82 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTRODUCCION A LOS MTODOS


NUMRICOS
3.0 MODELOS FISICOS Y MATEMATICOS
Problemas matemticos y sus soluciones.
D EFI N I CI ON
Un modelo matemtico puede definirse como una representacin simblica
, o simplificada de un fenmeno, en una o varias ecuaciones que expresan
las caractersticas esenciales de un sistema fsico ,o proceso en trminos
matemticos.

Vd = f (vi, p , f )

(1)

Vd = variable dependiente que refleja el comportamiento o estado del


sistema.
Vi = variables independientes como tiempo o espacio a travs de las
cuales el comportamiento del sistema ser determinado.
P = parmetros , son reflejos de las propiedades o la composicin del
sistema.
f = funciones de fuerza, son influencias externas sobre el sistema.
JOSE GARZON ARIAS

- 83 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

EJEMPLO:
De la segunda Ley de Newton:

F = ma ; reordenando

a=

F
M

__

(2)

Caractersticas de este modelo matemtico.

1.- Describe un proceso o sistema natural en trminos


matemticos.
2.- Representa una simplificacin de la realidad.
3.- Conduce a resultados predecibles.
Otros modelos matemticos de fenmenos fsicos pueden ser mucho
ms complejos.
De nuevo si usamos la segunda Ley de Newton para determinar la
velocidad final o terminal de un cuerpo, tenemos un expresin de
aceleracin como la razn de cambio de la velocidad con respecto al
tiempo:

dv F
=
dt m

(3)

JOSE GARZON ARIAS

- 84 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Para un cuerpo que cae, la fuerza total es:

F = FD + Fu

(4)

FD = La atraccin hacia abajo debido a la fuerza de la gravedad.


Fu = Fuerza hacia arriba debida a la resistencia del aire,
En donde:

FD = mg
Fu = -cu
c = coeficiente de resistencia o arrastre
Como la fuerza total , es la diferencia entre las fuerzas hacia abajo y las
fuerzas hacia arriba, tenemos:

dv = mg - cu
dt
m

(7)

dv = g c/m (v)
dt

(8)

Esta ecuacin es un modelo matemtico que relaciona la aceleracin de un


cuerpo que cae con las fuerzas que actan sobre l.
Se trata de una ecuacin diferencial o ecuaciones diferenciales.
JOSE GARZON ARIAS

- 85 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Si las ecuaciones son ms complejas, se requiere de tcnicas avanzadas
para obtener una solucin analtica exacta o aproximada.

Si el objeto est en reposo, v = o y t = 0

, y usando las teoras de

clculo, obtenemos:
v(t) = gm/c ( 1 e-(c/m)t )

(9)

Que es la solucin analtica o exacta,


v(t) = variable dependiente
t = es la variable independiente
c,m = parmetros
g = funcin de la fuerza

Ej. 1
Un paracaidista , con una masa de 68.1 kgs salta de un globo aerosttico
fijo. Con la ayuda de la ecuacin ( 9 ), calcule la velocidad antes de abrir el
paracadas, coeficiente de resistencia = 12 kg/seg.

Datos:

m = 68.1
c = 12.5
g = 9.8 m/s
v(t) = gm/c ( 1 e-(c/m)t ) substituyendo valores se tiene

v(t)=53.39

1 e (0.1835)t

JOSE GARZON ARIAS

- 86 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

60
50

v, m/s

40
30

Serie1

20
10
0
0

10

t,s

v, m/s

16.42

27.76

35.63

41.05

10

44.87

12

47.48

t,s

53.39

Cuando los mtodos numricos modelos matemticos no pueden


resolverse con exactitud, se requiere de una solucin numrica que se
aproxima a la solucin exacta.

Los mtodos numricos son aquellos en los que se formula el


problema matemtico para que se pueda resolver mediante operaciones
aritmticas.

Para la segunda Ley de Newton, al aproximar a la razn del cambio de


la velocidad con respecto al tiempo , tenemos:
dv = v = v ( ti + 1 ) v ( ti )
t
ti + 1 ti
dt

JOSE GARZON ARIAS

( 10 )

- 87 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Diferencias finitas divididas

v ( ti )

= es la velocidad en el tiempo inicial ti

v ( ti + 1 ) = es la velocidad despus de un tiempo mas tarde:


ti + 1

sustituyendo la ec. ( 10 ) en la ec. ( 8 ):

v ( ti + 1 ) v ( ti )
ti + 1 ti

= g c/m v ( ti )

Reordenando :

V ( ti + 1 ) = v ( ti ) +

g c/m v( ti )

JOSE GARZON ARIAS

( ti + 1 ti )

( 11 )

- 88 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

A cualquier tiempo

Nuevo valor = viejo valor + pendiente x tamao del paso.

Ejemplo .2
Resolver el ejemplo anterior mediante una solucin numrica para calcular
la velocidad. Emplear un tamao del paso de 2 segundos.
Datos:
m = 68.1 kg
c = 12.5 kg/s
g = 9.8 m/s
Substituyendo los valores en la ecuacin 11 e iterando para diferentes
tiempos se tiene

V ( ti + 1 ) = v ( ti ) +

V1 = V0 +

g c/m v( ti )

g c/m V0

( ti + 1 ti )

( ti + 1 ti )

V1 = 0 + 9.8 12.5/68.1 (0)

(2-0)

JOSE GARZON ARIAS

; t1 = 2 seg
= 19.6 m/s

- 89 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

t2 = 4s, v2 = ?
V2 = 19.6 + 9.8 12.5/68.1 (19.6)

(4-2)

= 32 m/s

Sustituyendo:

V3 = V2 + g c/m V2

V3= 32 +

9 .8 12.5/68.1 (32)

(t3 t2)

(2)

= 39.85 m/s

Entonces V3= 39.85 m/s

Sustituyendo:
V4 = 39.85 +

9 .8 12.5/68.1 (39.85)

(2)

= 44.82 m/s

V5 = 44.82 +

9 .8 12.5/68.1 (44.82)

(2)

= 47.96 m/s

V6 = 47.96 +

9 .8 12.5/68.1 (47.96)

(2)

= 49.95 m/s

JOSE GARZON ARIAS

- 90 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Los resultados numricos para la solucin exacta y la solucin numrica


se dan en la siguiente tabla
En la tabla t,s es el tiempo en segundos, SN corresponde a la solucin
analtica y SA a la solucin Numrica

TABLA DE RESULTADOS
t,s

SN

SA

19.6

16.42

32

27.76

39.85

35.63

44.82

41.05

10

48.01

44.87

12

49.05

47.48

53.39

53.39

Comparativo entre solucin numrica


y solucin analtica
60
50
V, m/s

40
30
20
10
0
0

10

12

t,s
Solucin Numrica

JOSE GARZON ARIAS

Solucin Analtica

- 91 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Como se vera la solucin numrica tiende a la solucin analtica.


Y los resultados de la primera son bastante aceptables.

IMPORTANCIA DE LOS MTODOS NUMRICOS

Los mtodos numricos son tcnicas mediante las cuales es posible formular
problemas matemticos de tal forma que puedan resolverse usando operaciones
aritmticas.
El anlisis numrico trata de disear mtodos para aproximar de una
manera eficiente las soluciones de problemas expresados matemticamente.
El objetivo principal del anlisis numrico es encontrar soluciones
aproximadas a problemas complejos utilizando slo las operaciones ms simples
de la aritmtica. Se requiere de una secuencia de operaciones algebraicas y
lgicas que producen la aproximacin al problema matemtico.
Los mtodos numricos pueden ser aplicados para resolver procedimientos
matemticos en:

Clculo de derivadas
Integrales

Ecuaciones diferenciales

Operaciones con matrices


Interpolaciones

Ajuste de curvas
Polinomios

JOSE GARZON ARIAS

- 92 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Los mtodos numricos se aplican en reas como:


Ingeniera

Industrial,

Ingeniera

Qumica,

Ingeniera

Civil,

Ingeniera

Mecnica, Ingeniera elctrica, etc...

3.1 SOLUCION DE LA ECUACION X2= 2


a) Solucin Analtica.
La solucin analtica de la ecuacin X2= 2
es un problema muy antiguo que prcticamente da lugar a los nmeros

irracionales , pues no existe una representacin racional exacta de x = 2


, que es la solucin de la ecuacin

b) Solucin Numrica.
La solucin Numrica se puede obtener con cierto numero de cifras
significativas, y con un cierto tipo de error de aproximacin, por
medio de un algoritmo simple , aplicando la siguiente formula de
recursin :

X N +1 =

1
2
(X N +
)
XN
2

3.1

Donde Xn+1 son los valores de aproximacin que se van obteniendo


a partir de los valores anteriores Xn ..
El error cometido en cada iteracin es de aproximadamente

0.5 x

10-3 % . Esto hace ver que los Mtodos Numricos , son


aproximaciones que siempre contienen un a cierta cantidad de error.
A continuacin se presenta una tabla de iteraciones con este
algoritmo , que es una tabla clsica en Mtodos Numricos.
JOSE GARZON ARIAS

- 93 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Iteracin (n)

Xn+1(valor

Xn (valor

Error (r)

nuevo)

anterior)

1.5

33.3%

1.4116

1.5

5.88%

1.4142156

1.4116

0.1733%

1.414213563

1.4142156

0.00158948%

Como se vera no existe un valor exacto, pero se obtienen


aproximaciones bastante buenas , Esto se demuestra por el error
obtenido.

3.2

DEFINICION DE ALGORITMO
Un algoritmo es una secuencia lgica de pasos necesarios para
ejecutar una tarea especifica , tal como la solucin de un problema .

Caractersticas de Un Algoritmo:
1. Finitud. Todo algoritmo debe terminar en un nmero finito de
pasos.

2. Definido. Las acciones de un algoritmo deben ser claras sin


ambigedades.

3. Entrada. Todo algoritmo debe tener una o ms entradas.


4. Salida. Todo algoritmo debe tener una o ms salidas.
5. Efectividad. Todas las operaciones involucradas deben
reportar al menos un resultado.
JOSE GARZON ARIAS

- 94 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

3.3

El algoritmo de EUCLIDES.

El mximo comn divisor de dos enteros m y n (ambos diferentes de cero)


es el mximo entero positivo que divide a m y n. As el mximo comn
divisor de 4 y 6 es 2.
Sean a, b y q enteros, con b diferente de cero, y satisfacen que a=b*q,
decimos que b divide a a. q es el cociente y b es un divisor de a.
Sean m y n enteros tales que son diferentes de cero. Un divisor comn de
m y n es un entero que divide a m y a n y se escribe en la siguiente
forma: mcd(m,n), y se interpreta como el mayor comn divisor de m y n.
Ejemplo 1:
Los divisores positivos de 30 son: 1,2 3, 5, 6, 10, 15,30
Y los divisores positivos de 105 son: 1, 3, 5, 7, 15, 21, 35,105;
As, los divisores positivos comunes de 30 y 105 son: 1, 3, 5, 15.
Esto implica que el mximo comn divisor de 30 y 105, mcd(30, 105) es
igual a 15.

JOSE GARZON ARIAS

- 95 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

3.4 MEDICION Y CIFRAS SIGNIFICATIVAS.


Antes de empezar con la definicin de errores , que es un concepto
inherente de los mtodos numricos, se presentaran los conceptos de
medicin y cifras significativas.

DEFINICION.
Una medicin es un procedimiento, por medio del cual se obtienen uno
o mas conjuntos de datos , que representan un proceso, de cualquier
clase
Las mediciones en fsica se efectan por medio de un instrumento de
medicin.
La exactitud de una medicin, depende del tipo de medicin y del
instrumento de medicin. As si se desea medir una partcula de polvo,
se requiere de un microscopio graduado en Micras. En cambio si se
desea medir el ancho de una estrella , se requiere de un telescopio con
graduacin que permita medir aos luz.
Todas las medidas que realiza un instrumento , se reportan con cierto
grado de incertidumbre, por ejemplo las medidas de una hoja de papel
tamao carta se reportan con un error de .5mm , lo cual quiere decir
que las dimensiones de la hoja (21.6,27.9cm) solo los tres primeros
dgitos son significativos.

CIFRAS SIGNIFICATIVAS.
DEFINICION.
Una cifra significativa es cada uno de los dgitos que resultan de hacer
una medicin, cuando la mxima incertidumbre no es mayor que la
mitad de la mnima unidad que puede ser medida con el instrumento de
medicin utilizado

JOSE GARZON ARIAS

- 96 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Los ceros no siempre son cifras significativas, , ya que pueden usarse


solo para ubicar el punto decimal. As los nmeros 0.00002458 y
0.0002458 tienen cuatro cifras significativas.
La importancia de las cifras significativas es :
I .- Es un criterio para especificar que tan confiable es un calculo , o
procedimiento numrico. Es comn especificar por tanto la confiabilidad
de un resultado a un numero de cifras significativas dado. Por ejemplo
en el caso de la hoja de papel tamao carta , podramos decir que la
superficie de la hoja de papel tiene una confiabilidad de 4 cifras
significativas, es decir que aun cuando se obtiene como resultado
602.64 , la confiabilidad de la medicin solo asegura la exactitud de los
cuatro primeros dgitos, es decir que la superficie de la hoja se reporta
como 602.6 0.5mm .

II.- Existen ciertos nmeros tales como , l ,

7 que representan

cantidades especificas que no se pueden expresar con un numero finito


de dgitos y solo se manejan aproximaciones como es el caso de

3.14159265 , a la eliminacin que se hace del resto de cifras

significativas se le conoce como error de redondeo.

3.5 CONCEPTO DE PRECISION Y EXACTITUD.


Cuando se efectan varias mediciones con un mismo instrumento y
a un mismo objeto, se distinguen dos cosas en los resultados
obtenidos:
1.- La repeticin de las mediciones dentro de un rango de valores
2.- La cercana de las mediciones a un valor , que de alguna forma
sabemos o consideramos como real.

JOSE GARZON ARIAS

- 97 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

DEFINICION DE PRECISION
A la repeticin de valores obtenidos de una medicin se le conoce
como la precisin de la medida.

DEFINICION DE EXACTITUD
A la cercana de las mediciones a un valor que consideramos como
el valor real se le conoce como exactitud.

Por ejemplo si la medicin de la superficie de un circulo de radio


unitario la realizamos cinco veces , obtenindose los valores siguientes:
3.141592653, 3.141592654,3.141592657,3.141592651,3.141592650,
todas las medidas tendran la misma precisin a 10 cifras significativas,
sin embargo las medidas de mayor exactitud serian la primera y la
segunda.

ERRORES.
En la vida real , no siempre se conocen las soluciones exactas de los
problemas que se presentan, ya sea en un proceso econmico,
administrativo, o cualquier calculo cientfico que se tenga que realizar.
Por este motivo, la mayor parte de los resultados que se reportan en la
practica son aproximaciones de las cantidades reales. En el rea de la
computacin, sucede lo mismo, ya que ninguna computadora puede
almacenar un numero irracional.
DEFINICION

La diferencia que existe entre una cantidad real y su aproximacin se


conoce de manera general como error.
Existen muchos tipos de errores(el tratamiento exhaustivo, y estadstico
de estos queda fuera del alcance del presente texto), dentro de los mas
importantes para el anlisis numrico, se encuentran :
JOSE GARZON ARIAS

- 98 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

El error de redondeo
El error de truncamiento
El error relativo
El error absoluto.
A continuacin describiremos cada uno de ellos.

ERROR DE REDONDEO

DEFINICION

El error de redondeo es el que resulta al suprimir o desechar un


conjunto de dgitos , que no se consideran como significativos, siguiendo las
reglas , establecidas para este caso:
a) Si el decimal n+1 es menor que 5, simplemente se suprime.
b) Si el decimal n+1 es mayor o igual a 5 , se incrementa en una
unidad la ultima cifra conservada.

Ejemplo :

Expresio

REPRESENTACION

APROXIMACION

ERROR

1/7

0.142857

0.142857

1/7000000

LN 2

0.693147180559945

0.693147

0.000000180

30941

JOSE GARZON ARIAS

559

- 99 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


3

1.259921049894873

1.25992

0.000001049

164
e

849

2.718281828459045
235

2.71828182845904

0.000000000

00000023536

ERROR DE TRUNCAMIENTO
Definicin:
El error de truncamiento es el error que aparece cuando un procedimiento
infinito, se hace finito.

El ejemplo clsico del error de truncamiento, es cuando se corta la expansin


de una funcin , en series de potencias.
La expansin de una funcin en series de potencias de Taylor esta dada
por:

f ( x) =

k =0

f k ( x0 )
( x x0 ) k ..3.2
k!

Como se ve esta expansin, es infinita lo cual no es practico, para calcular


un valor de la funcin, de ah que la serie se trunca , lo cual produce
automticamente un error ,el cual es precisamente el llamado error de
truncamiento. pngase como ejemplo, el calculo del valor de e1.5

ex =

1+ x +

x2 x3 x4
+
+
+ ........ 3.3
2
6 24

Aqu se tendrn diferentes errores, dependiendo del numero de trminos


usados para calcular la exponencial, lo cual se muestra en la siguiente tabla:

JOSE GARZON ARIAS

- 100 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Valor

Numero de

Resultado

Error

Real

trminos de la

aproximado

relativo

e1.5

expansin

4.481688927

obtenido
1

0.776869

2.5

0.442173

3.625

0.191151

4.1875

0.0656405

4.39843

0.0185756

1
2

4.46171

0.00445591

El error de aproximacin para cada expansin, esta dado por la expresin:

R n

n +1

(t )( x a ) n +1
.3.5
(n + 1)!

Donde Rn es el residuo que queda despus del n esimo termino, fn+1(t) es la


n+1 derivada paramtrica de la funcin.
Que para este caso el mayor numero de trminos es 6 as que:

et x 7
et x 7
e t 1.5 7
R6
=
=
= 0.0151932.3.6
7!
7!
7!

Como se vera el error esperado es precisamente mayor que para el 6 termino.

JOSE GARZON ARIAS

- 101 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

ERROR ABSOLUTO.
DEFINICION:
El error absoluto es el valor absoluto de la diferencia entre el valor real y el
valor aproximado.
Es decir:
abs= Vr Vo .. 3.7
donde Vr es el valor real , y Vo es el valor obtenido, o aproximado.
Como rara ves se conoce el valor real Vr , puede corresponder a cualquiera
de dos valores: El valor esperado o bien el valor obtenido por la iteracin
anterior.
Ejemplo: ln(3.5)= 1.25276 la aproximacin usando una expansin de
Taylor con 6 trminos es 14.3489, por tanto el error absoluto es:
1.25276 - 14.3489 = 13.0961

ERROR RELATIVO.
DEFINICION.
El error relativo es el cociente entre el error absoluto y el valor real.
Es decir que :
r=

V r Vo
.3.8
Vr

donde como en la definicin anterior Vr es el valor real , y Vo es el valor


obtenido o aproximado . Como ya se menciono, no siempre se conoce
el valor real , por tanto se usa el valor esperado o bien el valor
calculado anteriormente en una iteracin.

JOSE GARZON ARIAS

- 102 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Ejemplo : Se calculara el error relativo cometido al calcular el coseno de


60 , respecto al calculado por medio de 6 trminos de una expansin en
series de Mc Claurin.
Cos(6)= 0.960170, la expansin con 6 trminos proporciona el valor -0.733121
As r =

0.960170 + 0.733121
= 1.76353
0.960170

Muchas veces es til trabajar con el porcentaje de error relativo, lo cual se


obtiene multiplicando por 100.
En ambos errores estos se reportan de acuerdo con la exactitud que se esta
manejando.
Hay que recordar que el error de redondeo en los clculos esta dado por la
expresin Eror de redondeo = 5 X 10-n-1 donde n es el numero de decimales que
se estn considerando.
Como ejemplo al redondear el error relativo del calculo anterior del coseno se
tiene lo siguiente.
Cantidad

Redondeado a
decimales

1.76353

Cantidad

Error cometido

redondeada

1.7635

5X10-5

1.763

5X10-4

1.76

5X10-3

A continuacin se presentan una serie de ejercicios , que permiten al


estudiante reafirmar lo visto hasta ahora.

JOSE GARZON ARIAS

- 103 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Ejercicios:
Errores de redondeo.
1.- Dadas las siguientes cantidades 3.462335, 76.76549362, 5847.9.
Redonde a 4 decimales , y proporcione el error de redondeo.
2.- Bajo las operaciones de suma, producto y cociente de las cantidades:
549.3587, 97.3454, cual es el resultado, si estas se redondean a 3
decimales.
3.- Dada la funcin e x senx , cual es el error de redondeo, que se comete al
calcular el valor de la funcin en x = 6.33 y redondear a 5 decimales.
4.- Cual es el error mximo que se comete cuando se redondea un numero
a 7 decimales.

Errores de truncamiento
5.- Dada la funcin e 6 senx , determine el error de truncamiento , cuando esta se
evala en el punto 3.24, con los 6 primeros trminos de la serie de Mc
Claurin .
6.- Cual es el error Mximo permisible cuando la funcin cos(6x^2) , se
expande en una serie de Mc. Claurin.
7.- Sea 1+x+0.63x^2+0.534x^3+0.768x^4+589x^5 , la expansin al 50
termino de una funcin f(x) , cual seria el mximo error cometido con esta
expansin.

Errores Absolutos y Relativos


8.- Cual es el error absoluto , que se comete en el problema 5
9.- Cual es el error relativo que se comete en el problema 5
10 Cual es el error relativo que se comete en el problema 7 si el valor de la
funcin es 4.18x10 4 , en el punto 2.3456
JOSE GARZON ARIAS

- 104 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

HACIENDO USO DEL MATLAB


11.- Elabore un programa en MATLAB para cada uno de los problemas
anteriores y compruebe sus resultados.
12 .- Grafique en el Matlab , las funciones presentadas en los problemas
anteriores y sus expansiones en series de potencias , y compare las curvas,
y los valores obtenidos para la funcin.

BIBLIOGRAFIA.

ATKINSON, K.E. , An Introduction to Numerical Analysis, Wiley , Nueva York


,1987
Booth, G.W. y T.L. Peterson , Non Linear Estimation , I.B.M.Share
Program Pa. Num 687
Steven C. Chapra, Raymond P. Canale . Mtodos Numricos para Ingenieros
, Mc Graw Hill Interamericana,2003.
Mathews H, John , Fink D. Kurtis . Mtodos Numricos con MATLAB .
Pearson Educacin , S.A. Espaa ,2000
Kunz, Kaiser S. (1957). Numerical Anlisis , Mc Graw Hill, Nueva Cork.

JOSE GARZON ARIAS

- 105 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 106 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTRODUCCION A LA TEORIA DE ECUACIONES


DEFINICIONES BASICAS
ECUACIONES POLINOMIALES
ACOTACION DE RAICES REALES
METODOS DE SOLUCION NUMERICA DE ECUACIONES

JOSE GARZON ARIAS

- 107 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

SOLUCION NUMERICA DE ECUACIONES


4.0 DEFINICIONES BASICAS
Definicin de una ecuacin
D EFI N I CI ON
Una ecuacin es una expresin Matemtica, que contiene trminos
algebraicos

funciones

trigonometricas,

funciones

exponenciales,

logartmicas, etc, nmeros y un signo de igual Ejemplo: 3x +6x-2=1


Existen diferentes tipos de ecuaciones , dependiendo de los
trminos, las hay lineales como por ejemplo 45y+26=73. En general se
puede hablar de ecuaciones polinomiales de la forma:
anxn+an-1xn-1+an-2xn-2+an-3xn-3+=b(4.1)
Ecuaciones trigonometricas, las que tienen funciones trigonometricas,
ejemplo sen(2x)+5x=2. Ecuaciones logartmicas, las que tienen logaritmos,
como por ejemplo 5log(3x)+10=1 etc.
En general se distinguen dos tipos de ecuaciones , las lineales y las
no lineales.

RAICES DE ECUACIONES

D EFI N I CI ON
Una raz de una ecuacin es un numero que satisface le ecuacin, es decir
que si esta igualada a cero, una raz ser el numero real o complejo que la
hace cero Ejemplo la raz de la ecuacin 5x-1=0 ser

JOSE GARZON ARIAS

1
5

- 108 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Una ecuacin lineal siempre tendr como raz un solo numero real.
Las ecuaciones no lineales pueden tener normalmente mas de una
raz .
Las races de las ecuaciones no lineales pueden ser reales o
complejas.
En este momento es importante mencionar que una de las partes
importantes de los mtodos numricos es el calculo aproximado de las
races de ecuaciones que no se pueden obtener por mtodos
algebraicos , los mtodos mas conocidos son :
El mtodo de bisecciones, el mtodo de punto fijo, el mtodo de
interpolacin, el mtodo de Newton Rhapson, que sern descritos
posteriormente. Todos los mtodos mencionados anteriormente, tienen
la caracterstica de que bajo ciertas condiciones , se aproximan a las
races de las ecuaciones , con un cierto error de aproximacin , hay
tambin que considerar que hay ciertos mtodos que tienen algunas
restricciones que dificultan su uso.

4.1

ANALISIS

DE

RAICES

DE

ECUACIONES

POLINOMIALES.
En el caso del anlisis de races de ecuaciones polinomiales, es muy
importante el estudio de el Teorema fundamental del lgebra, el
Teorema del residuo y el Teorema del factor que vamos a enunciar a

continuacin.

Teorema fundamental del lgebra


Toda ecuacin polinomial de grado mayor o igual a uno tiene al menos
una raz. Es decir que el teorema fundamental del lgebra o TFA
asegura la existencia de al menos una raz para cualquier ecuacin
polinomial de grado mayor o igual a uno.

JOSE GARZON ARIAS

- 109 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Teorema del residuo


El

residuo

de

dividir

el

polinomio

Pn(x) = anx +an-1x +an-2x ++a0 de grado n 1 , entre x-b donde


n

n-1

n-2

b es cualquier constante , es igual a Pn(b) .

Teorema del factor


Si el residuo de dividir el polinomio Pn(x) ( de grado mayor o igual a
uno) , entre x-b es cero, entonces x-b es un factor de Pn(x) , entonces el
residuo de dividir Pn(x) entre x-b es cero.
Ejemplos :
El polinomio 4x5-2x3+1 , tiene una raz real , a saber :

x=

-0.9112547456
Al dividir 4x5-2x3+1 el residuo es 145
Como se obtuvo este resultado?, el resultado se obtuvo por medio de
divisin sinttica, el cual consiste en lo siguiente:

Se ordena el polinomio en orden decreciente.


Se separan los coeficientes poniendo ceros donde no hay
termino correspondiente.
Se cambia de signo el termino independiente que es el divisor.
El primer termino del cociente es el primer coeficiente del termino
de mayor grado.
A partir de ese momento se multiplican los cocientes por el
divisor hasta el ultimo termino del dividendo.
El numero final que queda es el residuo.

JOSE GARZON ARIAS

- 110 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Ejemplo :
Tomando el polinomio anterior 4x5-2x3+1, se tiene :

_______8___ 16___36___72__144________
4

18

36

72

145

Este es el residuo

De acuerdo con el teorema del factor el Polinomio P3(x)= x3-3x+18


tiene como factor x+3, esto se comprueba, por que al efectuar la
divisin de x3-3x+18 entre x+3 el residuo es cero.

SOLUCION DE UNA ECUACION


D EFI N I CI ON
La solucin de una ecuacin es el numero, o conjunto de nmeros
reales o complejos que , que al substituirlo en lugar de la variable
satisface la igualdad Ejemplo la solucin de la ecuacin
3x3+6x2+7x=0 tiene como solucin

2 3i
2 3i
, 1 +
,0
3
3

Como se podr observar a partir de este momento, por cada raz


compleja , que es solucin de la ecuacin, se tiene su conjugado.
Hay que observar que el numero de total de races que tiene un
polinomio, por el TFA corresponde al grado del termino mayor del
polinomio. En el ejemplo, el grado del polinomio es tres, y tiene 3
races.
La pregunta es, del numero total de races que tiene un polinomio,
cuantas se pueden esperar que sean Reales y cuantas complejas,
adems de las reales cuantas podran ser positivas y cuantas sern
negativas?. Esta pregunta se puede contestar con la regla de los signos
de Descartes.

JOSE GARZON ARIAS

- 111 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

REGLA DE LOS SIGNOS DE DESCARTES.


La

ecuacin

polinomial

de

grado

Pn(x) = anx +an-1x +an-2x ++a0 con an0 , en donde todos sus
n

n-1

n-2

coeficientes son nmeros reales y a0 0 , es decir que el cero no es


una raz de la ecuacin, entonces:
1.- El numero de races positivas de Pn (x) =0 , contadas cada una
tantas veces como indique su multiplicidad

es igual al numero de

variaciones de signo de los coeficientes del polinomio , o es menor que


este numero disminuido en una cantidad par .
2.- El numero de races negativas , de Pn(x)=0, contadas cada una
tantas veces como indique su multiplicidad , es igual al numero de
variaciones de signo de los coeficientes del polinomio evaluado en --x ,
es decir de Pn(-x) , o es menor que este numero disminuido en una
cantidad par.
Ejemplo: Sea P5(x) = 13x5+81x3+12x2+5x+27 , no tiene ninguna cambio
de signo , por lo tanto no se espera ninguna raz real positiva. Haciendo
P5(-x)=-13x5-81x3+12x2-5x+27 vemos que tiene 3 cambios de signo ,
por lo tanto esperamos 3 races reales negativas o 1 raz real negativa.
Races reales positivas

Races reales negativas

Races Complejas

Resolviendo para 13x5+81x3+12x2+5x+27=0


Se tiene : {

0.2995457166 - 0.6279304552i ,

0.2995457166 +

0.6279304552i , 0.04804288559 - 2.483977456i , 0.04804288559 +


2.483977456i ,

-0.6951772044}, la solucin presentada cumple

claramente con la regla de los signos de descartes, pues tiene 1 raz


real negativa y 4 races reales complejas.

JOSE GARZON ARIAS

- 112 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Ntese como se dijo , cuando hay una raz compleja, esta viene por
pares, es decir que para cada raz compleja se tiene su conjugado.

4.2 SOLUCION DE ECUACIONES NO LINEALES.

Sea que f(x) es una funcin continua, dgase que f: . Se desea


calcular las soluciones de la ecuacin f(x)=0 (4.1). Mas aun , se puede

considerar el caso f:nn , donde n1. Problemas de este tipo


aparecen en la optimizacin de funciones y en la solucin numrica de
sistemas no lineales.

4.3 MTODO DE APROXIMACIONES SUCESIVAS


El mtodo de aproximaciones sucesivas consiste en generar funciones
convergentes, bajo un esquema iterativo, partiendo de la funcin
original, lo cual se soporta en el siguiente teorema :

TEOREMA DE CONVERGENCIA.
La raz, de cualquier sub. funcin extrada de una funcin f(x)

obtenida por una iteracin convergente , es tambin una raz de f(x).


Ejemplo de aplicacin del teorema
Sea f(x)=5senx-3x, la sub funcin sen(x) tiene como raz x=0, la cual
resulta ser tambin raz de la funcin f(x)
D EFI N I CI ON
Un esquema iterativo en Mtodos Numricos , es una tcnica
fundamental que consiste en repetir un proceso aritmtico o algebraico ,
hasta que se obtiene un resultado.

Esta definicin se aplica el proceso de iteracin que consiste en


sustituir repetidamente

en una expresin (o formula) el valor

previamente obtenido.

JOSE GARZON ARIAS

- 113 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


En este mtodo se requiere de una regla, formula o sub funcin g(x),
con la que se calculan los trminos sucesivos , junto con un valor de
partida p0, esto produce una sucesin de valores {pk} obtenida
mediante el proceso iterativo pk+1=g(pk).
La sucesin se ajusta al siguiente patrn:
P0
P1=g(P0)
P2=g(P1)

P3=g(P2)
P4=g(P3)
P5=g(P4)
P6=g(P5)
En una sucesin interminable de nmeros , se dice que el esquema
iterativo converge , si los nmeros tienden a un limite,
Ejemplo : sea f(x) = -x/20 - 0.9534461720 y p0 = 1 se tiene que
{0.04655382800, -0.002216747499, 0.0001056833004,

5.03819948510-6

, 2.40100349910-7

, - 1.14997317210-8

5.00185606810 -9 , - 9.97418760210-10 , 0}

Es decir que la raz exacta se obtiene hasta el 9 valor.

JOSE GARZON ARIAS

- 114 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

PUNTOS FIJOS.

D EFI N I CI ON
Un Punto fijo de una funcin g(x) es un numero real que P , tal que
P=g(P) .

Ejemplo: un punto fijo de la funcin g(x)=7sen(2x)-4x es cero porque


0=7sen(0)-4(0).
Geomtricamente hablando, los puntos fijos de una funcin g(x) son los
puntos de interseccin de la curva y = g(x) con la recta y=x

ITERACION DE PUNTOS FIJOS

D EFI N I CI ON
Una iteracin de punto fijo es un esquema iterativo de la forma
pn+1=g(pn) para n=0,1,.

Ejemplo: sea la interaccin convergente


P0=0.5

y Pk+1 =-pk para k=0,1,2,

Calculando los diez primeros trminos:

.
P1=-0.500000=0.606531
.
P2=-0.606531=0.545239
P3=-0.545239.=0.579703
.

JOSE GARZON ARIAS

- 115 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


P9=-0.579703=0.567560
P10=-0.567560=0.566907

La sucesin converge lo cual da :


lim Pn

= 0.567143...... .

Lo que se ha obtenido es una aproximacin de punto fijo de la funcin


f(x)= -x

EL MTODO DE APROXIMACIONES SUCESIVAS COMO


ITERACIN DE UN PUNTO FIJO
D EFI N I CI ON
El mtodo de aproximaciones sucesivas, es el procedimiento que
permite obtener una aproximacin a la solucin de

una ecuacin,

mediante la iteracin de un punto fijo.

A continuacin se presenta un programa que calcula la raz de una


ecuacin , por el mtodo de aproximaciones sucesivas.
function [k,p,err,P]=fixpt(g,p0,tol,max1)
P(1)=p0
for k=2:max1
P(k)=feval(g,P(k-1));
err=abs(P(k)-P(k-1));
relerr=err/(abs(P(k))+eps);
p=P(k);
if(err<tol) | (relerr<tol),break;end
end
if k == max1
disp(se han excedido el numero mximo de iteraciones)
end
P=P;

JOSE GARZON ARIAS

- 116 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Para poder usar este programa es un requisito introducir la funcin g(x)


como un archivo.

Ejercicios:
Obtenga la solucin , por el mtodo de aproximaciones sucesivas de las
siguientes ecuaciones:
1.- x5-3x3-2x2+2=0
2.- cos(sen(x))=2
3.- x2=sen(x+0.25)

4.4 METODO DE BISECCION :


El mtodo de de Biseccin tiene como base el Teorema de valor
Intermedio, el cual a la letra dice:
TEOREMA DE VALOR INTERMEDIO

Sea f(x) una funcin continua en [a,b] y sea p un valor entre (f(a),f(b)) ,
entonces existe un valor x* entre (a,b), tal que f(x*) = p
COROLARIO

Sea f(x) una funcin continua en [a,b] y sean f(a) y f(b) de signos
contrarios, entonces existe un valor x* entre (a.b) , tal que f(x*) = 0
El mtodo de biseccin consiste en :
Sea f(x) una funcin continua , y a, b dados tales que f(a)f(b)0 , se
define c=(a+b)/2. Si f(c) = 0 entonces el algoritmo termina.

JOSE GARZON ARIAS

- 117 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

ALGORITMO DEL METODO DE BISECCION.

1. .- Sean a1=a, b1=b , n=1


2. .- Defina cn=(an+bn)/2
3. .- Si bn-cn , entonces se acepta que cn es una raiz aproximada
y se detiene el proceso.
4. Si signo(f(bn)) signo(f(cn)).<0 , entonces an+1=cn. De lo contrario
bn+1=cn
5. Hgase n=n+1 , y regrese a 2
Ejemplo: Considere la funcin f(x)= x2+x-1 .Note como f(0)=-1 f(1)=1,
se tiene que existe una raz de la ecuacin f(x)=0 en el intervalo

(0,1).

Aproximando esta raz con el mtodo de Biseccin. Los resultados son:


N

an

bn

cn

f(an)

f(bn)

f(cn)

0.5

-1

0.25

0.5

0.25

-1

0.25

0.69

0.25

0.5

0.375

0.25

0.69
4

0.375

0.5

0.4375

0.48
0.25

0.48
5

0.4375

0.5

0.46875

JOSE GARZON ARIAS

0.37

0.25

- 118 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


0.37

0.31

La solucin correcta a seis cifras significativas es 0.618034. Se puede ver


que el mtodo de biseccin es un poco lento. A continuacin se presenta un
anlisis del error.

ANALISIS DE ERROR .

Como f(a)f(b)0 , se sabe que existe un numero [a,b] tal que f()=0
Mediante

Induccin

Matemtica

se

puede

probar

que

bn+1-an+1=1/2(bn- an). (4.2)


Esto es asi , ya que el intervalo se divide a la mitad , cada ves que se pase
por el paso 2 del algoritmo. Nuevamente usando induccin matemtica , se
obtiene que (bn- an)=
Obsrvese

que

2 n 1

(b a ) , n1 ..(4.3)

como

c n c n a n = bn c n =

[an,cn]

[cn,bn]

se

tiene

que

1
(bn a n ) .(4.4)
2

Combinando (4.3) y (4.4) se tiene que c n

1
(b a),
2n

n 1 (4.5)

Lo cual implica que cn segn n . La convergencia en (4.5) es lo que se


conoce como convergencia lineal con razn de convergencia . De la
desigualdad (4.5) se puede estimar el numero de iteraciones necesarias
para obtener c n . En particular si se requiere que
n log 2 (

ba
) .(4.6)

JOSE GARZON ARIAS

1
(b a ) ,
2n

- 119 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Basndose en este anlisis de convergencia se puede hacer las siguientes
observaciones.

El mtodo tiene convergencia segura! . Esto es dada la condicin

inicial f(a)f(b)0 , el mtodo converge a una raz en

[a,b] . Esta

propiedad conocida como convergencia global , es una de las


caractersticas fuertes del mtodo de Biseccin y la mayora de los
mtodos no la poseen.

El error en las aproximaciones generadas por el mtodo se reduce a la


mitad en cada paso.

La convergencia lineal , se caracteriza por la ecuacin (4.5) , es lenta


(es decir se requiere, un gran numero de iteraciones para llegar a un
resultado correcto) comparada con otros mtodos . Esto es as ya que
el mtodo solo usa evaluaciones de la funcin y sus comparaciones.

CONCLUYENDO.

El mtodo de biseccin tiene limitaciones sobre otros mtodos numricos,


para obtener races de ecuaciones no lineales , sin embargo da
resultados aproximados para la simplicidad del algoritmo.

4.5 METODO DE NEWTON RAHPSON.


El mtodo de Newton , como es conocido usualmente, requiere tener una
funcin diferenciable y de clase C1 . La recta tangente a f en el punto

(x0,f(x0)), esta dada por la ecuacin y = f ( x0 ) + f ' ( x0 )( x x0 ) .

Aproximando a f con la recta, y definiendo x1 como la intercepcin en x de


la recta, es decir que x1=x0-

f ( x0 )
, con f(x) 0 .(4.7)
'
f ( x0 )

f (x )

x n +1 = x n ' n
El esquema recursivo para esta expresin es :
f ( xn )

x0

f (xn)

0 , n0 (4.8)

JOSE GARZON ARIAS

- 120 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Este mtodo es una aplicacin de una iteracin de punto fijo.
El algoritmo en pseudo cdigo para este mtodo es

Para encontrar una raz real de la ecuacin f(x) = 0, proporcionar la funcin F(X) y su
derivada DF(X) y los
DATOS:
Valor inicial X0, criterio de convergencia EPS, criterio de exactitud EPS1 y nmero
mximo de iteraciones MAXIT.
La raz aproximada X o un mensaje de falla.
PASO 1.-Hacer I = 1
PASO 2.-Mientras I < MAXIT repetir los pasos 3 a 7.
PASO 3.-Hacer X = X0 - F(X0) / DF(X0) 'calcula xi
PASO 4.-Si ABS(X - X0) < EPS entonces IMPRIMIR X y TERMINAR. De otro modo
CONTINUAR.
PASO 5.-Si ABS(F(X)) < EPS1 entonces IMPRIMIR X y TERMINAR. De otro modo
CONTINUAR.
PASO 6.-Hacer I = I + 1
PASO 7.Hacer X0 = X 'actualiza X0
PASO 8.-IMPRIMIR mensaje de falla "EL MTODO NO CONVERGE A UNA RAZ" y
TERMINAR

El algoritmo en MATLAB es :
%METODO DE NEWTON RAPSON PARA EL CALCULO DE UNA RAIZ
REAL DE f(x)

Format long
X0=a
for I=1:n
f= anx0n+1 +an-1x0na0;
df= an(n+1)x0n+an-1(n)x0n-1..a1;
x=x0-f/df;
dist = abs(x-x0);
dg=abs(1-(df2-f(xn)*(f/ df2);
disp([x,dist,dg])
x0=x;
end.
Aplicando este algoritmo al polinomio x5+4x4-3x-24 se encuentra que:
APROXIMACIONES ERROR --------2.2222 1.2222

JOSE GARZON ARIAS

- 121 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


1.8111
1.5842
1.5145
1.5086
1.5085

0.4111
0.2269
0.0697
0.0060
0.0000

Grafica de la funcion x5+4x4-3x-24

La raz es 1.5085, la cual se alcanza a la 6 iteracin


Ejercicios.

Calcule las races


1. x3+2x2+10x-20
2. 2x4-51x2+12x
3. 13x3+5x2-8
.

JOSE GARZON ARIAS

- 122 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 123 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTRODUCCION A LOS SISTEMAS LINEALES DE


ECUACIONES
DEFINICIONES BASICAS
CARACTERISTICAS DE LOS SISTEMAS LINEALES
CLASIFICACION DE LOS SISTEMAS LINEALES
NORMA DE UNA MATRIZ
MATRICES CONVERGENTES
METODOS ITERATIVOS PARA LA SOLUCION DE SISTEMAS
LINEALES

JOSE GARZON ARIAS

- 124 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

5.0 SISTEMA LINEAL DE ECUACIONES.


Un sistema lineal de n ecuaciones , con n incgnitas , se puede escribir
de la forma :

a1| x1 + a12 x 2 + a13 x3 + .......... + a1n x n = b1


a x + a x + a x + .......... + a x = b
22 2
23 3
2n n
2
21 1

a x + a x + a x + .......... + a x = b
n2 2
n3 3
nn n
n
n1 1

(5.1)

donde ai, bi son dados y x1, x2,..xn son desconocidos . Definiendo


las matrices y vectores:
a11

a 21
=

a n1

a12
a 22

an2

x1
.......... ..... a1n

x
...........
a2n
2

X = :
....

: :
......


........
a nn nxn
xn

b1
b
2
b= :
: :

bn

(5.2)

Entonces se puede escribir el sistema (5.1) en forma MATRICIAL como


AX=b

(5.3).

La matriz A, se conoce como la matriz de coeficientes del sistema. El


vector X , se conoce como el vector de incgnitas o variables. El vector b
se conoce como el vector de trminos independientes.

JOSE GARZON ARIAS

- 125 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Lo que se pretende hacer en este capitulo es desarrollar mtodos
numricos y sus algoritmos , que permitan resolver los sistemas lineales
que se sabe tienen solucin, lo cual ha sido establecido , por un anlisis
con las herramientas del lgebra lineal.
Haciendo un resumen de los sistemas lineales y las caractersticas, para
que estos tengan solucin, se puede enunciar:

Sea Ax=b un sistema lineal de ecuaciones


X Cuando un sistema tiene al menos una solucin se dice que , el
sistema es consistente, en caso contrario es inconsistente.
X Se dice que el sistema es homogneo cuando b = 0, es decir el
vector b es el vector nulo. Estos sistemas siempre tienen solucin,
por lo tanto estos sistemas son consistentes. Las solucin trivial de
estos sistemas es tambin X = 0
X Si b 0 se dice que el sistema es no homogneo.

X Un sistema no homogneo es consistente (tiene al menos una


solucin ) si rango(A) = rango(A|b)

X Los sistemas no homogneos son consistentes con una solucin si


rango(A)=n
Es consistente con mas de una solucin si: rango(A) =
rango(Ab)= r<n

X Si b=0 , el sistema siempre es consistente , ya que X=0 (Solucin


trivial) es siempre una solucin y esta ser nica si .rango(A)=n
X Si b=0 , el sistema tendr solucin no trivial si : rango(A) =r<n . En
cuyo caso un numero infinito de soluciones existen.
X Si b0, el sistema es inconsistente ( no existe solucin) si:
rango(Ab)>rango(A)

De forma grafica se puede clasificar los sistemas lineales en


Sistemas
de
JOSE GARZON
ARIAS

- 126 -

Ecuaciones

Inconsistentes

Consistentes

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Ejemplos:
1.- Sistema con soluciones infinitas:
x1+4x3+x5=-3
x2-2x3-x5=1
x4=2
La matriz aumentada es

1 0 4 0 1 : 3

0 1 2 0 1 : 1
0 0 0 1 0 : 2

Resolviendo el sistema por eliminacin Gaussiana se obtienen las


soluciones:

X1= -4s-r-3
X2= 2s+r+1
X3= s
X4= 2
X5= r

2.- Sistema con solucin nica.

JOSE GARZON ARIAS

- 127 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


-x+z = -2
2x-y+z = 1
-3x+2y-2z = -1
x-2y+3z =-2
5x + 2y +6z = -1
La matriz

aumentada

1
1 0

2 X=1 1 1
3 2 2

2 3
1 Y=
5
20 6

Z = -1

y la solucin del sistema

es:

: 2

: 1
: 1

: 2
: 1

por

el

mtodo

de

eliminacin gaussiana se tiene :

x1+2x3-2x4 = 1
-x1+x2+x4 =-2
X2+2x3-x4 =1
3.- Sistema inconsistente :

JOSE GARZON ARIAS

- 128 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

La matriz aumentada es :

1 0 2 2 : 1

1 1 0 1 : 2
0 1 2 1 : 1

por medio del procedimiento de eliminacin gaussiana se tiene:

1 0 2 2 : 1

0 1 2 1 : 1
0 0 0 0 : 2

Como la ultima fila contiene ceros del lado izquierdo y

un numero

diferente de cero del lado derecho . El sistema es inconsistente.


A continuacin se presenta un algoritmo escrito, para Matlab, que
permite calcular el rango de una matriz:

clear all
clc
%Este programa calcula el rango de una matriz
R=1;
A=[ ]mxn
Fprntf(El rango de la matriz A es %.f,R);
R=rank(A);
end
Tambin se presenta un algoritmo para el mtodo de eliminacin de
Gauss Jordan. Mtodo rpido.
clear all
clc
%El metdodo de eliminacin de Gauss Jordan
A= [ ]mxn
JOSE GARZON ARIAS

- 129 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


B = [ ]nxr
X=A/B;
disp(El valor de la matriz es igual a:);
disp([x]);

Se presenta el algoritmo del mtodo de eliminacin de Gauss Jordn


largo :

clear all
clc
%El mtodo de eliminacin largo de Gauss Jordn
A= [ ]mxn
B = [ ]nxr
for m=1:m
for n=1:n
clc
fprint(Introduce el valor de m,n,,m,n);
A(m,n)=input( );
end
end
%no se intercambia la fila
for i=2:3
A(i,:)=A(i,:)*A(i,1)/A(1,1);
End
A
%Se intercambia la fila 2 con la fila 3
copia=A(3,:);A(3,:)=A(2,:);A(2,:)=copia;
for i=1:3
if i~=2
A(i;:)=A(i,:)-A(2,:)*A(i,2)/A(2,2);
end
end
%Esto debe hacerse con cada elemento de la diagonal
A
for i=1:3
X(i)=A(i,1)/A(i,i),
end
x
disp(El valor de la matriz es igual A:);
disp([x]);
end

JOSE GARZON ARIAS

- 130 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


aplique el algoritmo descrito para resolver el sistema

5.1

NORMA

DE

UNA

MATRIZ

MATRICES

CONVERGENTES
NORMA DE UNA MATRIZ
La norma de una matriz es un numero real positivo ||A|| que cumple con
las siguientes caractersticas.
Sean A y B matrices, para las cuales estn definidas las operaciones
de Suma, y producto, entonces:
a) ||A|| 0

||A|| = 0 si A = 0

b) ||A|| = || ||A|| (con un escalar)


c) ||A+B|| ||A||+||B||

||-A|| =||A||

d) ||AB|| ||A||||B||

e) ||Ap|| ||A||p Si Amxn y p es un numero natural


f) Si A =(aij) entonces |aij|||A||
g) De |A||B se

sigue

||A||||B||

3x2-6x3-4x4-3x5=-5

Defnase algunas

-x1+3x2-10x3-4x4-4x5=-2

de
definen
definicin

orden
tres

normas de A =(aij)
arbitrario.

2x1-6x2+20x3+2x4+8x5=-8

de

que

Se

normas (dada la
norma se pueden

JOSE GARZON ARIAS

- 131 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


definir muchas mas).
1. ||A||m=

max
aij
i j

2. ||A||m =
3. ||A||k =

max
j

ij

2
ij

i, j

Ejemplos:
Se calcularan las tres normas para la siguiente matriz:

2 3
1
2

A3x3 = 4 3

2
0
2
5

a)

||A||m

max(

max
aij
i j

15
15
9
+ 2 , ,7) =
2
2
2
b) ||A||m =

max
j

ij

1
1
max(1+ 2 + 3 ,4+3+ ,
2
2

= max (1+4+0,

0+2+5)=

1 1
2 +3+2, 3 + + 5 ) =
2 2

max(5,5+ 2 ,9) = 9
c) ||A||k =

a
i, j

ij

(1 + 2 +

49
1
578
+ 16 + 9 + + 4 + 25) =
4
4
4

Como se vera la norma mas grande es la ||A||k

JOSE GARZON ARIAS

- 132 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


5.2 CONVERGENCIA DE MATRICES.

El concepto de convergencia de matrices, permite decidir si una matriz


es o no apta , para que se le pueda aplicar un mtodo numrico.
Para asegurar que una matriz se puede usar en un proceso iterativo, se
requiere que :
lim A n

=0

Donde 0 es la matriz nula de orden igual a A . Cualquier matriz que


satisface esta condicin, se dice que es una matriz convergente .

TEOREMA DE CONVERGENCIA DE MATRICES:

La matriz Amxn es convergente , es decir

lim A n

= 0 si y solo si , todos

los valores propios de A en valor absoluto , son menores que uno.


(Esta condicin se da como (A)<1, donde (A) es el radio espectral de

la matriz y esta, definido como: (A) =

max
i

i , donde i son los

valores propios de A ) .
COROLARIO La matriz A es convergente si para alguna norma se

tiene que A 1 .

Ejemplo de matriz convergente.:

JOSE GARZON ARIAS

- 133 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

27
1
A =
9
1

81

1
27
1
3
2
81

81
1
; se puede
4

81

observar que esta matriz tiene una

3 3 1

1
9 27 81
81

1 2 4

1
1
norma de
, ya que
<1 , lo cual proviene
81
81

Fcilmente se puede comprobar que

lim

An = 0

5.3 METODOS ITERATIVOS PARA RESOLVER SISTEMAS


LINEALES

DE

ECUACIONES

CUYA

MATRIZ

DE

COEFICIENTES TENGA UNA NORMA MENORA A UNO

METODO DE JACOBI:

El mtodo de Jacobi o mtodo de desplazamientos simultneos, es un


mtodo que busca una solucin para el sistema lineal de ecuaciones de
la forma: AX-b = 0.. (5.31) , el cual es satisfecho por la ecuacin
vectorial : X = BX+c,

(5.32) ,es decir que la expresin sea

tambin una solucin de la ecuacin vectorial anterior. El esquema


iterativo para esta ecuacin es : X(k+1) = BXk+c con k =1,2,3..(5.33)
JOSE GARZON ARIAS

- 134 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Donde

Xk=[x1k,x2k,x3k,.]t (5.34) es el vector de

soluciones. Este mtodo, parte de un vector inicial X(0), como primera


aproximacin al vector solucin X .
Para que el vector X k converja a la solucin X. se requiere que xjm , con
1jn se aproximen tanto a xj , 1jn que todas las diferencias
xj

xj

sean menores que un valor previo, y que se conserven

menores para todos los vectores siguientes de la iteracin. Es decir que

lim

xj = xj
m

1jn

(5.35)

Sea entonces:
a11 x1 + a12 x 2 + a13

a 21 x1 + a 22 x 2 + a 23
a31 x1 + a 32 x 2 + a 33

= b1

= b2

= b3

despejando x1 de la primera ecuacin, x2 de la segunda ecuacin y x3


de la tercera se tiene:

a12 x 2 a13 x3 b1
+
a11
a11
a11

x1 =

x1
x= x 2 =
x3

a 21 x1
a 22

x2 =

a 23 x3 b2
+
a 22
a 22

a31 x1 a32 x 2
a33
a33

x3 =

b3
a33

Lo cual queda en notacin matricial:

x1
x
2
x3

a
= 21
a
a22
31
a33

a12
a11
0

a32
a33

b1
a13


a11 x a11
1
a 23 b2
* x2 +
a 22 a 22
x3 b
3
0

a33

JOSE GARZON ARIAS

(5.36)

- 135 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Una vez que se tiene la expresin 5.36 se propone un vector inicial X0


que puede ser el vector 0, o algn otro.
Se comienzan pues las iteraciones:
En la primera iteracin teniendo como X0 = 0
b1

x a11

b
Xk= x = 2
a22
x
b

3
a33
1
1
1
2
1
3

(5.37)

El esquema iterativo general es :


1
k
k
(b1 a12 x 2 a13 x3 )

X k +1 a11

k +1 1
k
k
k+1
(b2 a 21 x1 a 23 x3 )
X = X =
a

X k +1 22

1
k
k

(b3 a31 x1 a32 x3 )

a33

(5.38)

Que tambin se puede escribir como:

Xi

k+1

n
1
k
= bi + aij x j , para

aii
j =1

j i

JOSE GARZON ARIAS

1 i n

- 136 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Ejemplo :
Resolver por el mtodo de jacobi:

3x1
x1

x2

x2
+ 3x2
+ 3 x3
x3

x3

x4

+ 3x4

=1
=1

=1
=1

Se puede ver que este sistema se puede trabajar con un mtodo


iterativo porque tiene una norma de

1
, lo que tambin se puede decir
3

que es diagonalmente dominante, es decir que aii aij .


j

Despejando x1 de la primera ecuacin, x2 de la segunda ecuacin y as


sucesivamente se tiene :

x1 =

x2 1
+
3 3
x
x
1
x2 = 1 + 3 +
3
3 3
.
x2 x4 1
x3 =
+
+
3
3 3
x
1
x4 = 3 +
3 3
Aplicando el mtodo de jacobi con X0=0 para la primera iteracin se
tiene:

1
3
1

1 3
X=
1
3
1

3
JOSE GARZON ARIAS

- 137 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Aplicando el esquema iterativo, se obtiene la siguiente tabla:
k

X 1k

0.0000

0.33333

0.44443333

0.48147778

0.49382593

0.5144234

X 2k

X 3k

X 4k

0.0000

0.0000

0.0000

0.33333

0.33333

0.33333

0.55553333

0.55553333

0.44443333

0.70368889

0.70368889

0.48147778

0.80245932

0.80245932

.80245926

.80245926

0.5324667

0.80245920

0.80245920

0.5324667

0.5534689

0.80214876

0.80214876

0.5534689

0.5725346

0.8019856

0.8019856

0.5725346

0.5938562

0.800987

0.800987

0.5938562

10

0.5997677

0.800599

0.800599

0.49382593

0.5144234

0.5997677

El algoritmo en Matlab para el mtodo de Jacobi es:


%Mtodo de Jacobi
clear
A=[ ]
b=[ ]
X0=zeros(1,n)
K=0;Norma=1;
fprintf(K X(1) X(2) X(3)X(n) Norma\n)
while Norma >0.0001 %Este representa la exactitud del mtodo
K=K+1;
fprintf(%2d,K)
for i=1:n
suma=0;
for j=1:n
JOSE GARZON ARIAS

- 138 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


if i~=j
suma=auma+A(I,j)*X0(j);
end
end
X(i)=(b(i)-suma/A(I,i);
fprintf( %10.4f,X(i))
end
Norma=norm(X0-X);
fprintf(%10.4f\n,Norma)
X0=X;
If K>25
Disp(No se alcanzo la convergencia)
break
end
end

BIBLIOGRAFIA:
1.-Nakos George and Joyner David
Linear lgebra and Applications
Brooks Cole Publishing
Newark U.S.A.
1998
2.- Chapra C. Steven y Canale.P. Raymond.
Mtodos Numricos para ingenieros.
4a Edicion.
McGraw-Hill
Interamericana
Mexico
2002
JOSE GARZON ARIAS

- 139 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 140 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTERPOLACION
DEFINICIONES BASICAS
INTERPOLACION DE NEWTON

JOSE GARZON ARIAS

- 141 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTERPOLACION DE LAGRANGE
INTERPOLACION POR SPLINES

APROXIMACION POR MINIMOS CUADRADOS


APLICACIONES DE LOS METODOS DE INTERPOLACION.

INTERPOLACION Y APROXIMACION
En la practica profesional, no siempre se tienen todos los datos , que nos
interesa, o bien no siempre se tiene la forma analtica de las funciones que
representa un proceso(ya sea administrativo, industrial, etc.), por tal motivo,
es necesario, que con la informacin con la que se cuenta, se puedan
obtener datos adicionales o valores intermedios aproximados, que permitan
construir un modelo mas adecuado , para describir la situacin real.

6.0 DEFINICIONES BASICAS


JOSE GARZON ARIAS

- 142 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Definicin de INTERPOLACION
D EFI N I CI ON
La interpolacin se entiende como el procedimiento para obtener , valores
intermedios de una lista o tabla de valores , que no los contiene.
Existen diferentes tipos de interpolacin, a saber:(6.1)
Interpolacin de Newton.
Interpolacin de Lagrange.
Interpolacin por Splines.
Cada tipo de interpolacin requiere de cierta informacin particular , la cual
depende del tipo de proceso que se analiza , las cuales sern descritas a
continuacin.

6.1 Interpolacin de Newton.


La interpolacin de Newton se aplica a procesos , cuyos intervalos de la
variable independiente son simtricos, es decir la longitud del intervalo entre
cada medicin es la misma. Este tipo de interpolacin es muy til, cuando el
experimento es diseado y controlado por el experimentador. Como
ejemplo se puede citar, el caso de un qumico que esta llevando a cabo una
reaccin qumica, y determina la concentracin del producto cada 5 minutos
hasta que la reaccin ha concluido. Aun cuando el qumico, toma las
JOSE GARZON ARIAS

- 143 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


lecturas peridicamente cada 5 minutos, se puede requerir la concentracin
del producto digamos a los 13 minutos, dato con el que no se cuenta, pues
los valores mas cercanos sern los de 10 y 15 minutos. Aqu es donde se
puede hacer uso de la interpolacin de Newton.
Para poder efectuar una interpolacin de Newton se requiere , introducir
algunas definiciones y conceptos adicionales.

D ife r e n cia s h a cia de la n t e


D EFI N I CI ON
Las diferencias hacia adelante se obtienen al tomar la diferencia de los
valores de la variable dependiente ,entre dos valores sucesivos de la
variable independiente.

Ejemplo 6-1 : Calcule las diferencias hacia delante de la siguiente tabla que
representa la concentracin de un reactivo, respecto del tiempo, en una
reaccin qumica.

Tiempo en

10

15

20

25

234

212

203

198

180

173

seg.
Concentracin
en moles/litro
TABLA 6-0
Las diferencias hacia delante son:
Observacin

t(tiempo)

C(concentracin)

234

C1

C2

C3

C4

212-234= -22
2

212

-9+22=13
203-212=-9

JOSE GARZON ARIAS

4-13=-9

- 144 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


3

10

203

-5+9=4
198-203=-5

15

198

-13-4=-17
-18+5=-13

180-198=-18
5

20

-8

180

41
11+13=24

-7+18=11
173-180=-7

25

173

TABLA 6-1
Las cuales representan las diferencias hacia delante.

D ife r e n cia s dividida s

D EFI N I CI ON
Las diferencias dividas de primer orden son la diferencia entre dos valores
sucesivos de la variable independiente , divididos entre la longitud del
intervalo de medicin..

Ejemplo: Se tiene una tabla de concentraciones de un reactivo en una


reaccin qumica, cada 5 minutos en la forma:

Tiempo en

10

15

20

25

234

212

203

198

180

173

seg.
Concentracin
en moles/litro

Las diferencias divididas se obtienen en la forma :

c
t

212 234
=
5

203 212
=
5

198 203
=
5

180 198
=
5

173 180
=
5

-4.4

-1.8

-1

-3.6

-1.4

JOSE GARZON ARIAS

- 145 -

2c
t 2
3c
t 3

4c
t 4

5c
t 5

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

1.8 + 4.4
=
10
0.26

0.16 0.52
=
15
-0.012
0.1360 + 0.072
=
20
-0.0005
0.0112 + 0.0128
=
25

1. + 1.8
=
10

3.6 + 1
=
10

1.4 + 3.6
=
10

0.08
0.52 0.16
=
15
0.0227
0.1920 0.1360
=
20
0.0013

-0.26
0.44 + 0.52
=
15
-0.0027

0.22

0.0001

Uniendo las dos tablas se tiene que:

Tiempo en

10

15

20

25

234

212

203

198

180

173

seg.
Concentracin
en moles/litro

c
t

2c
t 2
3c
t 3

4c
t 4

5c
t 5

212 234
=
5

203 212
=
5

198 203
=
5

180 198
=
5

173 180
=
5

-4.4

-1.8

-1

-3.6

-1.4

1.8 + 4.4
=
10
0.26

0.08 0.26
=
15
-0.012
0.0227 + 0.012
=
20
-0.0005
0.0013 + 0.0005
=
25

1. + 1.8
=
10

3.6 + 1
=
10

1.4 + 3.6
=
10

0.08
0.26 0.08
= 15
0.0227
0.0027 0.0227
=
20
0.0013

-0.26
0.22 0.26
=
15
-0.0027

0.22

JOSE GARZON ARIAS

- 146 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


0.0001

Ordenando la tabla de forma vertical se tiene:


Ob

c
t

2c
t 2

3c
t 3

4c
t 4

5c
t 5

234

-4.4

0.26

-0.012

-0.0005

0.0001

212

-1.8

0.08

0.0227

0.0013

10

203

-1

-0.26

-0.0027

15

198

-3.6

0.22

20

180

-1.4

25

173
TABLA 6-2

Las cuales representan las diferencias divididas.

POLI N OM I OS D E N EW TON .
D EFI N I CI ON
Los polinomios de newton se obtienen a partir de la expresin

k
n

y(x)=

k =0

y i , donde la expresin s=.

s ( s (k 1))!
x(xi,xi+1).y =
k!
k

x xi
pertenece al intervalo
xi +1 xi

a) Haciendo uso de las diferencias hacia delante.

JOSE GARZON ARIAS

- 147 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Se puede determinar el polinomio de Newton que representa los datos
experimentales de la tabla 6-0 :
A saber:

((t t 3 ) / 5)!
((t t1 ) / 5)!
((t t 2 ) / 5)!
((t t 4 ) / 5)!
C 3 +
C1 +
C 2 +
C 4
1!
2!
3!
4!

C(t)=

b) Haciendo uso de las diferencias divididas.


Con los valores de la tabla 6-2 se puede determinar el polinomio que
representa la funcin de concentracin como:
C4(t)= b0+b1(t-5)+b2(t-5)(t-10)+b3(t-5)(t-10)(t-15)+b4(t-5)(t-10)(t-15)(t-20) ;
As tomando como b0 =203, t=13, b1=-1,b2=0.22, se tiene para C2(13)=
203-(13-5)-0.22(13-5)(13-10)=200.28 , lo cual tiene un error del 9.35%
Lo cual resulta ser una aproximacin bastante buena.

A continuacin se presenta un programa en Matlab para calcular las


diferencias divididas y el polinomio de aproximacin.

function [C,D]=newpoly(X,y)
%Datos
% - X es el vector de las abscisas
% Y es el vector de las ordenadas
% Resultados
% C es el vector de coeficientes.
% D es la tabla de diferencias divididas.
n=lenght(X);
D=zeros(n,n);
D(:1,)=Y ;

JOSE GARZON ARIAS

- 148 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


% generador de la tabla de diferencias divididas.
for j=2:n
for k=j:n
D(k,j)=(D(k,j-1)-D(k-1,j-1))/(X(k)-X(k-j+1));
end
% Calculo del vector de coeficientes
C=D(n,n);
for k=(n-1):-1:1
C=conv(C,poly(X(k));
m= length(C);
C(m)=C(m)+D(k,k);
end

6.2 Interpolacin de Lagrange.


La interpolacin de Lagrange es una de las interpolaciones mas tiles, en
integracin Numrica, esta consiste en una representacin de polinomios
de la funcin, a considerar.
Suponga que se dan N+1 puntos como:

x0

x1

xn

f(x0) f(x1) .. f(xN)

JOSE GARZON ARIAS

- 149 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Donde x0,x1.. son las abscisas de los puntos dados en orden creciente.
Los espacios entre los puntos son arbitrarios . El polinomio de orden N que
pasa a travs de los N+1 puntos se puede escribir como:
y(x)= a0+a1x+a2x2+.+anxn ---(6.2.1)

a
n

Es decir que la funcin y(x)=

j =0

( x) y j , se expresa como una

combinacin lineal de las observaciones independientes de un experimento.


Los aj(x)I, son los coeficientes de Lagrange.
Para encontrar los coeficientes , hay que establecer y resolver un sistema
de n ecuaciones con n incgnitas, que resulta de cada observacin .
Lo que finalmente da, para el polinomio de Lagrange de orden N:
y(x)=

(xx1)(xx2).........
.(xxn)
(xx0)(xx2).........
.(xxn)
(xx0)(xx1).........
.(xxn1)
f0 +
f1 +....+
fn --.(x1 xn)
(x0 x1)(x0 x2).........
.(x0 xn) (x1 x0)(x1 x2).........
(xn x0)(xn x1).........
.(xn xn1)

(6.2.2)
La ecuacin anterior parece complicada, pero en realidad no es tan difcil,
incluso la memorizacin.
Apliquemos esta para resolver un problema qumico clsico.
Las densidades del sodio para tres temperaturas, se dan en la tabla
siguiente:

Observacin. i

Temperatura Ti oC

Densidad i Kg/m3

94

929

205

902

371

860

Escribir el polinomio de Lagrange que se ajusta a los datos experimentales


y determinar la densidad para T= 2510 C.

Solucin:

JOSE GARZON ARIAS

- 150 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Y(T)=

(T 205)(T 371)
(T 94)(T 371)
(T 94)(T 205)
(929) +
(902) +
(860)
(94 205)(94 371)
(205 94)(205 371)
(371 94)(371 205)
(6.2.3)
Graficando esta expresin.

Como se vera el ajuste del polinomio a los datos experimentales


corresponde a una parbola, y se puede determinar ahora un valor de
densidad para una temperatura no reportada.
b) Calculase ahora el valor de la densidad para T=2510C
substituyendo 251 en la expresin, se tiene entonces:
Y(T)=

(251 205)(251 371)


(251 94)(251 371)
(251 94)(251 205)
(929) +
(902) +
(860)
(94 205)(94 371)
(205 94)(205 371)
(371 94)(371 205)

Lo cual da como resultado : y(251)= 890.5 kg/cm3. Esta aproximacin tiene


un error de 5.53% , que es bastante chico.

JOSE GARZON ARIAS

- 151 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


A continuacin se presenta un pequeo programa en Matlab para la
interpolacin de Lagrange.
function [C,L] =lagran(X,Y)
%Datos
% X es el vector de las abscisas
% Y es el vector de Las ordenadas
% Resultados
%C es la matriz de Coeficientes del polinomio interpolador
% L es la matriz de los coeficientes de lagrange.
w= lenght(X);
n=w-1;
L=zeros(w,w);
%Formacin de los polinomios de coeficientes de Lagrange.
for k=1: n+1
V=1;
for j=1:n+1

if k=j

V=conv(V,poly(X(j)))/(X(k)-X(j));
end
end
L(k,:)=V;
end
% Calculo de los coeficientes del polinomio
C=Y*Y

6.3 Interpolacin de Splines cbicos.


D EFI N I CI ON
JOSE GARZON ARIAS

- 152 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Los Splines son polinom ios que se aj ust an a la m nim a
cant idad de punt os sobre los dat os experim ent ales. Con
diferent es t ipos de cot as

La interpolacin de Splines cbicos, es una de las tcnicas de ajustes de


curvas e interpolacin mas poderosas que existen. Esta permite modelar y
ajustar datos experimentales que son heterogneos. En esta tcnica se
requiere un mnimo de tres puntos para trabajar. Para poder entender esta
tcnica , se requiere haber entendido los conceptos de interpolacin
polinomial a trozos.

6.3.1 Interpolacin polinomial a trozos


D EFI N I CI ON
La int erpolacin polinom ial a t rozos, se obt iene al

dividir los

int ervalos del conj unt o de dat os en sub. int ervalos, lo m as


pequeo posible, y aplicar el m t odo de int erpolacin de
Lagrange

x0

x1

x2

FIG 6.3.1

xk-1 xk

INTERPOLACION POLINOMIAL A TROZOS

JOSE GARZON ARIAS

- 153 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

La interpolacin lineal a trozos consiste en utilizar lneas rectas entre los


puntos de la forma:

Sk(x)=

x xk
x x k +1
yk +
y k +1
x k x k +1
x k +1 x k

6.3.1

La cual tiene la forma de la lnea recta , lo cual es un Spline lineal:

Siendo dk=

y k +1 y k
x k +1 x k

Sk(x)=yk+dk(x-xk).

6.3.2

Este Spline lineal se puede escribir para toda la curva en la forma :


y 0 + d 0 ( x x0 )
y + d (x x )
1
1
1
..6.3.3
S(x)=
.
.

y k + d k ( x xk )

Suponiendo que las abscisas se ordenan de manera creciente en la forma :


X0<x1<x2<x3<<xN-1<XN y dado un valor de x , el intervalo [xk,xk+1]
al que pertenece x se puede hallar calculando de manera sucesiva las
diferencias : x-x1,..,x-xk, x-xk+1, hasta llegar a k+1 , que es el menor

entero tal que x-xk+1<0. Una vez encontrado el valor de k tal que xkxxk+1,

el valor de la funcin S(x) ser:


S(x)= Sk(x)=yk+dk(x-xk)6.3.4

JOSE GARZON ARIAS

- 154 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Ejemplo : Escriba los splines lineales, para la funcin tabular :
i

xi

f(xi)

0.9162

0.25

0.8109

0.5

0.6931

0.75

0.5596

1.0

0.4055

di

0.8109 0.9162
=-0.4212
0.25 0

0.6931 0.8109
=-0.4712
0.5 0.25
0.5596 0.6931
=-0.534
0.75 0.5
0.4055 0.5596
=-0.6164
1. 0.75

si
0.8109-0.4212(x-0.25)
0.6931-0.4712 (x-0.5)
0.5596-0.534 (x-0.75)
0.4055-0.6164 (x-1)

a continuacin se presenta la grafica de los splines lineales:

JOSE GARZON ARIAS

- 155 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

6.3.2 Splines cbicos.


D EFI N I CI ON
Supngase que se t ienen N+ 1 punt os de la form a
{ ( x k, y k ) }

k= 0

cuyas abscisas est n ordenadas de m anera

crecient e a= x 0 < x 1 < ..< x n = b . Se dice que la funcin S( x) es


un Spline cbico si exist en N polinom ios cbicos Sk ( x) ,que se
pueden escribir en t rm inos de coeficient es sk,0 , sk,1 ,sk,2 ,y
sk,3 com o :
I .- S( x) = Sk ( x) = sk,0 + sk,1 ( x- x k ) + sk,2 ( x- x k ) 2 + sk,3 ( x- x k ) 3

para x [ x k ,x k+ 1 ] y k = 0,1,.,N- 1,que verifican las siguient es


propiedades:
I I .- Sk ( x) = y k para k = 0,1,.,N
I I I .- Sk ( x k+ 1 ) = Sk+ 1 ( x k+ 1 ) para k = 0,1,.N- 2
I V.- S k ( x k+ 1 ) = S k+ 1 ( x k+ 1 ) para k = 0,1,.N- 2
V.- S k ( x k+ 1 ) = S k+ 1 ( x k+ 1 ) para k = 0,1,.N- 2

JOSE GARZON ARIAS

- 156 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


En la interpolacin de Splines cbicos, se construye una funcin cbica
Sk(x) en cada intervalo [xk,xk+1] de forma tal que la curva definida a tramos
y=S(x) que resulta es dos veces derivable y la segunda derivada es
continua en el intervalo completo [x0,xn] . La continuidad de la primera
derivada S(x) significa que la curva de la ecuacin y=S(x) no tiene
esquinas; la continuidad de S (x) significa que el radio de curvatura esta
definida en cada punto.
De forma Practica se parte de una funcin f(x) de valor real ,ya sea en
forma tabular o analtica en el intervalo [a,b] , con a=x0<x1<x2<..<xn=b.
Se construye una funcin g3( xi)=f(xi) con i=0,1,2,.,n
de donde pi =f(xi) y pi(xi+1)=f(xi+1) para i=0,1,..,n-1

6.3.5

y esta ultima implica que : pi-1(xi)=pi(xi) i=1,2,..,n de modo que g3(x) es


continua en [a,b] y tiene los puntos interiores x1, x2, x3, xn-1 como puntos
de quiebre o donde g3( xi) no es diferenciable en general.
Como ya se dijo se requiere que pi(xi)=f(xi) y pi(xi+1)=f(xi+1) i=0,1,,n-1
6.3.6. As que finalmente el spline cbico:
pi(x)= c1,i+c2,i(x-xi)+ c3,i(x-xi)2+c4,i(x-xi)3..6.3.6
Ejemplo:
Determinar los Splines cbicos con extremos fijos que pasa por los puntos
(0,0.0),(1,0.5),(2,2.0),(3,1.5), y que verifica las condiciones sobre la primera
derivada en la frontera dadas por S(0)=0.2,S(3)=-1. Con estos datos
calculamos :
h0=h1=h2=1
d0=(y1-y0)/h0=(0.5-0.0)/1=0.5
d1=(y2-y1)/h1=(2.0-0.5)/1=1.5
d2=(y3-y2)/h2=(1.5-2.0)/1=-0.5
u1=6(d1-d0)=6(1.5-0.5)=6.0
u2=6(d2-d1)=6(-0.5-1.5)=-12.0
Con lo cual se obtiene el sistema:

JOSE GARZON ARIAS

- 157 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


3
+2
2

m1 + m2 = 6.0 3(0.5 0.2) = 5.1

m1 + 2 + m2 = 12.0 3(1.0 (0.5)) = 10.5


2

Resolviendo m1=2.25

m2=-3.72, tomando los valores de las tablas para

los coeficientes m0=3(0.5-0.2)-

2.52
3.72
=-0.36, m3=3(-1.0+0.5)=0.36.
2
2

Con estos los splines cbicos son:


S0(x)=0.48x3-0.18x2+0.2x

0x1

S1(x) =-1.04(x-1)3+1.26(x-1)2+1.28(x-1)+0.5 1x2


S2(x)=0.68(x-2)3-1.86(x-2)2+0.68(x-2)+2.0 2x3

Graficando los splines se tiene:

A continuacin se presenta un programa que construye y determina el splin


cbico ,con extremos fijos S(x), para N+1 datos {(xk,yk)}Nk=0

function S=csfit(X,Y,dx0,dxn)
% Datos :
%X es el vector de las abscisas
JOSE GARZON ARIAS

- 158 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


%Y es un vector de las ordenadas
% dx0 = S(x0) es la derivada en el primer extremo
% dxn = S(xn) es la derivada en el segundo extremo.
% Resultado
%S es la matriz de coeficientes , en orden descendiente.
N=lenght(X)-1;
H=diff(X);
D=diff(y)./H
A=H(2:N-1);
B=2*(H(1:N-1)+H(2:N));
C=H(2:N);
U=6*diff(D);
% Restricciones en los extremos.
B(1)=B(1)-H(1)/2;
U(1)=U(1)-3*(D(1)-dx0);
B(N-1)=B(N-1)-H(N)/2;
U(N-1)=U(N-1)-3*(dxn-D(N));
for k=2:N-1
temp=A(k-1)/B(k-1);
B(k)=B(k)-temp*C(k-1);
U(k)=U(k)-temp*U(k-1);
end
M(N)=U(N-1)/B(N-1);
for k=N-2:-1:1
M(k+1)=((U(k)-C(k)*M(k+2))/B(k);
end
M(1)=3*(D(1)-dx0)/H(1)-M(2)/2;
M(N+1)=3*(dxn-D(N)/H(N)-M(N)/2;
for k=0:N-1
S(k+1,1)=(M(k+2)-M(k+1))/(6*H(k+1));
S(k+1,2)=M(k+1)/2;
S(k+1,3)=D(k+1)-H(k+1)*(2*M(k+1)+M(k+2))/6;

JOSE GARZON ARIAS

- 159 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


S(k+1,4)=Y(k+1);
end

Ejemplo de una corrida del programa anterior.


Determinacin de los coeficientes de los splines cbicos, con extremos fijos
que pasan por los puntos:
(0,0.0),(1,0.5),(2,2.0),(3,1.5)
Bajo las condiciones de la primera derivada en los extremos dadas por:
S(0)=0.2 y S(3)=-1
As
>>X=[0 1 2 3]; Y=[0 0.5 2.0 1.5]; dx0=0.2; dxn=-1;
>>S=sfit(X,Y,dx0,dxn)
lo cual despliega en la pantalla los resultados:
S=
0.4800 -0.1800 0.2000 0
-1.0400 1.2600 12800 0.5000
0.6800 -1.8600 0.6800 2.0000

PROBLEMAS:
1.- Determine los splines cbicos ,sujetos en los extremos , que pasa por

los puntos (-3,2),(-2,0),(1,3),(4,1) y verifica las condiciones sobre la


derivada primera en los extremos dadas por S(-3)=-1 y S(4)=1.
2.- Halle el Spline cbico natural que pasa por los puntos (-3,2),(-2,0),(1,3) y

(4,1) y verifica las condiciones de frontera libre S(-3)=0 y S(4)=0.


3.- Determine el Spline cbico extrapolada que pasa por los puntos (-3,2),(-

2,0),(1,3) y (4,1)
4.- Determine el Spline cbico con terminacin parablica que pasa por los

puntos (-3,2),(-2,0),(1,3) y (4,1).


JOSE GARZON ARIAS

- 160 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

BIBLIOGRAFIA.
1.- Carnahan,Brice, et al (1969): Applied Numerical Methods , Wiley New

York
2.- Conte, S.D. and Carl de Boor(1972) : Elementary Numerical Analysis ,

2nd ed., McGraw-Hill,New York.


3.- Fike , C.T. (1968) : Computer evaluation of Mathematical Functions ,

Prentice Hall ,Englewood,Cliffs,N.J.


4.- Forsythe , G.E. and C.B. Moler (1967):Computer Solution of Linear

Algebraic Systems , Prentice Hall, Englewood Cliffs,N.J.


5.-Hamming , R.W. (1962): Numerical Methods for Scientists and

Engineers, McGraw Hill, New york.


6.- Hamming , R.W. (1971): Introduction to Applied Numerical Analysys ,

McGraw Hill , New York.


7.- Hanselman Duane , Littlefield Bruce The Student Edition of MATLAB.

The Math Works Inc.

JOSE GARZON ARIAS

- 161 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 162 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

AJUSTE DE CURVAS

INTRODUCCION AL AJUSTE DE MINIMO CUADRADOS.

ERROR ESTNDAR EN LA ESTIMACIN

COEFICIENTE DE DETERMINACIN

COEFICIENTE DE CORRELACIN

MODELO DE REGRESIN LINEAL CON EL USO DE


MATRICES

REGRESIN LINEAL MLTIPLE

ESTIMACIN DE LOS COEFICIENTES.

JOSE GARZON ARIAS

- 163 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

7.0 AJUSTE DE CURVAS.


DEFINICION.
El ajuste de curvas consiste en buscar una funcin, de tipo polinomial, que
se ajuste a los datos experimentales presentados

El mtodo mas conocido es el mtodo de los mnimos cuadrados.

7.1 Mtodos de mnimos cuadrados.


El procedimiento mas objetivo para ajustar una recta a un conjunto de datos
presentados en un diagrama de dispersin se conoce como "el mtodo de
los mnimos cuadrados". La recta resultante presenta dos caractersticas
importantes:
1. Es nula la suma de las desviaciones verticales de los puntos a partir de
la recta de ajuste
(Y - Y) = 0.
2. Es mnima la suma de los cuadrados de dichas desviaciones. Ninguna
otra recta dara una suma menor de las desviaciones elevadas al cuadrado
(Y - Y) = 0 (mnima).
El procedimiento consiste entonces en minimizar los residuos al cuadrado
Ci
Re emplazando

nos queda

La obtencin de los valores de a y b que minimizan esta funcin es un


problema que se puede resolver recurriendo a la derivacin parcial de la
funcin en trminos de a y b: llamemos G a la funcin que se va a
minimizar:

JOSE GARZON ARIAS

- 164 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Tomemos las derivadas parciales de G respecto de a y b que son las


incgnitas y las igualamos a cero; de esta forma se obtienen dos
ecuaciones llamadas ecuaciones normales del modelo que pueden ser
resueltas por cualquier mtodo ya sea igualacin o matrices para obtener
los valores de a y b.

Derivamos parcialmente la ecuacin respecto de a

Primera ecuacin normal


Derivamos parcialmente la ecuacin respecto de b

JOSE GARZON ARIAS

- 165 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Segunda ecuacin normal


Los valores de a y b se obtienen resolviendo el sistema de ecuaciones
resultante. Veamos el siguiente ejemplo:
En un estudio econmico se desea saber la relacin entre el nivel de
instruccin de las personas y el ingreso.

EJEMPLO 1

Se toma una muestra aleatoria de 8 ciudades de una regin geogrfica de


13 departamentos y se determina por los datos del censo el porcentaje de
graduados en educacin superior y la mediana del ingreso de cada ciudad,
los resultados son los siguientes:
CIUDAD : 1 2 3 4 5 6 7 8
% de (X)
Graduados : 7.2 6.7 17.0 12.5 6.3 23.9 6.0 10.2
Ingreso (Y)
Mediana : 4.2 4.9 7.0 6.2 3.8 7.6 4.4 5.4 (0000)
Tenemos las ecuaciones normales
y = na + bx
xy = ax + bx
Debemos encontrar los trminos de las ecuaciones
y, x, xy, x Por tanto procedemos de la siguiente forma:

XY

JOSE GARZON ARIAS

- 166 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


4.2

7.2

30.24

51.84

4.9

6.7

32.83

44.89

7.0

17.0

119.00

289.00

6.2

12.5

77.50

156.25

3.8

6.3

23.94

39.69

7.6

23.9

181.64

571.21

4.4

6.0

26.40

36.00

5.4

10.2

55.08

104.04

43.5

89.8

546.63

1292.92

Sustituyendo en las ecuaciones los resultados obtenidos tenemos: 43.50 =


8a + 89.8b
546.63 = 89.8a + 1292.92b
multiplicamos la primera ecuacin por (-89.8) y la segunda por (8) as:
43.50 = 8a + 89.8b (-89.8) 546.63 = 89.8a + 1292.92b (8)
-3906.30 = -718.4a - 8064.04b 4373.04 = 718.4a + 10343.36b
466.74 = -0- 2279.32b

Este valor de b lo reemplazamos en cualquiera de las ecuaciones para


obtener a as:
Reemplazando b = 0.20477 en la primera ecuacin normal
43.5 = 8a + 89.8 (0.20477) 43.5 = 8a + 18.3880 43.5 - 18.3880 = 8a
25.1120 = 8a

JOSE GARZON ARIAS

- 167 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Tenemos entonces que los coeficientes de regresin son : a = 3.139 y b =


0.20477. Por tanto la ecuacin de regresin nos queda:

Significa entonces que por cada incremento en una unidad en X el valor de


se aumenta en 0.20477
Esta ecuacin permite estimar el valor de

para cualquier valor de X, por

ejemplo: Una ciudad que tiene un porcentaje de graduados a nivel superior


del 28% la mediana de ingreso para la ciudad ser:

Los valores a y b tambin se pueden obtener de la siguiente forma:


partiendo de las ecuaciones normales tenemos:

Si dividimos todos los trminos de la ecuacin (1) entre n nos queda:

Tenemos entonces que el primer termino es

el segundo termino es la

incgnita a y el tercer termino es la incgnita b multiplicada por

por tanto

nos queda:
JOSE GARZON ARIAS

- 168 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

entonces

Reemplazando a en la ecuacin (2) tenemos

a = 5.4375 0.20477 (11.2250) = 5.4375 2.2985 = 3.139

JOSE GARZON ARIAS

- 169 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Se debe tener presente la diferencia entre el valor de

obtenido con la

ecuacin de regresin y el valor de Y observado. Mientras

es una

estimacin y su bondad en la estimacin depende de lo estrecha que sea la


relacin entre las dos variables que se estudian; Y es el valor efectivo,
verdadero obtenido mediante la observacin del investigador.

En el ejemplo Y es el valor mediano del ingreso que obtuvo el investigador


utilizando todos los ingresos observados en cada ciudad y

es el valor

estimado con base en el modelo lineal utilizado para obtener la ecuacin de


regresin
Los valores estimados y observados pueden no ser iguales por ejemplo la
primera ciudad tiene un ingreso mediano observado de Y = 4.2 al
reemplazar en la ecuacin el porcentaje de graduados obtenemos un
estimado de

Grficamente lo anterior se puede mostrar as:

JOSE GARZON ARIAS

- 170 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Claramente se observa en la grfica que hay una diferencia entre el valor
efectivo de Y y el valor estimado; esta diferencia se conoce como error en
la estimacin, este error se puede medir. A continuacin se ver el
procedimiento.

7.2 Error estndar en la estimacin .


El error estndar de la estimacin designado por sYX mide la disparidad
"promedio" entre los valores observados y los valores estimados de

. Se

utiliza la siguiente expresin.

Debemos entonces calcular los valores de

para cada ciudad sustituyendo

en la ecuacin los valores de los porcentajes de graduados de cada ciudad


estudiada.

4.2

7.2

4.6

-0.4

0.16

4.9

6.7

4.5

0.4

0.16

JOSE GARZON ARIAS

- 171 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


7.0

17.0

6.6

0.4

0.16

6.2

12.5

5.7

0.5

0.25

3.8

6.3

4.4

-0.6

0.36

7.6

23.9

8.0

-0.4

0.16

4.4

6.0

4.4

0.0

0.00

5.4

10.2

5.2

0.2

0.04
1.29

Syx = 0.46 (decenas de miles $)


Como esta medida trata de resumir la disparidad entre lo observado y lo
estimado, es decir, trata de medir la diferencia promedio entre lo observado
y lo estimado esperado de acuerdo al modelo, puede considerarse como
un indicador del grado de precisin con que la ecuacin de regresin,
describe la relacin entre las dos variables. Este error estndar se ve
afectado por las unidades y sus cambios ya que es una medida absoluta,
pues, se da en la misma unidad de medida que esta dada la variable Y; en
el ejemplo 0.46 sern decenas de miles de pesos, razn por la cual no es
posible comparar con las relaciones de variables dadas en distinta unidad
de medida. Es necesario entonces calcular una medida que interprete o
mida mejor el grado de relacin entre las variables.

Coeficiente de determinacin.
El cambio de la variable Y generalmente depende de muchos factores, en
ocasiones, difciles de identificar; con el modelo lineal simple, slo tenemos
presente uno. Por ejemplo, en nuestro caso la mediana del ingreso
depende no slo del porcentaje de graduados en el nivel superior, que es,
JOSE GARZON ARIAS

- 172 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


el factor que tenemos presente, pueden entrar a jugar factores tales como,
la distribucin de la edad en la poblacin, la distribucin por sexo en la
poblacin, la industrializacin de la ciudad, el numero de universidades y
muchos otros.
El coeficiente de determinacin mide o interpreta la cantidad relativa de la
variacin que ha sido explicada por la recta de regresin, es decir, la
proporcin de cambio en Y explicado por un cambio en la variable X ( X es
el factor que se utiliza para calcular la recta de ajuste o ecuacin de
regresin, en el ejemplo es el porcentaje de graduados en el nivel superior
en cada ciudad).
Para el ejemplo el Coeficiente de determinacin va a medir la proporcin
del cambio en el ingreso mediano de cada ciudad, debido o explicado por
un cambio en el porcentaje de graduados en el nivel superior.
Veamos algunos componentes de la variabilidad en el anlisis de regresin:
La diferencia entre cada valor de Y observado y

media se denomina

variacin de Y.

La diferencia entre

estimado y

media , es la variacin tenida en cuenta

por la ecuacin de regresin, razn por la cual se denomina variacin


explicada de Y.

La diferencia entre Y observado y

estimado, son variaciones

consideradas debidas a factores diferentes al tenido presente por la


ecuacin de regresin por eso se llama: variacin no explicada de Y.

JOSE GARZON ARIAS

- 173 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


La diferencia entre Y observado y

estimado, son variaciones

consideradas debidas a factores diferentes al tenido presente por la


ecuacin de regresin por eso se llama: variacin no explicada de Y.

La sumatoria de las diferencias en cada una de las formas de variacin la


podemos representar as:

Grficamente esta relacin se puede representar as:

JOSE GARZON ARIAS

- 174 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Se dijo anteriormente, que el coeficiente de determinacin es la proporcin
de cambio explicado en Y, por cambio en X, es decir, la proporcin que
representa la variacin explicada de la variacin total. Recuerde una
proporcin es la relacin de una parte con el total, por tanto, el coeficiente
de determinacin ser:

En otras palabras el coeficiente de determinacin es la relacin entre la


variacin explicada y la variacin total. Su valor siempre estar
Para su calculo se procede as:

4.2

5.44

-1.24

1.54

4.6

-0.84

0.71

-0.4

4.9

5.44

-1.24

0.29

4.5

-0.84

0.88

0.4

7.0

5.44

1.56

2.43

6.6

1.16

1.35

0.4

6.2

5.44

0.76

0.58

5.7

0.26

0.07

0.5

3.8

5.44

1.64

2.69

4.4

-1.04

1.08

-0.6

7.6

5.44

2.16

4.66

8.0

2.56

6.55

-0.4

4.4

5.44

1.04

1.08

4.4

-1.04

1.08

0.0

5.4

5.44

0.4

0.001

5.2

-0.24

0.06

0.2

JOSE GARZON ARIAS

- 175 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


43.5

13.271

11.78

Generalmente esta proporcin se expresa como porcentaje por tanto


podemos decir que
r = 88.76%
como conclusin podemos decir que el 88.76% de la variacin en el ingreso
mediano de las ciudades de la muestra esta relacionada o explicada por la
variacin en el porcentaje de graduados en educacin Superior en cada
ciudad.

Coeficiente de correlacin
Este Coeficiente como ya se dijo mide la fuerza de la relacin entre las
variables. El coeficiente tiene el signo que tiene b y su valor estar
El signo menos en el ndice significa una relacin negativa y
un signo ms una correlacin positiva. El coeficiente se obtiene sacando la
raz cuadrada al coeficiente de determinacin y se simboliza con "r".

JOSE GARZON ARIAS

- 176 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


En este caso el coeficiente r tiene signo positivo ya que toma el valor de b
obtenido con las ecuaciones normales toma valor positivo.
A continuacin se da, a modo de orientacin , como podran interpretarse
los valores de r (positivo o negativo)

0.0

0.2

Correlacin muy dbil, despreciable

0.2

0.4

Correlacin dbil. bajo

0.4

0.7

Correlacin moderada

0.7

0.9

Correlacin fuerte, alto, importante

0.9

1.0

Correlacin muy fuerte, muy alto

La correlacin entre los valores de dos variables es un hecho. El que lo


consideremos satisfactorio o no, depende de la interpretacin. Otro
problema que representa la correlacin es cuando se pregunta si una
variable, de algn modo causa o determina a la otra. La correlacin no
implica causalidad. Si las variables X e Y estn correlacionadas, esto puede
ser por que X causa a Y, o porque Y causa a X o porque alguna otra
variable afecta tanto a X como Y, o por una combinacin de todas estas
razones; o puede ser que la relacin sea una coincidencia.

7.3 Modelo de regresin lineal con el uso de matrices.


Al ajustar un modelo de regresin lineal mltiple, en particular cuando el
nmero de variables pasa de dos, el conocimiento de la teora matricial
puede facilitar las manipulaciones matemticas de forma considerable.
Suponga que el experimentador tiene k variables independientes x1,
x2,....,xk, y n observaciones y1, y2,...., yn, cada una de las cuales se pueden
expresar por la ecuacin
yi = b 0 + b 1x1i +b 2x2i +.+ b kxki +e i

JOSE GARZON ARIAS

- 177 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Este modelo en esencia representa n ecuaciones que describen cmo se
generan los valores de respuesta en el proceso cientfico. Con el uso de la
notacin matricial, podemos escribir la ecuacin
y=Xb + e
donde

Entonces la solucin de mnimos cuadrados para la estimacin de b que se


ilustra en la seccin Estimacin de coeficientes, "Regresin lineal mltiple"
implica encontrar b para la que
SSE = (y - Xb)'(y - Xb)
se minimiza. Este proceso de minimizacin implica resolver para b en la
ecuacin

No presentaremos los detalles relacionados con las soluciones de las


ecuaciones anteriores. El resultado se reduce a la solucin de b en
(X'X)b = X'y

Ntese la naturaleza de la matriz X. Aparte del elemento inicial, el i-simo


rengln representa los valores x que dan lugar a la respuesta yi. Al escribir

JOSE GARZON ARIAS

- 178 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

las ecuaciones normales se pueden escribir en la forma matricial


AB=g
Si la matriz A es no singular, podemos escribir la solucin para el
coeficiente de regresin como
b = A-1g =(XX)-1Xy
De esta forma se puede obtener la ecuacin de prediccin o la ecuacin de
regresin al resolver un conjunto de k + 1 ecuaciones con un nmero igual
de incgnitas. Esto implica la inversin de la matriz X'X de k + 1 por k + 1.
Las tcnicas para invertir esta matriz se explican en la mayora de los libros
de texto sobre determinantes y matrices elementales. Por supuesto,
MATLAB dispone de muchos paquetes de computadora de alta velocidad
para problemas de regresin mltiple, paquetes que no slo imprimen
estimaciones de los coeficientes de regresin, sino que tambin
proporcionan otra informacin relevante para hacer inferencias respecto a
la ecuacin de regresin.

JOSE GARZON ARIAS

- 179 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Ejemplo 1
Se midi el porcentaje de sobre vivencia de cierto tipo de semen animal,
despus del almacenamiento, en varias combinaciones de concentraciones
de tres materiales que se utilizan para aumentar su oportunidad de sobre
vivencia. Los datos son los siguientes:

y(% sobrevivencia)

x1(peso

x2(peso

x3(peso

%)

%)

%)

25,5

1,74

5,30

10,80

31,2

6,32

5,42

9,40

25,9

6,22

8,41

7,20

38,4

10,52

4,63

8,50

18,4

1,19

11,60

9,40

26,7

1,22

5,85

9,90

26,4

4,10

6,62

25,9

6,32

8,72

9,10

32

4,08

4,42

8,70

25,2

4,15

7,60

9,20

39,7

10,15

4,83

9,40

35,7

1,72

3,12

7,60

26,5

1,70

5,30

8,20

Estime el modelo de regresin lineal mltiple para los datos dados.


SOLUCIN:
Las ecuaciones de estimacin de mnimos cuadrados, (X'X)b = X'y, son

JOSE GARZON ARIAS

- 180 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

=
De los resultados de una computadora obtenemos los elementos de la
matriz inversa

y despus, con el uso de la relacin b = (XX)-1 Xy, los coeficientes


estimados de regresin son
b0= 39.1574, b1 = 1.0161, b2 = -1.8616, b3 = -0.3433.
De aqu nuestra ecuacin de regresin estimada es

Para el caso de una sola variable independiente, el grado del polinomio de


mejor ajuste a menudo se puede determinar al graficar un diagrama de
dispersin de los datos que se obtienen de un experimento que da n pares
de observaciones de la forma {(xi, yi); i = 1, 2, .... n}.

JOSE GARZON ARIAS

- 181 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

=
Al resolver estas r + 1 ecuaciones, obtenemos las estimaciones b0, b1,.....,
br y por ello generamos la ecuacin de prediccin de regresin polinomial

El procedimiento para ajustar un modelo de regresin polinomial se puede


generalizar al caso de ms de una variable independiente. De hecho, el
estudiante de anlisis de regresin debe, en esta etapa, tener la facilidad
para

ajustar

cualquier

modelo

lineal

en,

digamos,

variables

independientes. Suponga, por ejemplo, que tenemos una respuesta Y con k


= 2 variables independientes y se postula un modelo cuadrtico del tipo
yi = b 0 + b 1x1i + b 2x2i +b 11x21i+ b 22x22i+b 12x1i x2i+e I
donde yi, i = 1, 2, ..., n, es la respuesta para la combinacin (x1i, x2i) de las
variables independientes en el experimento. En esta situacin n debe ser al
menos 6, pues hay seis parmetros a estimar mediante el procedimiento de
mnimos

cuadrados.

Adems, como el modelo contiene trminos cuadrticos en ambas


variables, se deben usar al menos tres niveles de cada variable.
El lector debe verificar con facilidad que las ecuaciones normales de
mnimos cuadrados (X'X)b = X'y estn dadas por:

JOSE GARZON ARIAS

- 182 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Ejemplo 2
Los siguientes datos representan el porcentaje de impurezas que ocurren a
varias temperaturas y tiempos de esterilizacin durante una reaccin
asociada con la fabricacin de cierta bebida.

Tiempo de esterilizacin, x2

Temperatura, x1 (C)

(min)

75

100

125

15

14.05

10.55

7.55

JOSE GARZON ARIAS

- 183 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

20

25

14.93

9.48

6.59

16.56

13.63

9.23

15.85

11.75

8.78

22.41

18.55

15.93

21.66

17.98

16.44

Estimar los coeficientes de regresin en el modelo


m Y|x = b 0 + b 1 x1 +b 2 x2+b 11 x12+b 22 x22+ ..+ b 12 x1 x2
SOLUCIN:
b0 = 56,4668

b11 =0,00081

b1 = -0,36235

b22 = 0,08171

b2 = -2,75299

b12 = 0,00314

y nuestra ecuacin de regresin estimada es

Muchos de los principios y procedimientos asociados con la estimacin de


funciones de regresin polinomial caen en la categora de la metodologa
de respuesta superficial, un conjunto de tcnicas que los cientficos e
ingenieros han utilizado con bastante xito en muchos campos. Problemas
como la seleccin de un diseo experimental apropiado, en particular para
casos donde hay un nmero grande de variables en el modelo, y la eleccin
de las condiciones "ptimas" de operacin sobre x1,x2,.....,xk a menudo se
aproximan a travs del uso de estos mtodos

JOSE GARZON ARIAS

- 184 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

7.4 Regresin lineal mltiple.


En la mayor parte de los problemas de investigacin donde se aplica el
anlisis de regresin se necesita ms de una variable independiente en el
modelo de regresin. La complejidad de la mayor parte de los mecanismos
cientficos es tal que para ser capaces de predecir una respuesta
importante se necesita un modelo de regresin mltiple. Cuando este
modelo es lineal en los coeficientes se denomina modelo de regresin lineal
mltiple. Para el caso de k variables independientes X1, X2,....,Xk, la media
de Y| X1, X2,....,XK est dada por el modelo de regresin lineal mltiple
m Y|x1, x2 ,, xk = b 0 + b 1 x1 +..+ b k xk
y la respuesta estimada se obtiene de la ecuacin de regresin de la
muestra

donde cada coeficiente de regresin b i se estima por bi de los datos de la


muestra con el uso del mtodo de mnimos cuadrados. Como en el caso de
una sola variable independiente, el modelo de regresin lineal mltiple a
menudo puede ser una representacin adecuada de una estructura ms
complicada dentro de ciertos rangos de las variables independientes.
Tcnicas de mnimos cuadrados similares tambin se pueden aplicar al
estimar los coeficientes cuando el modelo lineal involucra, digamos,
potencias y productos de las variables independientes. Por ejemplo, cuando
k = 1, el experimentador puede pensar que las medias m Y|x1 no caen en
una lnea recta pero que se describen de forma ms apropiada con el
modelo de regresin polinomial
m Y|x = b 0 + b 1 x +b 2 x2+ ..+ b r xr
y la respuesta estimada se obtiene de la ecuacin de regresin polinomial

JOSE GARZON ARIAS

- 185 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


En ocasiones surge confusin cuando hablamos de un modelo polinomial
como de un modelo lineal. Sin embargo, los estadsticos por lo general se
refieren a un modelo lineal como uno en el cual los parmetros ocurren
linealmente, sin importar cmo entran las variables independientes al
modelo. Un ejemplo de un modelo no lineal es la relacin exponencial
m Y|x = a b x,
que se estima con la ecuacin de regresin

Existen muchos fenmenos en la ciencia y en la ingeniera que son


inherentemente no lineales por naturaleza y, cuando se conoce la
estructura real, desde luego se debe hacer un intento para ajustar el
modelo presente. La literatura sobre estimacin por mnimos cuadrados de
modelos no lineales es voluminosa.

Estimacin de los coeficientes.


En esta seccin obtenemos los estimadores de mnimos cuadrados de los
parmetros b 0 + b 0, b 1,...., b k mediante el ajuste del modelo de regresin
lineal mltiple
m Y|x1 , x2,......, xk = b 0 + b 1x1+ b 2x2+ b kxk
a los puntos de datos
i= 1,2,....,n y n >k },
donde yi es la respuesta observada para los valores x1i, x2i,........., xki, de las k
variables independientes x1 , x2,......, xk .Cada observacin (x1i, x2i,......,xki, yi)
satisface la ecuacin
yi = b 0 + b 1x1i +b 2x2i +.+ b kxki +e i
o
yi = b0 + b1x1i +b2x2i +.+ bkxki +ei,

JOSE GARZON ARIAS

- 186 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


donde e i y ei son el error aleatorio y residual, respectivamente, asociados
con la respuesta yi . Al utilizar el concepto de mnimos cuadrados para
llegar a las estimaciones b0, b1,..., bk, minimizamos la expresin

Al diferenciar SSE a su vez con respecto a b0,b1, b2,......,bk, e igualar a cero,


generamos un conjunto de k + 1 ecuaciones normales

Estas ecuaciones se pueden resolver para b0, b1,b2, ..., bk mediante


cualquier mtodo apropiado para resolver sistemas de ecuaciones lineales.

Ejemplo 1
Se realiz un estudio sobre un camin de reparto ligero a diesel para ver si
la humedad, temperatura del aire y presin baromtrica influyen en la
emisin de xido nitroso (en ppm). Las mediciones de las emisiones se
tomaron en diferentes momentos, con condiciones experimentales
variantes. Los datos son los siguientes:

JOSE GARZON ARIAS

- 187 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


xido

Humedad

Temperatura

Presin

xido

Humedad

Tempera

nitroso,

x1

x2

x3

nitros

x1

x2

y
0,90

72,4

76,3

29,18

1,07

23,2

76,8

0,91

41,6

70,3

29,35

0,94

47,4

86,6

0,96

34,3

77,1

29,24

1,10

31,5

76,9

0,89

35,1

68,0

29,27

1,10

10,6

86,3

1,00

10,7

79,0

29,78

1,10

11,2

86,0

1,10

12,9

67,4

29,39

0,91

73,3

76,3

1,15

8,3

66,8

29,69

0,87

75,4

77,9

1,03

20,1

76,9

29,48

0,78

96,6

78,7

0,77

72,2

77,7

29,09

0,82

107,4

86,8

1,07

24,0

67,7

29,60

0,95

54,9

70,9

El modelo es:
m Y|x1, x2, x3 = b 0 + b 1 x1 + b 2 x2 +..+ b 3 x3
Ajuste este modelo de regresin lineal mltiple a los datos dados y despus
estime la cantidad de xido nitroso para las condiciones donde la humedad
es 50%, la temperatura 76F y la presin baromtrica 29,30.
SOLUCIN
Para las ecuaciones normales encontramos que

La solucin de este conjunto de ecuaciones da las estimaciones nicas


JOSE GARZON ARIAS

- 188 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


b0 = -3.507778, b1= -0.002625, b2= 0.000799, b3= 0.154155.
Por tanto, la ecuacin de regresin es

Para 50% de humedad, una temperatura de 76 F y una presin


baromtrica 29,30, la cantidad estimada de xido nitroso es

Regresin polinomial.
Suponga ahora que deseamos ajustar la ecuacin polinomial
m Y|x = b 0 + b 1 x +b 2 x2+ ..+ b r xr
a los n pares de observaciones {(xi, yi); i = 1,2,..., n}. Cada observacin, yi
satisface la ecuacin
yi = b 0 + b 1xi +b 2xi2+ ..+ b r xi2+e i
o
yi = b0 + b1xi +b2xi2+ ..+ br xir+ei
donde r es el grado del polinomio, y e i, y ei son de nuevo el error aleatorio
y residual asociados con la respuesta yi. Aqu, el nmero de pares, n, debe
ser al menos tan grande como r + 1, el nmero de parmetros a estimar.
Ntese que el modelo polinomial se puede considerar como un caso
especial del modelo de regresin lineal mltiple ms general, donde
hacemos x1 = x, x2 = x2, ..., xr. = xr. Las ecuaciones normales toman la
forma:

que se resuelve como antes para b0, b1,.........., br

JOSE GARZON ARIAS

- 189 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Ejemplo 2 Dados los datos


x

9,1

7,3

3,2

4,6

4,8

2,9

5,7

7,1

8,8

10

Ajustar una curva de regresin de la forma


m Y|x = b 0 + b 1 x +b 2 x2 y despus estime m Y|x
SOLUCIN:
De los datos dados, encontramos que

Al resolver las ecuaciones normales obtenemos


b0=8,697 , b1=-2,341, b2= 0,288
Por tanto:

Inferencias en la regresin lineal mltiple.


Una de las inferencias ms tiles que se pueden hacer con respecto a la
calidad de la respuesta pronosticada y0 que corresponde a los valores x10,
x20,...., xk0, es el intervalo de confianza sobre la respuesta media m | x10,
x20,...., xk0 . Nos interesa construir un intervalo de confianza sobre la
respuesta media para el conjunto de condiciones dado por
X0 = [x10, x20,...., xk0]
Aumentamos las condiciones sobre las x por el nmero 1 a fin de facilitar el
uso de la notacin matricial. Como en el caso k = 1 si hacemos la
suposicin adicional de que los errores son independientes y se distribuyen
de forma normal, entonces las Bj son normales, con media, varianzas y
covarianzas.
JOSE GARZON ARIAS

- 190 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

tambin est normalmente distribuida y es, de hecho, un estimador


insesgado para la respuesta media sobre el que intentamos unir los
intervalos de confianza. La varianza de
simplemente como funcin de

escrita en notacin matricial

, (X'X)1, y el vector de condicin x0, es

Si esta expresin se expande para un caso dado, digamos k = 2, se ve


fcilmente que explica de manera apropiada las varianzas y covarianzas de
las Bi. Despus de reemplazar

por s2, el intervalo de confianza de 100(1

)% sobre m | x10, x20,...., xk0 . se puede construir a partir de la


estadstica:

que tiene una distribucin t con n k 1 grados de libertad.

Intervalo

Un intervalo de confianza de (1 )100% para la respuesta media m |

de

x10,

x20,....,

xk0

es

confianz
a para:
m | x10,
x20,....,
xk0
donde ta /2 es un valor de la distribucin t con n-k grados de libertad.
La cantidad

a menudo se llama error estndar de prediccin y

por lo general aparece en el impreso de muchos paquetes de regresin


para computadora.

JOSE GARZON ARIAS

- 191 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Ejemplo 1
Con el uso de los datos del ejemplo 1 correspondiente al "Modelo de
regresin lineal con el uso de matrices", construya un intervalo de confianza
de 95% para la respuesta media cuando x1 = 3%, x2 = 8%, y x3 = 9%.
SOLUCIN
De la ecuacin de regresin del ejemplo 1 correspondiente al "Modelo de
regresin lineal con el uso de matrices", el porcentaje estimado de sobre
vivencia cuando x1 = 3%, x2 = 8%, y x3 = 9% es

A continuacin encontramos que:

Con el uso del cuadrado medio del error, s2 = 4.298 o s = 2.073, y de la


tabla A.4, vemos que t0.025 = 2.262 para 9 grados de libertad. Por tanto, un
intervalo de confianza de 95% para el porcentaje medio de sobre vivencia
para x1 = 3%, x2 = 8%, y x3= 9% est dado por

o simplemente
.
Como en el caso de la regresin lineal simple, necesitamos hacer una clara
distincin entre el intervalo de confianza de la respuesta media y el
intervalo de prediccin sobre una respuesta observada. Esta ltima
proporciona un lmite dentro del cual podemos decir con un grado de
certeza preestablecido que caer una nueva respuesta observada.
JOSE GARZON ARIAS

- 192 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Un intervalo de prediccin para una sola respuesta pronosticada
establece de nuevo al considerar las diferencias
aleatoria

se

de la variable

Se puede mostrar que la distribucin muestral es normal con media

y varianza

De esta manera el intervalo de prediccin de (1 )100% para un solo


valor de prediccin y0 se puede construir a partir de la estadstica

que tiene una distribucin t con n k 1 grados de libertad.

Intervalo

Un intervalo de prediccin de (1-)100% para una sola

de

respuesta y0 est dado por:

predicci
n para
y0

donde t/2 es un valor de la distribucin t con n k 1


grados de libertad.

Ejemplo 2
Con el uso de los datos del ejemplo 1 correspondiente a el tema "Modelo
de regresin lineal con el uso de matrices" construya un intervalo de
prediccin de 95% para una respuesta individual del porcentaje de sobre
vivencia cuando x1 = 3%, x2 = 8%, y x3 = 9%.
SOLUCIN:
Con referencia a los resultados del ejemplo 1 de esta seccin, encontramos
que el intervalo de prediccin de 95% para la respuesta y0 cuando x1= 3%,
x2 = 8%, y x3 = 9% es

JOSE GARZON ARIAS

- 193 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

que se reduce a

. Ntese, como se espera, que el

intervalo de prediccin es considerablemente menos estrecho que el


intervalo de confianza para el porcentaje de sobrevivencia media en el
ejemplo 1.
Un conocimiento de las distribuciones de los estimadores de los
coeficientes individuales permite al experimentador construir intervalos de
confianza para los coeficientes y probar hiptesis acerca de ellos.
De esta manera podemos utilizar la estadstica

con n k 1 grados de libertad para probar las hiptesis y construir


intervalos de confianza sobre j. Por ejemplo, si deseamos probar:

calculamos la estadstica:

y no rechazamos H0 si

donde

tiene n k 1 grados de

libertad.
Ejemplo 3
Para el modelo del ejemplo 1 correspondiente al "Modelo de regresin
lineal con el uso de matrices", pruebe la hiptesis de que 2 = -2,5 en el
nivel de significancia 0.05 contra la alternativa de que 2> -2,5.
SOLUCIN:
Clculos:

Decisin : rechazar H0 y concluir que 2> -2,5


JOSE GARZON ARIAS

- 194 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

7.5 PREDICCION.

Existen varias razones para construir una regresin lineal. Una, por
supuesto, es predecir valores de respuesta a uno o mas valores de la
variable independiente. En este aparte nos enfocamos en los errores
asociados con la prediccin.
La ecuacin = a +bx se puede usar para predecir o estimar la respuesta
media yx en x = xo no es necesariamente uno de los valores
preseleccionados, o se puede utilizar para predecir un solo valor o de la
variable Yo cuando x = xo. Esperaramos que el error de prediccin fuese
mas alto en el caso de un solo valor predicho en el caso donde se predice
una media. Esto, entonces, afectara el ancho de nuestros intervalos para
valores que se predicen.
Suponga que el experimentador desea construir un intervalo de confianza
para yx. Utilizaremos el estimador puntual

o = A + Bxo para estimar

yx. = a + b c o se puede mostrar que la distribucin muestral de

o es

normal con media:

Y varianza:
La ultima se sigue del hecho que Cov( , B) = 0. De esta forma el intervalo
de confianza de (1 - a )100% sobre la respuesta media yx. Se puede
construir a partir de la estadstica :

Que tiene una distribucin t con n 2 grados de libertad


Intervalo de confianza para yx.:

JOSE GARZON ARIAS

- 195 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

CORRELACION.

Hasta este punto hemos supuesto que la variable de regresin


independiente x es una variable fsica o cientfica pero no una variable
aleatoria. De hecho, en este contexto , x a menudo se llama variable
matemtica, que, en el proceso de muestreo, se mide con un error
insignificante. En muchas aplicaciones de las tcnicas de regresin es mas
realista suponer que X y Y son variables aleatorias y que las mediciones
{(Xi, Yi) ; i= 1, 2, ..., n} son observaciones de una poblacin que tiene la
funcin de densidad conjunta f(x, y). Consideremos el problema de medir la
relacin entre las dos variables X y Y. Por ejemplo, si X y Y representan la
longitud y circunferencia de una clase particular de hueso en el cuerpo de
un adulto, podemos realizar un estudio antropolgico para determinar si los
valores grandes de X se asocian con valores grandes de Y, y viceversa. El
anlisis de correlacin intenta medir la fuerza de tales relaciones entre dos
variables por medio de un solo numero llamado coeficiente de correlacin.

En teora a menudo se supone que la distribucin condicional f(y x) de Y,


para valores fijos de X, es normal con una media yx = a + b c o y varianza
s yx = s y X tambin se distribuye con normalmente con x y varianza s
x. La densidad conjunta de X y Y es entonces:

JOSE GARZON ARIAS

- 196 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Donde X es ahora una variable aleatoria independiente del error aleatorio
E. Como la media del error aleatorio E es cero, se sigue que:

Al sustituir para a y s en la expresin anterior para f( x, y), obtenemos la


distribucin normal bivariada:

La constante r (rho) se llama coeficiente de correlacin poblacional y juega


un papel importante en muchos problemas de anlisis de datos de dos
variables. El valor de r es 0 cuando b = 0 , que resulta cuando en esencia
no hay una regresin lineal; es decir, la lnea de regresin es horizontal y
cualquier conocimiento de X no es de utilidad para predecir Y. Como
debemos tener s y s , y r 1 por ello -1 r 1. Los valores de r = 1
solo ocurren cuando s = 0, en cuyo caso tenemos una relacin lineal
perfecta entre las dos variables. de esta manera un valor de r igual a +1
implica una relacin lineal perfecta con una pendiente positiva, mientras
que un valor de r igual a 1 resulta de una relacin lineal perfecta con
pendiente negativa. Se puede decir entonces que las estimaciones
mustrales de r cercanas a la unidad en magnitud implican una buena
correlacin o una asociacin lineal entre X y Y, mientras que valores
cercanos a cero indican poca o ninguna correlacin.

JOSE GARZON ARIAS

- 197 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

Se debe sealar que en estudios de correlacin, como en problemas de


regresin lineal, los resultados que se obtienen solo son tan buenos como
el modelo que se supone. En las tcnicas de correlacin que aqu se
estudian se supone una densidad normal bivariada para las variables X y Y,
con el valor medio de Y en cada valor x linealmente relacionado con x. Para
observar la conveniencia de la suposicin de linealidad, a menudo es til
una graficacin preliminar de los datos experimentales. Un valor del
coeficiente de correlacin muestral cercano a cero resultara de datos que
muestren un efecto estrictamente aleatorio como se indica en la figura a :

en donde se puede observar poca o ninguna relacin causal. Es importante


recordar que el coeficiente de correlacin entre dos variables es una media
de su relacin lineal, y que un valor de r* = 0 implica una falta de linealidad
y no una falta de asociacin. Por ello, si existe una fuerte relacin
cuadrtica entre X y Y como se indica en la figura b, podemos aun obtener
una correlacin cero que indique una relacin no lineal.
* formula del calculo de r

JOSE GARZON ARIAS

- 198 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 199 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

BIBLIOGRAFA
1.-Casuso, Rafael L. "Clculo de probabilidades e inferencia estadstica", UCAB.
Caracas. 1996.
2.-Mendenhall, Schaeffer y Wackely. "Estadstica matemtica con aplicaciones",
Edit. Iberoamrica. Mxico. 1986.
3.-Mendelhall, William y Sincich. "Probabilidad y estadstica para ingeniera y
ciencias", Edit. Prentice may. Mxico. 1997.
4.-Miller, Irwin y otros. "Probabilidad y estadsticas para ingenieros", Edit. Prentice
may. 4ta edicin. Mxico. 1992.
5.-Ross, Sheldon. "Probabilidad y estadsticas para ingeniera y ciencias", Edit. Mc
Graw Hill. Mxico. 2001.
6.-Universidad Simn Bolvar , Por: Hernando Snchez Santibez
http://www.usb.edu.co/facultades/administracion/publicaciones/regresion_correlaci
on.pdf
7.WALPOLE, Myers y Myers (1998), "Probabilidad y Estadstica para Ingenieros",
Edit. Prentice Hall, Mxico.

JOSE GARZON ARIAS

- 200 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS

- 201 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

DEFINICION DE INTEGRACION NUMERICA


DEFINICIONES BASICAS
TIPOS DE INTEGRACION NUMERICA
FORMULAS DE INTEGRACION CERRADA DE NEWTONCOTES
REGLA DEL TRAPECIO
REGLA DE SIMPSON
FORMULAS DE INTEGRACION ABIERTA DE NEWTONCOTES
CUADRATURA DE GAUSS
INTEGRACION DE ROMBERG.

JOSE GARZON ARIAS

- 202 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

INTEGRACION NUMERICA
En la practica profesional , es comn encontrarse con problemas que
requieren del conocimiento del rea bajo una curva de una funcin que
representa el comportamiento de un proceso, que depende de un conjunto
de variables de control, las funciones, no siempre se encuentran en forma
analtica, muchas veces se reportan en forma tabular , o varan
drsticamente entre intervalos, por este motivo, no siempre es posible
integrarlas por mtodos analticos, y se requiere de un tipo de mtodo
apropiado para cada caso, lo cual se estudiara en este capitulo.

8.0 DEFINICIONES BASICAS


Definicin De INTEGRACION
D EFI N I CI ON
La integracin definida es el procedimiento sustentado por el teorema
fundamental del calculo, por medio del cual se puede calcular de forma
exacta una sumatoria de Riemman
La notacin de Leibnitz permite escribir la integracin indefinida de
una funcin como:

f ( x)dx (8.1)
b

Existen diferentes tipos de integracin, a saber


Integracin indefinida
Integracin definida
Integracin Mltiple
Integracin Impropia. etc.
JOSE GARZON ARIAS

- 203 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Cada tipo de integracin

requiere de ciertos conceptos que han sido

estudiados y desarrollados en un curso normal de Calculo .


Los mtodos de integracin numrica se basan prcticamente en usar una
forma aproximada (obtenida por interpolacin) de una funcin y aplicarle
mtodos simples para obtener un valor numrico como aproximacin al
valor real de la integral.
Desde el punto de vista numrico, existen dos tipos generales de mtodos
de integracin, estos son los mtodos de integracin cerrada , y los
mtodos de integracin abierta.

Definicin De INTEGRACION NUMERICA


D EFI N I CI ON
La integracin Numrica es un procedimiento algebraico y aritmtico, que
permite el calculo de integrales definidas , que o bien no se pueden resolver
analticamente o su solucin es muy complicada

La integracin numrica, puede ser cerrada o abierta

8.1 Definicin De mtodos de integracin cerrada.


D EFI N I CI ON
Los mtodos cerrados de integracin, son aquellos que tienen un alcance
exclusivamente dentro del intervalo de definicin de la funcin (intervalo en
el cual se reportan los valores de la funcion). A estos se les conoce como
los mtodos de integracin cerrada de Newton-Cotes.
Dentro de los mtodos cerrados, de Newton Cotes se tienen:
La regla del Trapecio.
La regla del Trapecio Mltiple
La regla de Simpson. 1/3
La regla de Simpson 3/8
JOSE GARZON ARIAS

- 204 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Las cuales se describirn posteriormente.
Los Mtodos de Newton Cotes funcionan en general en dos pasos:
1.- Se divide el intervalo [a,b] en n intervalos de igual amplitud , cuyos
valores extremos son sucesivamente :

xi = x 0 + i (

ba
),
n

i = 0,1,2,3,......, n

(8.2)

Para quedar en la nueva notacin x0=a y xn=b


2.- Se aproxima f(x) por un polinomio de grado n, Pn(x) y se integra , para
obtener la aproximacin de la integral.

8.1.1 Definicin De la regla del Trapecio.


D EFI N I CI ON
La regla del trapecio consiste en : El intervalo original queda igual, la
funcin se aproxima por una lnea recta, y el rea bajo la curva corresponde
al rea de un trapecio.
De acuerdo a los cursos de geometra , el rea de un trapecio, es igual a la
suma de la base mayor , mas la base menor , por la altura sobre dos .
As que cada trapecio que se forma dentro de una curva tiene como rea:
Ai = (f(xi )+f(xi-1))

hi
.(8.3)
2

Al sumar todas las reas se tiene que :

f ( x)dx = ( f ( x k +1 ) + f ( x k ))
n

k =1

JOSE GARZON ARIAS

hk
.(8.4)
2

- 205 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Considerando los incrementos constantes se tiene que :

h=

ba
y xk = a+kh, as la expresin anterior queda:
n

f ( X )dx =

n
h

+
+
f
(
a
)
f
(
b
)
2
f (a + kh) .(8.5)

2
k =1

A continuacin se presenta el algoritmo de la regla del trapecio:

function s=traprl(f,a,b,M)
% Datos
%

-f es el integrando , dado como una cadena de caracteres f

% -a y b son los extremos inferior y superior del intervalo de


integracin
% - M es el numero de subintervalos
% Resultado
% -s es la aproximacin obtenida con la regla del trapecio.
%
h=(b-a)/M;
s=0;
for k=1: (M-1)
x=a+h*k;
s=s+feval(f,x);
end
s=h*(feval(f,a)+feval(f,b))/2+h*s

Aplicando este para obtener el resultado de la integral :

(2 + sen(2

x) )dx =

JOSE GARZON ARIAS

- 206 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


M

T(f,h)

10

0.5

8.1938547

20

0.25

8.18604926

40

0.125

8.18412019

80

0.0625

8.18363936

160

0.03125

8.18351924

(2 + sen(2
6

x) )dx =8.18351924

8.1.2 Definicin De la regla de Simpson.


D EFI N I CI ON
La regla de Simpson consiste en : dividir el intervalo [a,b] en 2M sub
intervalos [xk,xk+1] de la misma anchura h=

(b a)
, mediante una particin
2M

de

xk=a+kh,

nodos

equi

espaciados

con

esta

2h M 1
4h M
h
S(f,h)= ( f (a) + f (b)) +
(
)
f
x
f ( x 2 k 1 ) , que corresponde a la
+
2k 3
3
3 k =1
k =1

f ( x)dx , y se le llama regla de Simpson 1/3


b

integral

A continuacin se presenta el algoritmo para la regla de Simpon 1/3.


function s= simprl(f,a,b,M)
%Datos
% -f es el integrando, dado como una cadena de caracteres f
% -a y b son los extremos inferior y superior del intervalo de integracin.
% -M es el numero de sub intervalos.
% Resultado
% - s es la aproximacin obtenida con la regla de Simpson.
h=

(b a)
(2 * M )

s1=0;
JOSE GARZON ARIAS

- 207 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


s2=0;
for k=1:M
x=a+h*(2*k-1);
s1=s1 + fval(f,x);
end
for k=1:(M-1)
x=a+h*2k;
s2=s2+fval(f,x);
end
s=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3;

Aplicando la regla de Simpson 1/3 para estimar el valor de la integral, que


se calculo con la regla del trapecio , se tiene:
M

S(f,h)

0.5

8.18301549

10

0.25

8.18344750

20

0.125

8.18347717

40

0.0625

8.18347908

80

0.03125

8.18347920

2 + sen(2
6

Asi que

x) = 8.18347920

Como se vera los resultados son exactos en ambas estimaciones hasta tres
decimales.

JOSE GARZON ARIAS

- 208 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

8.2 Definicin De mtodos de integracin abierta.


D EFI N I CI ON
Los mtodos abiertos de integracin, son aquellos que tienen un alcance
fuera del intervalo de definicin de la funcin. A estos se les conoce como
los mtodos de integracin abierta de Newton-Cotes.
Dentro de los mtodos abiertos, de Newton Cotes se tienen:

Integracin de Romberg
Cuadratura de Gauss
Los cuales como se dijo , se extienden fuera del intervalo de definicin de
los datos reportados.

8.2.1 Definicin Del mtodo de cuadratura de Gauss


D EFI N I CI ON
El mtodo de cuadratura de gauss consiste en realizar un cambio de
variable dentro de un conjunto de puntos de una curva imaginaria, que
depende de los datos reportados, lo cual representa un polinomio cbico.

En esta tcnica la integral de una funcin f(x), en el intervalo [a,b] se puede

escribir en la forma :

f ( z )dz = wi f ( z i ) , donde wi es el peso


n

i =1

correspondiente al valor de zi, y zi es la coordenada transformada


correspondiente
El algoritmo para el mtodo de cuadratura de gauss se da a continuacin en
pseudo cdigo :

JOSE GARZON ARIAS

- 209 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


Se aproxima el rea bajo la curva de la funcin analtica f(x) en el intervalo

[a,b], proporcionando la funcin a integrar F(x) y los siguientes datos:

DATOS : Numero de puntos por utilizar (2,3,4,5,6) : N , el limite inferior A, el limite


superior B.
RESULTADOS: El rea aproximada a n decimales: AREA.

PASO 1

Hacer (N(P(I), I= 1,2,3)= (2,3,4)

PASO 2
PASO 3

Hacer IAUX(I) =, I=1,2,..4)=(1,2,4,6)


Hacer
(Z(I)=,I1,2,.,9)=(0.577350269,0.0,0.774596669,0.339981044,0.861136312,0.0,
0.538469310

PASO 4

Hacer (W(I)= , I=1,2,.9)=(1.0,0.888888888,0.555555555,0.652145155,0.347854845

PASO 5
PASO 6
PASO 7
PASO 8
PASO 9
PASO 10
PASO 11
PASO 12
PASO 13

Hacer I=1
Mientras I5 , repetir los pasos 7 y 8
Si N= NP(I), ir al paso 10 . De otro modo continuar.
Hacer I=I+I
IMPRIMIR N NO ES 2,3,4,5, o 6 y TERMINAR
Hacer S=0
Hacer J=IAUX(I)
Mientras JIAUX(I+1) -1 repetir los pasos 13a 17
Hacer ZAUX= (Z(J)*(B-A)+B+A)/2.

PASO 14
PASO 15
PASO 16
PASO 17
PASO 18
PASO 19

Hacer S=S+F(ZAUX)*W(J).
Hacer ZAUX=(-Z(J)*(B-A)+B+A)/2.
Hacer S=S+F(ZAUX)*W(J)
Hacer J=J+1
Hacer AREA =(B-A)/2*S.
IMPRIMIR AREA y TERMINAR.

Y El programa esta dado por :

function quad= gauss(f,a,b,A,W)


%Datos
% -f es el integrando, dado como una cadena de caracteres.
% -a , y b son los extremos superior e inferior del intervalo de integracin.
JOSE GARZON ARIAS

- 210 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


% - A es el vector 1x N de nodos de la tabla de coordenadas.
% - W es el vector 1x N de pesos de la tabla de pesos.
%Resultado
% -quad es la aproximacin al valor de la integral
N= lenght(A);
T=zeros(1,N);
T=((a+b)/2)+((b-a)/2)*A;
Quad =((b-a)/2)*sum(W.*fecal(f,T));

x+2
1

Calculando con este el valor de la integral :

dx

se obtiene el valor de 1.1111 a

cinco dgitos significativos.

8.2.2 Definicin Del mtodo de Integracin de Romberg


D EFI N I CI ON
El mtodo de integracin de Romberg, consiste en expresar la integral
I= f ( x)dx como E= chr f(r)() , donde c es independiente de h, r es un
b

entero positivo y un numero desconocido [a,b], asi haciendo E= I2-I1, es


decir dos aproximaciones sucesivas de I , finalmente la mejor aproximacin
para I esta dada por I=

2 r I 2 I1
2r 1

El algoritmo para el mtodo de Romberg es:

a=A; b=B;
for k=0: w
n=2k; h=(b-a)/n; x=a; s=0;
if n>1
for j=1 : n-1
x=x+h;
f=f(x) ;aqu se introduce la funcin
s=f+s ;
JOSE GARZON ARIAS

- 211 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


end.
end.
fa=f(a);
fb=f(b);
s=h/2*(fa+2*s+fb);
I=(k+1,1) =s ;
fpritf ( %4d %10.7f/n,n,s)
end
for m=2:5
for k=1 : 5-m+1
I=(k,m) = (4(m-1)*I(k+1,m-1)-I(k,m-1))/(4(m-1)-1);
end
end
I

sen(x)dx , se tienen los


1

Aplicando este a la solucin de la integral

siguientes resultados:

2k

Ik(0)

0.0

0.5

0.6035534

0.684174

16

0.6345731

Con esto se da por terminado el tema de integracin numrica, dejando asentado,


que existen una serie de mtodos numricos, reportados en la literatura que
optimizan el procedimiento de integracin numrica , los cuales trabajan con
exactitudes distintas.

JOSE GARZON ARIAS

- 212 -

ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB


BIBLIOGRAFIA.
1.- Carnahan,Brice, et al (1969): Applied Numerical Methods , Wiley New

York
2.- Conte, S.D. and Carl de Boor(1972) : Elementary Numerical Analysis ,

2nd ed., McGraw-Hill,New York.


3.- Fike , C.T. (1968) : Computer evaluation of Mathematical Functions ,

Prentice Hall ,Englewood,Cliffs,N.J.


4.-Hamming , R.W. (1962): Numerical Methods for Scientists and

Engineers, McGraw Hill, New york.

JOSE GARZON ARIAS

- 213 -

You might also like