1 taller de simulaciÓn
Post on 30-Dec-2015
90 Views
Preview:
TRANSCRIPT
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 1 -
LIBRO SABATICO 2006-2007
CONTENIDO.
CONTENIDO
PRESENTACION
PREFACIO
Capitulo 1 GENERALIDADES DEL MATLAB Generalidades y Características 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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 2 -
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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 3 -
Capitulo 3 MOTIVACION DEL ESTUDIO DE LOS METODOS NUMERICOS
3.0 MODELOS FISICOS Y MATEMATICOS
3.1 SOLUCION DE X2=2
a) Solución Analítica.
b) Solución Numérica.
3.2 MODELOS MATEMATICOS Y ALGORITMOS
a) Aplicaciones de los Métodos Numéricos.
b) Algoritmo de Euclides.
c) Recursividad y Características de un algoritmo.
d) Características de un Método Numérico.
3.3 TIPOS DE ERRORES a) Cifras significativas de un Número. b) Error de redondeo. c) Reglas de Redondeo. d) Errores de truncamiento. e) Error relativo. f) Error absoluto.
BIBLIOGRAFIA
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 4 -
Capitulo 4 SOLUCION NUMERICA DE ECUACIONES 4.0 DEFINICIONES BASICAS
4.1 ANALISIS DE RAICES DE ECUACIONES POLINOMIALES
c) Solución Analítica.
d) Solución Numérica.
4.2 SOLUCIONES DE ECUACIONES NO LINEALES
e) Aplicaciones de los Métodos Numéricos.
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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 5 -
Capitulo 5 SISTEMAS LINEALES DE ECUACIONES
5.0 SISTEMA LINEAL DE ECUACIONES
a) CLASIFICACION DE LOS SISTEMAS LINEALES.
5.1 NORMA DE UNA MATRIZ Y MATRICES CONVERGENTES .
5.2 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 DEFINICIONES BASICAS.
6.1 INTERPOLACION DE NEWTON.
a) DIFERENCIAS DIVIDIDAS
b) POLINOMIOS DE NEWTON
6.2 INTERPOLACION DE LAGRANGE
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 6 -
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 ESTÁNDAR 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 REGRESIÓN LINEAL MÚLTIPLE
7.5 PREDICCION. 7.6 CORRELACION.
BIBLIOGRAFIA
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 7 -
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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 8 -
PRESENTACION
La enseñanza de los métodos Numéricos, actualmente se encuentra
íntimamente ligada a la construcción de sistemas matemáticos de alta
precisión 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 numérico ,diseño de ingeniería,
y en muchos otros de los campos científicos.
La mayor parte de los ingenieros dependen de herramientas de tipo
robótico, que requieren de aproximaciones cada vez mas exactas y precisas.
Es por tanto deseable que a la par de la enseñanza Teórica de los Métodos
Numéricos, vaya apareado , la enseñanza de un lenguaje de programación de
alto nivel, que permita escribir directamente todos los algoritmos matemáticos
que se van desarrollando durante el curso. En el caso del presente libro se
utiliza, el Matlab, por ser un sistema Matemático, muy flexible y relativamente
sencillo de utilizar .
Este libro surge de la experiencia de haber enseñado la asignatura de
Métodos Numéricos durante seis semestres consecutivos , que se imparte en
el cuarto semestre de la carrera de Ingeniería en Informática y la Licenciatura
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 9 -
de Ciencias de la Informática ,de la UPIICSA del INSTITUTO POLITECNICO
NACIONAL.; durante el cual he utilizado el método de participación iterativa , y
de trabajo en equipo simultaneo, que permite al alumno , tener un doble canal
de interacción con el docente y retroalimentación con sus compañeros.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 10 -
PREFACIO
Muchos de los problemas en matemáticas continuas no tienen una
solución exacta , por ejemplo encontrar los valores de la función de error
2
exp x− , y resolver una ecuación general polinomial de grado cinco o mayor
(Teorema de Abel-Ruffini). En estas situaciones , se escoge cualquiera de las
dos opciones :
1.- Se trata de encontrar una solución aproximada usando análisis
asintótico.
2.- Se busca una solución Numérica . Esto se hace por medio del
análisis numérico.
HISTORIA.
EL campo de los métodos Numéricos , es anterior a la invención de las
computadoras modernas. La interpolación lineal fue usada hace mas de 2000
años . Muchos de los grandes Matemáticos, del pasado se preocuparon por el
análisis numérico.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 11 -
Lo cual se observa en los nombres de algoritmos importantes, tales
como El método de Newton , Interpolación polinomial de Lagrange ,
eliminación Gausiana , o el método de Euler.
Para facilitar los cálculos a mano se elaboraron enciclopedias con
formulas y tablas , de datos como puntos de interpolación y coeficientes .
Usando esas tablas , frecuentemente se calculaba hasta 16 lugares
decimales o mas para algunas funciones . Las estimaciones que se obtenían
eran bastante precisas.
El trabajo canónico en el campo , es la publicación editada por
Abramowitz and Stegun. Un libro de mas de 100 paginas que contiene un
gran numero de expresiones matemáticas y funciones comúnmente 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 matemáticas suele ser muy útil.
La calculadora mecánica se desarrollo como una herramienta para los
cálculos manuales en 1940 encontrándose que las calculadoras fueron útiles
para cálculos administrativos. Sin embargo la invención de la computadora y
los lenguajes de alto nivel , influenciaron el campo del análisis numérico, ya
que estas permiten que se desarrollen cálculos mas grandes y mas
complicados .
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 12 -
El uso del software especializado, permiten implementar los algoritmos
en computadora . Hay ya muchos paquetes matemáticos , que contienen
librerías especificas de los métodos, mas usuales , es decir algoritmos
clásicos que pueden ser manejados por ingenieros, en diversos campos de
aplicación o a nivel administrativo , aun cuando sean operados por no
especialistas; tal es el caso de GNU librería científica o bien las librerías,
IMSL y NAG . Otro lenguaje popular para cálculos numéricos es el Matlab ,
que será el que se utilizara en el presente texto.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 13 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 14 -
INTRODUCCION AL MATLAB
ORIGEN
INICIACIÓN AL MATLAB
CARACTERÍSTICAS DEL ENTORNO
SALIDAS O PRESENTACIONES
FUNCIONES DE MATLAB
LIBRERIAS
VENTANAS
OPERACIONES CON VECTORES Y MATRICES
GRAFICAS
FUNCIONES ESPECIALES
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 15 -
INTRODUCCIÓN AL MATLAB.
MATLAB es un entorno de computación y desarrollo de
aplicaciones totalmente integrado orientado para llevar a cabo
proyectos en donde se encuentren implicados elevados cálculos
matemáticos y la visualización gráfica de los mismos. MATLAB integra
análisis numérico, cálculo matricial, proceso de señal y visualización
gráfica en un entorno completo donde los problemas y sus soluciones
son expresados del mismo modo en que se escribirían racionalmente,
sin necesidad de hacer uso de la programación tradicional.
MATLAB dispone también en la actualidad de un amplio abanico
de programas de apoyo especializados, denominados Toolboxes, que
extienden significativamente el número de funciones incorporadas en el
programa principal. Estos Toolboxes cubren en la actualidad
prácticamente casi todas las áreas principales en el mundo de la
ingeniería y la simulación, destacando entre ellos el 'toolbox' de proceso
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 16 -
de imágenes, señal, control robusto, estadística, análisis financiero,
matemáticas simbólicas, redes neuronales, lógica difusa, identificación
de sistemas, simulación de sistemas dinámicos, etc. Es un entorno de
cálculo técnico, que se ha convertido en estándar de la industria, con
capacidades no superadas en computación y visualización numérica.
De forma coherente y sin ningún tipo de fisuras, integra los
requisitos claves de un sistema de computación técnico: cálculo
numérico, gráficos, herramientas para aplicaciones especificas y
capacidad de ejecución en múltiples plataformas. Esta familia de
productos proporciona al estudiante un medio de carácter único, para
resolver los problemas más complejos y difíciles.
ORIGEN
MATLAB nace como una solución 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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 17 -
El nombre MATLAB viene de "matrix laboratory" (laboratorio
matricial). MATLAB fue originalmente escrito para proveer acceso fácil
al software matricial desarrollado por los proyectos LINPACK y
EISPACK, que juntos representan el estado del arte y software para
computación matricial. Hoy MATLAB es usado en una variedad de
áreas de aplicación incluyendo procesamiento de señales e imágenes,
diseño de sistemas de control, ingeniería financiera e investigación
médica. La arquitectura abierta facilita usar MATLAB y los productos
que lo acompañan para explorar datos y crear herramientas
personalizadas que proveen visiones profundas tempranas y ventajas
competitivas.
INICIACIÓN AL MATLAB
El Lenguaje de Computación Técnica MATLAB es un ambiente
de computación técnica integrada que combina computación numérica,
gráficos y visualización avanzada y un lenguaje de programación de
alto nivel.
Sea cual fuere el objetivo, un algoritmo, análisis, gráficos,
informes o simulación, MATLAB lo lleva allí. El lenguaje flexible e
interactivo de MATLAB permite a ingenieros y científicos expresar sus
ideas técnicas con simplicidad. Los poderosos y amplios métodos de
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 18 -
cómputo numérico y graficación permiten la prueba y exploración de
ideas alternativas con facilidad, mientras que el ambiente de desarrollo
integrado facilita producir resultados prácticos fácilmente.
MATLAB es la fundación numérica y gráfica para todos los
productos de The MathWorks. MATLAB combina computación
numérica, gráficos 2D y 3D y capacidades de lenguaje en un único
ambiente fácil de usar.
Con su amplio rango de herramientas para modelar sistemas de
control, análisis, simulación 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 diseño de controles avanzados de
MATLAB - Control System, Robust Control, µ-Analysis and Synthesis,
Model Predictive Control, QTF Control Design y LMI control. Posteriores
análisis y refinamientos pueden ser efectuados estableciendo una
simulación interactiva en Simulink, y luego sintonizar automáticamente
los parámetros usando el Nonlinear Control Design Blockset.
Finalmente, usted puede generar código C para correr en controladores
incrustados con Real Time Workshop.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 19 -
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 análisis personalizado de señales y
desarrollo de algoritmos DSP. Para simulación 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 código C para su hardware designado.
CARACTERÍSTICAS DEL ENTORNO
Características de MATLAB :
Cálculos intensivos desde un punto de vista numérico.
Gráficos y visualización avanzada.
o Lenguaje de alto nivel basado en vectores, arrays y matrices.
Colección muy útil de funciones de aplicación.
Las poderosas capacidades de cálculo técnico de MATLAB se
ponen a la disposición de los estudiantes, aunque limita el tamaño de
las matrices a 8192 elementos, la edición de estudiante mantiene toda
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 20 -
la potencia de la versión profesional de MATLAB 7.0, en una forma
diseñada para que los estudiantes puedan ejecutarlo en sus propios
ordenadores personales bajo Windows.
Toolbox especiales :
Se incluyen el Toolbox de señales y Sistemas ( un conjunto de
herramientas para el procesamiento de señal y para el análisis de
sistemas de cuadro ) y el Toolbox Symbolyc Math ( herramienta de
cálculo simbólico basada en Maple V ).
SALIDAS O PRESENTACIONES
MATLAB provee acceso inmediato a las características gráficas
especializadas requeridas en ingeniería y ciencias. Potente graficación
orientada a objetos gráficos le permite graficar los resultados de su
análisis, incorporar gráficos en sus modelos de sistemas, rápidamente
presentar complejos 3-D objetos, y crear resultados de presentación,
entre lo cual se destaca:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 21 -
• Representaciones 2-D y 3-D, incluyendo datos triangulados y
reticulados
• Representaciones 3-D quiver, ribbon, y stem
• Control de fuentes, letras Griegas, símbolos, subíndices y
superíndices
• Selección expandida de símbolos marcadores de curvas
• Gráficos de torta, de barras 3-D y gráficos de barras
horizontales
• Gráficos 3-D y sólido modelado
• Representación de imágenes y archivos I/O
• Gráficos comentados
• Leer/Escribir archivos de datos Hierarchical Data Format (HDF)
• Presentación de OpenGL software y hardware
• Animación
• Display de buffer x rápido y exacto
• Soporte de colores verdaderos (24-bit RGB)
• Fuentes múltiples de luz para superficies coloreadas
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 22 -
• Vista basada en cámara y control de perspectiva
• Iluminación Plana, Gouraud y Phong
• Soporte eficiente de imagen de datos de 8-bit
• Control de eje y cámara
• Propiedades de superficie y patch
• Modelos de iluminación
• Control gráfico de objetos
• Impresión y representación de copias
• Formatos gráficos exportables
• Soporte de publicación de escritorio
FUNCIONES DE MATLAB
Manipulación y Reducción de Datos MATLAB tiene un rango
completo de funciones para preprocesar datos para análisis
Numerosas operaciones para manipular arreglos
multidimensionales, incluyendo reticulación e interpolación de datos,
están también disponibles.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 23 -
Descriptivos Gráficos Para Explorar y Presentar los Datos
Gráficos de propósitos generales y de aplicación específica le permiten
visualizar al instante señales, superficies paramétricas, imágenes y
más. Todos los atributos de los gráficos de MATLAB son
personalizables, desde los rótulos de ejes al ángulo de la fuente de luz
en las superficies 3-D . Los gráficos están integrados con las
capacidades de análisis, de modo que se puede mostrar gráficamente
cualquier conjunto de datos sin editar, ecuación o resultado funcional.
I/O Directo de Datos Se puede ingresar y sacar datos de f
MATLAB rápidamente. Las funciones están 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,
permitiéndole trabajar con todos los formatos de datos. MATLAB
también incluye soporte incorporado para formatos populares de
archivos estándar.
Computación Simbólica Integrada Integrando el motor simbólico
Maple V® con MATLAB, los Symbolic Math Toolboxes le permiten
mezclar libremente computación simbólica y numérica una sintaxis
simple e intuitiva.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 24 -
Análisis de Datos Confiable, Rápido y Exacto Los métodos
usados comúnmente para análisis de datos multidimensional
generalizados 1-D, 2-D están incorporados en MATLAB. Interfaces
gráficas fáciles de usar, específicas para aplicaciones, la línea de
comando interactiva y herramientas de programación estructuradas le
permiten elegir el mejor camino para sus tareas de análisis.
Análisis de Datos para DSP MATLAB ofrece muchas
herramientas para realizar la funcionalidad indispensable en
procesamiento de señales, tales como Transformadas Rápidas Fourier
y Transformadas Rápidas Inversas de Fourier. La visualización de datos
de procesamiento de señales está soportada por funciones tales como
gráficos stem y periodogramas. El lenguaje de MATLAB,
inherentemente orientado a matrices hace que la expresión de
coeficientes de filtros y demoras de buffers sean muy simples de
expresar y comprender.
Análisis de Datos en Aplicaciones de Imágenes MATLAB y la
Image Processing Toolbox ofrece un amplio conjunto de herramientas
que le permite fácilmente manipular, procesar y analizar datos de
imágenes, interactivamente mostrar pantallas de imágenes 2-D o 3-D,
visualizar datos temporales cuando es necesario, y comentar sus
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 25 -
resultados para publicaciones técnicas. La orientación basada en
matrices del lenguaje de MATLAB le permite expresar en forma
compacta operaciones matemáticas de forma similar a cómo las
expresaría sobre papel. Como resultado, es fácil e intuitivo efectuar
procesamiento de imágenes y operaciones de análisis tales como
FFTs, filtrado 2-D, morfología binaria, manipulación geométrica,
conversión de espacios de colores, compresión, análisis de
componentes conectados y más.
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 fundación de computación, el
lenguaje técnico, y cientos de funciones en cajas de herramientas
(toolboxes) convierten a MATLAB en lo más adecuado para
aplicaciones matemáticamente intensivas que requieran análisis de
datos, procesamiento de señales e imágenes, modelado de sistemas o
técnicas numéricas avanzadas.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 26 -
LIBRERIAS
Librería de Aplicaciones de MATLAB
Signal Processing Toolbox
MATLAB tiene una gran colección de funciones para el
procesamiento de señal en el Signal Processing Toolbox. Este incluye
funciones para:
• Análisis de filtros digitales incluyendo respuesta en frecuencia,
retardo de grupo, retardo de fase.
• Implementación de filtros, tanto directo como usando técnicas
en el dominio de la frecuencia basadas en la FFT.
• Diseño de filtros IIR, incluyendo Butterworth, Chebyschev tipo I,
Chebyshebv tipo II y elíptico.
• Diseño de filtros FIR mediante el algoritmo óptimo de Parks-
McClellan.
• Procesamiento de la transformada rápida de Fourier FFT,
incluyendo la transformación para potencias de dos y su inversa, y
transformada para no potencias de dos.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 27 -
The MATLAB C Math Library
La MATLAB C Math Library proporciona al usuario la capacidad
computacional de MATLAB en una librería 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 creación
de aplicaciones 'stand alone'. Para los usuarios clásicos 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 tecnología MATLAB , esta tecnología
ofrece una nueva vía para la reducción del tiempo de desarrollo y
puesta a punto de aplicaciones.
La MATLAB C Math Library proporciona una amplia gama de
funciones clásicas del programa MATLAB , proporcionadas como
librerías objeto, incluyendo básicamente las siguientes categorías de
funciones presentes en MATLAB y archivos M compilados:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 28 -
• Álgebra lineal.
• Funciones matemáticas elementales y especializadas.
• Operadores lógicos y aritméticos.
• Matrices elementales y manipulación de vectores.
• Matrices especiales.
• Estadística básica y análisis de datos.
• Polinomios e interpolación.
• Gestión de cadenas de caracteres.
• Entradas y Salidas.
• Gestión de memoria y errores.
(Nota: Las funciones del tipo Handle Graphics no están incluidas
en la C Math Library).
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 29 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 30 -
TRABAJANDO CON MATLAB
Exhibición de Números
Operaciones Aritméticas
Operadores Relaciónales
Operadores Lógicos
Combinaciones
Caracteres Especiales
Ejemplos Elementales
APRENDIENDO A TRABAJAR CON MATRICES
Uso básico de MATLAB
COMANDOS BASICOS
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 31 -
TRABAJANDO CON MATLAB
Para iniciar MATLAB, seleccionamos el programa MATLAB de un menú del
sistema.
y aparece la siguiente ventana de MATLAB, que nos dice que MATLAB está
esperando que introduzcamos un comando.
HACER DOBLE CLIC AQUÍ
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 32 -
La “>>” es el prompt del MATLAB, que esta esperando que se introduzca un
comando, función, variable o numero.
Seguidamente se presentan comandos más 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 gráficos.
o El comando clear no afecta a las ventanas, pero si borra todas las variables
de la memoria
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 33 -
o Para ver algunas de las capacidades de MATLAB, usar el comando demo,
que inicia el MATLAB EXPO, un entorno gráfico de demostración 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 interrupción local dentro del
MATLAB.
o Para acceder al menú de ayuda se debe usar el comando help.
o El símbolo “»” denota el prompt de MATLAB y no se escribe al entrar
instrucciones.
o El “;” al final de la instrucción omite el “eco” o salida a la pantalla.
Exhibición de Números:
Comando MATLAB Exhibición Ejemplo
format short
format short e
format long
format long e
format bank
format hex
Por omisión
4 decimales
14 decimales
15 decimales
2 decimales
exp.
2.3333
2.3333e+000
2.33333333333333
2.333333333333334e+000
2.33
4002aaaaaaaaaaab
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 34 -
format + hexadecimal
+, -, espacio
+
Operaciones Aritméticas:
ESCALAR MATRIZ VECTOR DESCRIPCIÓN
+ + + Adición
- - - Sustracción
* * .* Multiplicación
/ / . / División hacia la derecha
\ \ \ . División hacia la izquierda
^ ‘ .’ Transposición
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 35 -
Operadores Relaciónales
OPERADOR DESCRIPCIÓN
< menor que
< = menor o igual que
> mayor que
> = mayor o igual que
= = Igual
~ = no igual
Operadores Lógicos
OPERADOR DESCRIPCIÓN
& Y (and)
| O (or)
~ NO (not)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 36 -
Combinaciones:
P Q ~ P P |Q P&Q
falso Falso Verdadero Falso falso
Falso verdadero Verdadero Verdadero falso
Verdader
o
Falso Falso Verdadero falso
Verdader
o
verdadero Falso verdadero verdadero
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 37 -
Caracteres Especiales:
CARACTERES DESCRIPCIÓN
[ ] Se utilizan para formar vectores y matrices
( ) Define precedencia en expresiones aritméticas. Encierra
argumentos de funciones en forma usual
, Separador de elementos de una matriz, argumentos de
funciones y declaraciones en líneas con declaraciones múltiples
; Separador de declaraciones, termina renglones de una matriz
A continuación 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 efectúa 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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 36 -
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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 37 -
d = [1; 3; 5] d = 1 3 5 d’ ans = 1 3 5
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 6 9 12 18 27 20 30 45
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 38 -
>>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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 39 -
>> d.^f ans =
1 729 1953125
>> d ^2 ??? Error using ==> ^ Matrix must be square. >> d.^2 ans = 1 9 25 >> 3ˆd ??? Error using ==> ^ Matrix must be square.
>>3.^d ans =
3 17
243
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 40 -
APRENDIENDO A TRABAJAR CON MATRICES
Para entrar la matriz
0 2
3 4
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 más complicado. Primero definiendo una
matriz b:
>> b = [1 2; 0 1]
Entonces calculando el producto a*b:
>> a*b
Finalmente, se efectúa el producto en el otro orden:
>> b*a
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 41 -
Se sabe que los dos productos son diferentes: porque la multiplicación de
matrices es no conmutativa.
Por supuesto, también se puede sumar matrices:
>> a + b
Ahora guardando el resultado de esta suma para que se pueda usarlo
después:
>> 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. También se puede escribir
el cómputo como
>> s/s
también se puede escribir
>> s\s
qué es igual que
>>inv(s) * s
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 42 -
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 división de matrices:
>> c = [1 1; 1 1]
>> inv( c );
Una matriz puede invertirse si y sólo si su determinante es diferente de
cero:
>> det(a)
>> det (c)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 43 -
Uso básico de MATLAB
Normalmente se requiere de modelos computacionales con el fin de resolver
problemas de ingeniería. Muchas veces puede ser útil hacer un programa que
utilice matrices, complejos, y otras estructuras matemáticas, pero fácil 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 presentación está organizada de la siguiente forma:
Generalidades.
Comandos de programación.
Comandos matemáticos.
Programas de ejemplo variados.
Cada uno de los vínculos de estas secciones, contiene una explicación breve y
ejemplos pequeños de cada comando. La sección de ejemplos, contiene algunos
programas completos, donde se utilizan los comandos tratados.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 44 -
NOTA:
En todos los programas de ejemplo se utiliza el comando de MATLAB: % el cual
se utiliza para añadir 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 introducción al manejo de variables (escrita para las
personas que nunca han usado MATLAB), expresiones y archivos con
extensión .m (programas ejecutables por MATLAB), con respecto a su creación
y uso.
La idea es tratar de manera general, como es el uso de variables, expresiones y
comandos en MATLAB, así como sus características. Adicionalmente dar una
introducción al uso de los archivos con extensión .m (programas ejecutables por
MATLAB) y como trabajar con ellos.
2.1. Manejo de variables:
En MATLAB como en cualquier otro lenguaje de programación, y/o asistente
matemático se utilizan variables. Las variables deben tener un nombre según
ciertas reglas.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 45 -
Estas reglas son:
NO pueden comenzar con un número, aunque si pueden tener números
(variable1 es un nombre válido).
Las mayúsculas y minúsculas 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
válido usar /, *, -, +, ...)
Si se trabaja con complejos sólo puede utilizarse un de los nombres i y/o j
para variables. Ver complejos.
No es necesario definir el tipo de variable o tamaño (si se usa un vector y
después se expande, no hay problema)
2.2. Manejo de expresiones:
Una expresión en MATLAB, puede ser:
Una variable o un número. (ej: variable1, x, 3, 22.3)
Un comando aplicado. (ej: norm(A), sin(2*pi) )
Una expresión matemática. (ej: 2+3*variab1^ 4.5)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 46 -
Si cualquiera de las anteriores se escribe en la línea de comandos (>> ) del
MATLAB, él devolverá el nombre de la variable y su valor (en caso de que
la expresión tenga nombre, de no tenerlo, MATLAB devolverá ans =
resultado). Un punto importante que se debe resaltar es que esto ocurre
siempre y cuando la expresión no termine con punto y coma. Al añadir un
punto y coma al final de la expresión MATLAB no imprime su valor en la
pantalla, aunque si realiza el cálculo. (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 extensión .m, por lo tanto es
necesario tener las librerías en que se encuentran los comandos que se
desean utilizar. Aunque la gran mayoría de los comandos utilizados siempre
vienen incluidos en las librerías.
MATLAB NO distingue entre mayúsculas y minúsculas en los comandos (a
menos que se trabaje en Unix) . El resto de esta presentación trata cada
comando en detalle (los más usados).
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 47 -
2.4. Manejo de archivos con extensión .m:
Todos los comandos a que se refiere esta presentación pueden utilizarse
directamente desde la línea de comandos del MATLAB (>> ). Sin embargo la
idea es hacer un archivo (con extensión .m) que contenga el programa (para
poder modificarlo, revisarlo, correrlo otra vez ....) ya que es más ventajoso
así. Los programas no requieren indentación 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. (sólo que su extensión no es txt sino m)
Como crear uno: Las formas más fáciles son:
Desde Unix: con el comando “!pico archivo.m” donde archivo es el
nombre del programa.
Desde Windows: con el NOTEPAD, teniendo la precaución 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 solución es quitar el .txt.).
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 48 -
Como correrlo para obtener los resultados: Desde la línea 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 extensión tiene que ser
escrita en minúscula (m), y debe escribirse el nombre exactamente igual
para correrlo (Unix diferencia entre mayúsculas y minúsculas)
2.5 Comandos básicos de programación
Para la estructura de programación 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 condición, y de acuerdo a si se cumple o no
realiza la acción que se desee.
La sintaxis de la orden es:
if (condición), (ordenes 1) [else, (ordenes 2)] end;
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 49 -
Donde las ordenes entre [ ] son opcionales.
(ordenes 1) son las ordenes que se realizarán si (condición) se cumple.
(ordenes 2) son las ordenes que se realizarán si (condición) NO se cumple.
(condición) 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 expresión sin punto y coma final, MATLAB escribe
% su resultado en pantalla. else,
n = 1 end; n = 2; if n == 0, n
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 50 -
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 condición.
La sintaxis de la orden es:
while (condición), (ordenes) end;
(ordenes) son las ordenes que se realizarán mientras (condición) se
cumpla.
(condición) 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)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 51 -
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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 52 -
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 número. determinado de veces.
La sintaxis de la orden es:
for (contador), (ordenes) end;
(ordenes) son las ordenes que se realizarán (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
función es determinar el incremento del contador.
• c es el valor final del contador (variable).
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 53 -
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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 54 -
2.5. 5 Comando PLOT
Sirve para obtener resultados gráficos 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 posición uno del vector corresponde al primer
valor del vector x. La gráfica 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 número 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;
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 55 -
y(i)=x(i) ˆ3 - 1; % Organiza en vectores la función 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 más de una gráfica, 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 gráfica de la curva y=x3 -1 (para 0<=x<=1). La
gráfica aparecerá en una ventana aparte llamada Figure 1, y la recta se verá así:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 56 -
Otro ejemplo, para la gráfica 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 gráfico:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 57 -
El comando t = 0: .3 :10; define el vector entre los componentes desde 0 a
10 incrementados de 0.3. La expresión 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 construcción del gráfico.
2.6 Funciones de dos variables
Vamos a elaborar la gráfica de la función 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)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 58 -
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 pequeños 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 función
z(x,y) a los puntos de la reja. La tercera orden usa esta información para
construir el gráfico.
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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 59 -
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( ‘ También se puede escribir así.’ );
La salida del programa anterior será:
1 2 3 4 9 11
1 2 7
6 3 4
Texto se puede escribir así
También se puede escribir así.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 60 -
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 válido 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 válido el nombre de variable a.
a = input( ‘ Teclee el valor de a: ‘);
tex = ‘ Cual es el nuevo valor de a? ‘;
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 61 -
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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 62 -
Comandos básicos matemáticos
Lo que hace verdaderamente poderoso al MATLAB es la facilidad para
realizar operaciones matemáticas con elementos como: (en cada vínculo 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
asignación, por eso se explican juntos. Pero las operaciones posibles, si
son diferentes, y están separadas bajo los encabezados correspondientes.
Asignación:
La asignación de variables en MATLAB es sencilla, y los vectores y
matrices no son la excepción. 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];
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 63 -
donde la matriz escrita arriba es:
1 2 3 4
5 6 7 8
9 0 1 2
Las filas se separan por punto y coma y las columnas por espacios o
comas. De lo anterior se ve fácilmente 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];
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 64 -
Manejo de subíndices:
Otra forma de asignar valores a una matriz (o un vector) es por medio de los
subíndices. El menor subíndice utilizado por MATLAB es 1. Y va añadiendo
valores a medida que se requieran. Los subíndices se escriben entre paréntesis.
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 5 6
0 0 0
0 0 0
Igualmente a veces se requiere trabajar con vectores que son una columna
o una fila de una matriz.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 65 -
Esto se realiza fácilmente guardando este “vector” en un vector , así:
v = A(:,1);
Asigna al vector v la primera columna (completa) de la matriz A.
. Operaciones matemáticas 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 sólo es necesario anotar esta operación
normalmente (como se haría con números). 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.)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 66 -
2.8. Comandos matemáticos para vectores:
Los comandos matemáticos más 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
máximo valor absoluto, en una matriz es la
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 67 -
suma más 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 programación
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 expresión sin punto y coma al final
% MATLAB muestra su valor en pantalla.
Al correr el programa se obtienen como salida los siguientes resultados:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 68 -
A = 1 2 3 4 v = 1 2 3 4
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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 69 -
En el caso de una matriz MIN retorna un vector (fila) que contiene el
mínimo 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:
Mínimo = min( matriz x );
Matriz es la matriz o vector al que se desea encontrar la (s) mínima (s)
componente (s).
En Mínimo se retorna (n) el (los) mínimo (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 mayúsculas y minúsculas.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 70 -
% Al escribir una expresión sin punto y coma al final
% MATLAB muestra su valor en pantalla.
Al correr el programa anterior se obtiene como salida lo siguiente:
A = 1 2 3 4 v = 1 2 3 4 M = 1 2 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
máximo 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:
Máximo = max(Matriz);
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 71 -
Matriz es la matriz o vector al que se desea encontrar la (s) máxima (s)
componente (s).
En Máximo se retorna (n) el (los) máximo (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 mayúsculas y minúsculas.
Al correr el programa anterior se obtiene como salida lo siguiente:
A = 1 2 3 4 v = 1 2 3 4 M = 3 4 m = 4
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 72 -
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:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 73 -
x = 1 0 0 y = 0 1 0 z = 0 0 1
2.8.5. Comando LENGTH
Determina el número de componentes de un vector. La sintaxis de la orden
es:
Longitud = length (Vector);
Vector es el vector que se quiere medir (número de componentes).
Longitud es el número 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:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 74 -
x = 1 2 3 4 5 6 7 l = 7
2.9. Comandos matemáticos para matrices:
Los comandos matemáticos más 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 tamaño de la matriz (dimensiones).
La sintaxis de la orden es:
[Filas, Columnas] = size(Matriz);
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 75 -
(Los símbolos [ ] se escriben.)
ó también:
Tamaño = size(Matriz);
Matriz es la matriz a la que se le desea determinar el tamaño
(dimensiones).
En Filas se almacena el número de filas.
En Columnas se almacena el número de columnas.
Tamaño es un vector (fila) en cuyas componentes se almacenan el número
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 expresión sin punto y coma final MATLAB
c % muestra el valor por pantalla
Al correr el programa se obtiene la siguiente salida:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 76 -
A = 1 2 3 4 5 6 y = 2 3 f = 2 c = 3
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 símbolos [ ] se escriben.)
ó también:
Valores = eig( Matriz );
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 77 -
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 expresión sin punto y coma final MATLAB
% muestra el valor por pantalla
D
Al correr el programa se obtiene la siguiente salida:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 78 -
A = 1 2 3 4 y = -0.3723 5.3723 V = -0.8246 -0.4160 0.5658 -0.9094 D = -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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 79 -
A = [1 2; 3 4]
I = inv(A);
I % Al escribir una expresión 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 2 3 4 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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 80 -
A = [1 2 7; 4 5 8; 6 -7 10]
d = det(A)
Al correr el programa se obtiene la siguiente salida:
A = 1 2 7 4 5 8 6 -7 10 d =
-284
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 81 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 82 -
INTRODUCCION A LOS MÉTODOS NUMÉRICOS
MODELOS FISICOS Y MATEMATICOS
IMPORTANCIA DE LOS MÉTODOS NUMÉRICOS
SOLUCION DE LA ECUACION X2= 2
DEFINICION DE ALGORITMO
El algoritmo de EUCLIDES
MEDICION Y CIFRAS SIGNIFICATIVAS
CIFRAS SIGNIFICATIVAS.
CONCEPTO DE PRECISION Y EXACTITUD
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 83 -
INTRODUCCION A LOS MÉTODOS
NUMÉRICOS 3.0 MODELOS FISICOS Y MATEMATICOS
Problemas matemáticos y sus soluciones.
DEFINICION
Un modelo matemático puede definirse como una representación simbólica
, o simplificada de un fenómeno, en una o varias ecuaciones que expresan
las características esenciales de un sistema físico ,o proceso en términos
matemáticos.
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 través de las
cuales el comportamiento del sistema será determinado.
P = parámetros , son reflejos de las propiedades o la composición del
sistema.
f = funciones de fuerza, son influencias externas sobre el sistema.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 84 -
EJEMPLO:
De la segunda Ley de Newton:
F = ma ; reordenando
MFa = __ ( 2 )
Características de este modelo matemático.
1.- Describe un proceso o sistema natural en términos
matemáticos.
2.- Representa una simplificación de la realidad.
3.- Conduce a resultados predecibles.
Otros modelos matemáticos de fenómenos físicos pueden ser mucho
más complejos.
De nuevo si usamos la segunda Ley de Newton para determinar la
velocidad final o terminal de un cuerpo, tenemos un expresión de
aceleración como la razón de cambio de la velocidad con respecto al
tiempo:
dtdv =
mF ( 3 )
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 85 -
Para un cuerpo que cae, la fuerza total es:
F = FD + Fu ( 4 )
FD = La atracción 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 ( 7 ) dt m
dv = g – c/m (v) ( 8 ) dt
Esta ecuación es un modelo matemático que relaciona la aceleración de un
cuerpo que cae con las fuerzas que actúan sobre él.
Se trata de una ecuación diferencial o ecuaciones diferenciales.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 86 -
Si las ecuaciones son más complejas, se requiere de técnicas avanzadas
para obtener una solución analítica exacta o aproximada.
Si el objeto está en reposo, v = o y t = 0 , y usando las teorías de
cálculo, obtenemos:
v(t) = gm/c ( 1 – e-(c/m)t ) ( 9 )
Que es la solución analítica o exacta,
v(t) = variable dependiente
t = es la variable independiente
c,m = parámetros
g = función de la fuerza
Ej. 1
Un paracaidista , con una masa de 68.1 kgs salta de un globo aerostático
fijo. Con la ayuda de la ecuación ( 9 ), calcule la velocidad antes de abrir el
paracaídas, 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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 87 -
Cuando los métodos numéricos – modelos matemáticos – no pueden
resolverse con exactitud, se requiere de una solución numérica que se
aproxima a la solución exacta.
Los métodos numéricos son aquellos en los que se formula el
problema matemático para que se pueda resolver mediante operaciones
aritméticas.
Para la segunda Ley de Newton, al aproximar a la razón del cambio de
la velocidad con respecto al tiempo , tenemos:
dv = Δv = v ( ti + 1 ) – v ( ti ) ( 10 ) dt Δt ti + 1 – ti
t,s v, m/s
0 0
2 16.42
4 27.76
6 35.63
8 41.05
10 44.87
12 47.48
∝ 53.39
0
10
20
30
40
50
60
0 5 10
t,s
v, m
/s
Serie1
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 88 -
Diferencias finitas divididas
v ( ti ) = es la velocidad en el tiempo inicial ti
v ( ti + 1 ) = es la velocidad después de un tiempo mas tarde:
ti + 1
sustituyendo la ec. ( 10 ) en la ec. ( 8 ):
v ( ti + 1 ) – v ( ti ) = g – c/m v ( ti ) ti + 1 – ti
Reordenando :
V ( ti + 1 ) = v ( ti ) + g – c/m v( ti ) ( ti + 1 – ti ) ( 11 )
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 89 -
A cualquier tiempo
Nuevo valor = viejo valor + pendiente x tamaño del paso.
Ejemplo .2
Resolver el ejemplo anterior mediante una solución numérica para calcular
la velocidad. Emplear un tamaño 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 ecuación 11 e iterando para diferentes
tiempos se tiene
V ( ti + 1 ) = v ( ti ) + g – c/m v( ti ) ( ti + 1 – ti )
V1 = V0 + g – c/m V0 ( ti + 1 – ti ) ; t1 = 2 seg
V1 = 0 + 9.8 – 12.5/68.1 (0) (2-0) = 19.6 m/s
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 90 -
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 (t3 – t2)
V3= 32 + 9 .8 – 12.5/68.1 (32) (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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 91 -
Comparativo entre solución numérica y solución analítica
0
10
20
30
40
50
60
0 2 4 6 8 10 12 at,s
V, m
/s
Solución Numérica Solución Analítica
Los resultados numéricos para la solución exacta y la solución numérica
se dan en la siguiente tabla
En la tabla t,s es el tiempo en segundos, SN corresponde a la solución
analítica y SA a la solución Numérica
TABLA DE RESULTADOS
t,s SN SA
0 0 0
2 19.6 16.42
4 32 27.76
6 39.85 35.63
8 44.82 41.05
10 48.01 44.87
12 49.05 47.48
α 53.39 53.39
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 92 -
Como se vera la solución numérica tiende a la solución analítica.
Y los resultados de la primera son bastante aceptables.
IMPORTANCIA DE LOS MÉTODOS NUMÉRICOS
Los métodos numéricos son técnicas mediante las cuales es posible formular
problemas matemáticos de tal forma que puedan resolverse usando operaciones
aritméticas.
El análisis numérico trata de diseñar métodos para “ aproximar” de una
manera eficiente las soluciones de problemas expresados matemáticamente.
El objetivo principal del análisis numérico es encontrar soluciones
“aproximadas” a problemas complejos utilizando sólo las operaciones más simples
de la aritmética. Se requiere de una secuencia de operaciones algebraicas y
lógicas que producen la aproximación al problema matemático.
Los métodos numéricos pueden ser aplicados para resolver procedimientos
matemáticos en:
Cálculo de derivadas
Integrales
Ecuaciones diferenciales
Operaciones con matrices
Interpolaciones
Ajuste de curvas
Polinomios
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 93 -
Los métodos numéricos se aplican en áreas como:
Ingeniería Industrial, Ingeniería Química, Ingeniería Civil, Ingeniería
Mecánica, Ingeniería eléctrica, etc...
3.1 SOLUCION DE LA ECUACION X2= 2
a) Solución Analítica.
La solución analítica de la ecuación X2= 2 es un problema muy antiguo que prácticamente da lugar a los números
irracionales , pues no existe una representación racional exacta de 2±=x
, que es la solución de la ecuación
b) Solución Numérica.
La solución Numérica se puede obtener con cierto numero de cifras
significativas, y con un cierto tipo de error de aproximación, por
medio de un algoritmo simple , aplicando la siguiente formula de
recursión :
)2(21
1N
NN XXX +=+ ………3.1
Donde Xn+1 son los valores de aproximación que se van obteniendo
a partir de los valores anteriores Xn ..
El error cometido en cada iteración es de aproximadamente 0.5 x
10-3 % . Esto hace ver que los Métodos Numéricos , son
aproximaciones que siempre contienen un a cierta cantidad de error.
A continuación se presenta una tabla de iteraciones con este
algoritmo , que es una tabla clásica en Métodos Numéricos.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 94 -
Iteración (n) Xn+1(valor
nuevo)
Xn (valor
anterior)
Error (℮r)
0 1 0 -
1 1.5 1 33.3%
2 1.4116 1.5 5.88%
3 1.4142156 1.4116 0.1733%
4 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 lógica de pasos necesarios para
ejecutar una tarea especifica , tal como la solución de un problema .
Características de Un Algoritmo:
1. Finitud. Todo algoritmo debe terminar en un número finito de
pasos.
2. Definido. Las acciones de un algoritmo deben ser claras sin
ambigüedades.
3. Entrada. Todo algoritmo debe tener una o más entradas.
4. Salida. Todo algoritmo debe tener una o más salidas.
5. Efectividad. Todas las operaciones involucradas deben
reportar al menos un resultado.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 95 -
3.3 El algoritmo de EUCLIDES.
El máximo común divisor de dos enteros m y n (ambos diferentes de cero)
es el máximo entero positivo que divide a m y n. Así el máximo común
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 común 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 común 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 máximo común divisor de 30 y 105, mcd(30, 105) es
igual a 15.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 96 -
3.4 MEDICION Y CIFRAS SIGNIFICATIVAS.
Antes de empezar con la definición de errores , que es un concepto
inherente de los métodos numéricos, se presentaran los conceptos de
medición y cifras significativas.
DEFINICION.
Una medición 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 física se efectúan por medio de un instrumento de
medición.
La exactitud de una medición, depende del tipo de medición y del
instrumento de medición. Así si se desea medir una partícula 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
graduación que permita medir años luz.
Todas las medidas que realiza un instrumento , se reportan con cierto
grado de incertidumbre, por ejemplo las medidas de una hoja de papel
tamaño carta se reportan con un error de mm5.± , lo cual quiere decir
que las dimensiones de la hoja (21.6,27.9cm) solo los tres primeros
dígitos son significativos.
CIFRAS SIGNIFICATIVAS.
DEFINICION.
Una cifra significativa es cada uno de los dígitos que resultan de hacer
una medición, cuando la máxima incertidumbre no es mayor que la
mitad de la mínima unidad que puede ser medida con el instrumento de
medición utilizado
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 97 -
Los ceros no siempre son cifras significativas, , ya que pueden usarse
solo para ubicar el punto decimal. Así los números 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 numérico. Es común 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 tamaño carta , podríamos 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 medición solo asegura la exactitud de los
cuatro primeros dígitos, es decir que la superficie de la hoja se reporta
como 602.6 mm5.0± .
II.- Existen ciertos números tales como Π , l , 7 que representan
cantidades especificas que no se pueden expresar con un numero finito
de dígitos y solo se manejan aproximaciones como es el caso de
Π≅ 3.14159265 , a la eliminación que se hace del resto de cifras
significativas se le conoce como error de redondeo.
3.5 CONCEPTO DE PRECISION Y EXACTITUD.
Cuando se efectúan varias mediciones con un mismo instrumento y
a un mismo objeto, se distinguen dos cosas en los resultados
obtenidos:
1.- La repetición de las mediciones dentro de un rango de valores
2.- La cercanía de las mediciones a un valor , que de alguna forma
sabemos o consideramos como real.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 98 -
DEFINICION DE PRECISION
A la repetición de valores obtenidos de una medición se le conoce
como la precisión de la medida.
DEFINICION DE EXACTITUD
A la cercanía de las mediciones a un valor que consideramos como
el valor real se le conoce como exactitud.
Por ejemplo si la medición de la superficie de un circulo de radio
unitario la realizamos cinco veces , obteniéndose los valores siguientes:
3.141592653, 3.141592654,3.141592657,3.141592651,3.141592650,
todas las medidas tendrían la misma precisión 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 económico,
administrativo, o cualquier calculo científico 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
computación, sucede lo mismo, ya que ninguna computadora puede
almacenar un numero irracional.
DEFINICION
La diferencia que existe entre una cantidad real y su aproximación se
conoce de manera general como error.
Existen muchos tipos de errores(el tratamiento exhaustivo, y estadístico
de estos queda fuera del alcance del presente texto), dentro de los mas
importantes para el análisis numérico, se encuentran :
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 99 -
El error de redondeo
El error de truncamiento
El error relativo
El error absoluto.
A continuación describiremos cada uno de ellos.
ERROR DE REDONDEO
DEFINICION
El error de redondeo es el que resulta al suprimir o desechar un
conjunto de dígitos , 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
n
REPRESENTACION APROXIMACION ERROR
1/7 142857.0 0.142857 1/7000000
LN 2 0.693147180559945
30941
0.693147 0.000000180
559
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 100 -
3 2 1.259921049894873
164
1.25992 0.000001049
849
e 2.718281828459045
235
2.71828182845904
5
0.000000000
00000023536
ERROR DE TRUNCAMIENTO
Definición:
El error de truncamiento es el error que aparece cuando un procedimiento
infinito, se hace finito.
El ejemplo clásico del error de truncamiento, es cuando se corta la expansión
de una función , en series de potencias.
La expansión de una función en series de potencias de Taylor esta dada
por:
k
k
k
xxkxf
xf )(!
)()( 0
0
0 −= ∑∞
=
………..3.2
Como se ve esta expansión, es infinita lo cual no es practico, para calcular
un valor de la función, de ahí que la serie se trunca , lo cual produce
automáticamente un error ,el cual es precisamente el llamado error de
truncamiento. póngase como ejemplo, el calculo del valor de e1.5
ex = ........2462
1432
+++++xxxx ………3.3
Aquí se tendrán diferentes errores, dependiendo del numero de términos
usados para calcular la exponencial, lo cual se muestra en la siguiente tabla:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 101 -
Valor Real
e1.5
Numero de términos de la
expansión
Resultado aproximado
Error relativo
obtenido
4.481688927 1 1 0.776869
2 2.5 0.442173
3 3.625 0.191151
4 4.1875 0.0656405
5 4.39843 0.0185756
6 4.46171 0.00445591
El error de aproximación para cada expansión, esta dado por la expresión:
Rn≤)!1(
))(( 11
+− ++
naxtf nn
……………….3.5
Donde Rn es el residuo que queda después del n esimo termino, fn+1(t) es la
n+1 derivada paramétrica de la función.
Que para este caso el mayor numero de términos es 6 así que:
R6 ≤ ===!7!7
5.1!7
777 xeexettt
0.0151932……………….3.6
Como se vera el error esperado es precisamente mayor que para el 6 termino.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 102 -
ERROR ABSOLUTO.
DEFINICION:
El error absoluto es el valor absoluto de la diferencia entre el valor real y el
valor aproximado.
Es decir:
€abs= or VV − …………………….. 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 iteración
anterior.
Ejemplo: ln(3.5)= 1.25276 la aproximación usando una expansión de
Taylor con 6 términos es 14.3489, por tanto el error absoluto es:
13.096114.3489- 1.25276 =
ERROR RELATIVO.
DEFINICION.
El error relativo es el cociente entre el error absoluto y el valor real.
Es decir que :
€r= r
or
VVV − ………………….3.8
donde como en la definición 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 iteración.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 103 -
Ejemplo : Se calculara el error relativo cometido al calcular el coseno de
60 , respecto al calculado por medio de 6 términos de una expansión en
series de Mc Claurin.
Cos(6)= 0.960170, la expansión con 6 términos proporciona el valor -0.733121
Así €r = 960170.0
733121.0960170.0 + = 1.76353
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 cálculos esta dado por la
expresión Eror de redondeo = 5 X 10-n-1 donde n es el numero de decimales que
se están considerando.
Como ejemplo al redondear el error relativo del calculo anterior del coseno se
tiene lo siguiente.
Cantidad Redondeado a
decimales
Cantidad
redondeada
Error cometido
1.76353 4 1.7635 5X10-5
3 1.763 5X10-4
2 1.76 5X10-3
A continuación se presentan una serie de ejercicios , que permiten al
estudiante reafirmar lo visto hasta ahora.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 104 -
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 función senxex , cual es el error de redondeo, que se comete al
calcular el valor de la función en x = 6.33 y redondear a 5 decimales.
4.- Cual es el error máximo que se comete cuando se redondea un numero
a 7 decimales.
Errores de truncamiento
5.- Dada la función senxe6 , determine el error de truncamiento , cuando esta se
evalúa en el punto 3.24, con los 6 primeros términos de la serie de Mc
Claurin .
6.- Cual es el error Máximo permisible cuando la función 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 expansión al 50
termino de una función f(x) , cual seria el máximo error cometido con esta
expansión.
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
función es 4.18x10 4 , en el punto 2.3456
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 105 -
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 función.
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 . Métodos Numéricos para Ingenieros
, Mc Graw Hill Interamericana,2003.
Mathews H, John , Fink D. Kurtis . Métodos Numéricos con MATLAB .
Pearson Educación , S.A. España ,2000
Kunz, Kaiser S. (1957). Numerical Análisis , Mc Graw – Hill, Nueva Cork.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 106 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 107 -
INTRODUCCION A LA TEORIA DE ECUACIONES
DEFINICIONES BASICAS
ECUACIONES POLINOMIALES
ACOTACION DE RAICES REALES
METODOS DE SOLUCION NUMERICA DE ECUACIONES
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 108 -
SOLUCION NUMERICA DE ECUACIONES 4.0 DEFINICIONES BASICAS
Definición de una ecuación
DEFINICION
Una ecuación es una expresión Matemática, que contiene términos
algebraicos , funciones trigonometricas, funciones exponenciales,
logarítmicas, etc, números y un signo de igual Ejemplo: 3x2+6x-2=1
Existen diferentes tipos de ecuaciones , dependiendo de los
términos, 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 logarítmicas, 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
DEFINICION
Una raíz de una ecuación es un numero que satisface le ecuación, es decir
que si esta igualada a cero, una raíz será el numero real o complejo que la
hace cero Ejemplo la raíz de la ecuación 5x-1=0 será 51
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 109 -
Una ecuación lineal siempre tendrá como raíz un solo numero real.
Las ecuaciones no lineales pueden tener normalmente mas de una
raíz .
Las raíces de las ecuaciones no lineales pueden ser reales o
complejas.
En este momento es importante mencionar que una de las partes
importantes de los métodos numéricos es el calculo aproximado de las
raíces de ecuaciones que no se pueden obtener por métodos
algebraicos , los métodos mas conocidos son :
El método de bisecciones, el método de punto fijo, el método de
interpolación, el método de Newton Rhapson, que serán descritos
posteriormente. Todos los métodos mencionados anteriormente, tienen
la característica de que bajo ciertas condiciones , se aproximan a las
raíces de las ecuaciones , con un cierto error de aproximación , hay
también que considerar que hay ciertos métodos que tienen algunas
restricciones que dificultan su uso.
4.1 ANALISIS DE RAICES DE ECUACIONES POLINOMIALES. En el caso del análisis de raíces 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
continuación.
Teorema fundamental del álgebra Toda ecuación polinomial de grado mayor o igual a uno tiene al menos
una raíz. Es decir que el teorema fundamental del álgebra o TFA
asegura la existencia de al menos una raíz para cualquier ecuación
polinomial de grado mayor o igual a uno.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 110 -
Teorema del residuo El residuo de dividir el polinomio
Pn(x) = anxn+an-1xn-1+an-2xn-2+………+a0 de grado n 1≥ , entre x-b donde
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 raíz 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
división sintética, 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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 111 -
Ejemplo :
Tomando el polinomio anterior 4x5-2x3+1, se tiene :
4 0 2 0 0 1 2
_______8___ 16___36___72__144________
4 8 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
división de x3-3x+18 entre x+3 el residuo es cero.
SOLUCION DE UNA ECUACION DEFINICION
La solución de una ecuación es el numero, o conjunto de números
reales o complejos que , que al substituirlo en lugar de la variable
satisface la igualdad Ejemplo la solución de la ecuación
3x3+6x2+7x=0 tiene como solución { }0,3321,
3321 ii
+−−−
Como se podrá observar a partir de este momento, por cada raíz
compleja , que es solución de la ecuación, se tiene su conjugado.
Hay que observar que el numero de total de raíces 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
raíces.
La pregunta es, del numero total de raíces que tiene un polinomio,
cuantas se pueden esperar que sean Reales y cuantas complejas,
además de las reales cuantas podrían ser positivas y cuantas serán
negativas?. Esta pregunta se puede contestar con la regla de los signos
de Descartes.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 112 -
REGLA DE LOS SIGNOS DE DESCARTES. La ecuación polinomial de grado n
Pn(x) = anxn+an-1xn-1+an-2xn-2+………+a0 con an≠0 , en donde todos sus
coeficientes son números reales y a0 ≠ 0 , es decir que el cero no es
una raíz de la ecuación, entonces:
1.- El numero de raíces 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 raíces 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 raíz real positiva. Haciendo
P5(-x)=-13x5-81x3+12x2-5x+27 vemos que tiene 3 cambios de signo ,
por lo tanto esperamos 3 raíces reales negativas o 1 raíz real negativa.
Raíces reales positivas Raíces reales negativas Raíces Complejas
0 3 2
0 1 4
Resolviendo para 13x5+81x3+12x2+5x+27=0
Se tiene : { 0.2995457166 - 0.6279304552·i , 0.2995457166 +
0.6279304552·i , 0.04804288559 - 2.483977456·i , 0.04804288559 +
2.483977456·i , -0.6951772044}, la solución presentada cumple
claramente con la regla de los signos de descartes, pues tiene 1 raíz
real negativa y 4 raíces reales complejas.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 113 -
Nótese como se dijo , cuando hay una raíz compleja, esta viene por
pares, es decir que para cada raíz compleja se tiene su conjugado.
4.2 SOLUCION DE ECUACIONES NO LINEALES. Sea que f(x) es una función continua, dígase que f:ℜ→ℜ . Se desea
calcular las soluciones de la ecuación f(x)=0 (4.1). Mas aun , se puede
considerar el caso f:ℜn→ℜn , donde n≥1. Problemas de este tipo
aparecen en la optimización de funciones y en la solución numérica de
sistemas no lineales.
4.3 MÉTODO DE APROXIMACIONES SUCESIVAS
El método de aproximaciones sucesivas consiste en generar funciones
convergentes, bajo un esquema iterativo, partiendo de la función
original, lo cual se soporta en el siguiente teorema :
TEOREMA DE CONVERGENCIA. La raíz, de cualquier sub. función extraída de una función f(x) ,
obtenida por una iteración convergente , es también una raíz de f(x).
Ejemplo de aplicación del teorema
Sea f(x)=5senx-3x, la sub función sen(x) tiene como raíz x=0, la cual
resulta ser también raíz de la función f(x)
DEFINICION
Un esquema iterativo en Métodos Numéricos , es una técnica
fundamental que consiste en repetir un proceso aritmético o algebraico ,
hasta que se obtiene un resultado.
Esta definición se aplica el proceso de iteración que consiste en
sustituir repetidamente en una expresión (o formula) el valor
previamente obtenido.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 114 -
En este método se requiere de una regla, formula o sub función g(x),
con la que se calculan los términos sucesivos , junto con un valor de
partida p0, esto produce una sucesión de valores {pk} obtenida
mediante el proceso iterativo pk+1=g(pk).
La sucesión se ajusta al siguiente patrón:
P0
P1=g(P0)
P2=g(P1)• •
P3=g(P2)P4=g(P3)P5=g(P4)P6=g(P5)
En una sucesión interminable de números , se dice que el esquema
iterativo converge , si los números 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.038199485·10-6 , 2.401003499·10-7 , - 1.149973172·10-8 ,
5.001856068·10 -9 , - 9.974187602·10-10 , 0}
Es decir que la raíz exacta se obtiene hasta el 9 valor.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 115 -
PUNTOS FIJOS.
DEFINICION
Un Punto fijo de una función g(x) es un numero real que P , tal que
P=g(P) .
Ejemplo: un punto fijo de la función g(x)=7sen(2x)-4x es cero porque
0=7sen(0)-4(0).
Geométricamente hablando, los puntos fijos de una función g(x) son los
puntos de intersección de la curva y = g(x) con la recta y=x
ITERACION DE PUNTOS FIJOS
DEFINICION
Una iteración de punto fijo es un esquema iterativo de la forma
pn+1=g(pn) para n=0,1,….
Ejemplo: sea la interacción convergente
P0=0.5 y Pk+1 =℮-pk para k=0,1,2,…
Calculando los diez primeros términos:
P1=℮-0.500000=0.606531
P2=℮-0.606531=0.545239 P3=℮-0.545239=0.579703
.
.
.
.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 116 -
La sucesión converge lo cual da :
......567143.0lim
=∞→n
Pn .
Lo que se ha obtenido es una aproximación de punto fijo de la función f(x)= ℮-x
EL MÉTODO DE APROXIMACIONES SUCESIVAS COMO
ITERACIÓN DE UN PUNTO FIJO
DEFINICION
El método de aproximaciones sucesivas, es el procedimiento que
permite obtener una aproximación a la solución de una ecuación,
mediante la iteración de un punto fijo.
A continuación se presenta un programa que calcula la raíz de una
ecuación , por el método 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 máximo de iteraciones’) end P=P’;
P9=℮-0.579703=0.567560 P10=℮-0.567560=0.566907
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 117 -
Para poder usar este programa es un requisito introducir la función g(x)
como un archivo.
Ejercicios:
Obtenga la solución , por el método 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 método de de Bisección tiene como base el Teorema de valor
Intermedio, el cual a la letra dice:
TEOREMA DE VALOR INTERMEDIO
Sea f(x) una función 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 función 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 método de bisección consiste en :
Sea f(x) una función 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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 118 -
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. Hágase n=n+1 , y regrese a 2
Ejemplo: Considere la función f(x)= x2+x-1 .Note como f(0)=-1 f(1)=1,
se tiene que existe una raíz de la ecuación f(x)=0 en el intervalo (0,1).
Aproximando esta raíz con el método de Bisección. Los resultados son:
N an bn cn f(an) f(bn) f(cn)
1 0 1 0.5 -1 1 0.25
2 0 0.5 0.25 -1 0.25 -
0.69
3 0.25 0.5 0.375 -
0.69
0.25 -
0.48
4 0.375 0.5 0.4375 -
0.48
0.25 -
0.37
5 0.4375 0.5 0.46875 - 0.25 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 119 -
0.37 0.31
La solución correcta a seis cifras significativas es 0.618034. Se puede ver
que el método de bisección es un poco lento. A continuación se presenta un
análisis del error.
ANALISIS DE ERROR .
Como f(a)f(b)≤0 , se sabe que existe un numero α€[a,b] tal que f(α)=0
Mediante Inducción Matemática 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 inducción matemática , se
obtiene que (bn- an)= )(2
11 abn −−
, n≥1 …………..(4.3)
Obsérvese que como α€[an,cn] o α€[cn,bn] se tiene que
)(21
nnnnnnn abcbacc −=−=−≤−α …………….(4.4)
Combinando (4.3) y (4.4) se tiene que 1),(21
≥−≤− nabc nn α (4.5)
Lo cual implica que cn→α según n→∞ . La convergencia en (4.5) es lo que se
conoce como convergencia lineal con razón de convergencia ½. De la
desigualdad (4.5) se puede estimar el numero de iteraciones necesarias
para obtener ≤∈−αnc . En particular si se requiere que ≤∈− )(21 abn ,
n )(log2 ∈− ab ………………….(4.6)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 120 -
Basándose en este análisis de convergencia se puede hacer las siguientes
observaciones.
• ¡ El método tiene convergencia segura! . Esto es dada la condición
inicial f(a)f(b)≤0 , el método converge a una raíz α en [a,b] . Esta
propiedad conocida como convergencia global , es una de las
características fuertes del método de Bisección y la mayoría de los
métodos no la poseen.
• El error en las aproximaciones generadas por el método se reduce a la
mitad en cada paso.
• La convergencia lineal , se caracteriza por la ecuación (4.5) , es lenta
(es decir se requiere, un gran numero de iteraciones para llegar a un
resultado correcto) comparada con otros métodos . Esto es así ya que
el método solo usa evaluaciones de la función y sus comparaciones.
CONCLUYENDO.
El método de bisección tiene limitaciones sobre otros métodos numéricos,
para obtener raíces de ecuaciones no lineales , sin embargo da
resultados aproximados para la simplicidad del algoritmo.
4.5 METODO DE NEWTON RAHPSON.
El método de Newton , como es conocido usualmente, requiere tener una
función diferenciable y de clase C1 . La recta tangente a f en el punto
(x0,f(x0)), esta dada por la ecuación y = ))(()( 00'
0 xxxfxf −+ .
Aproximando a f con la recta, y definiendo x1 como la intercepción en x de
la recta, es decir que x1=x0-)()(
0'
0
xfxf , con f´(x) ≠0 ………….(4.7)
El esquema recursivo para esta expresión es : ⎪⎩
⎪⎨⎧ −=+
0
'1 )()(
xxfxf
xxn
nnn , f’(xn)
≠0 , n≥0 …………………………………(4.8)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 121 -
Este método es una aplicación de una iteración de punto fijo.
El algoritmo en pseudo código para este método es
Para encontrar una raíz real de la ecuación f(x) = 0, proporcionar la función F(X) y su derivada DF(X) y los DATOS: Valor inicial X0, criterio de convergencia EPS, criterio de exactitud EPS1 y número máximo de iteraciones MAXIT. La raíz 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 MÉTODO NO CONVERGE A UNA RAÍZ" 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= anx0
n+1 +an-1x0n……a0;
df= an(n+1)x0n+an-1(n)x0
n-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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 122 -
1.8111 0.4111 1.5842 0.2269 1.5145 0.0697 1.5086 0.0060 1.5085 0.0000
Grafica de la funcion x5+4x4-3x-24
La raíz es 1.5085, la cual se alcanza a la 6 iteración
Ejercicios.
Calcule las raíces
1. x3+2x2+10x-20
2. 2x4-51x2+12x
3. 13x3+5x2-8
.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 123 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 124 -
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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 125 -
5.0 SISTEMA LINEAL DE ECUACIONES.
Un sistema lineal de n ecuaciones , con n incógnitas , se puede escribir
de la forma :
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
=++++∗••
=++++=++++
nnnnnnn
nn
nn
bxaxaxaxa
bxaxaxaxabxaxaxaxa
..........
....................
332211
22323222121
113132121|1
(5.1)
donde ai, bi €ℜ son dados y x1, x2,…..xn son desconocidos . Definiendo
las matrices y vectores:
Α=
nxnnnnn
n
n
aaa
aaaaaa
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
•••
..................
..........................
21
22221
11211
X =
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
nx
xx
::
:
2
1
b =
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
nb
bb
::
:
2
1
(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 incógnitas o variables. El vector b
se conoce como el vector de términos independientes.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 126 -Sistemas de Ecuaciones
Inconsistentes Consistentes
Lo que se pretende hacer en este capitulo es desarrollar métodos
numéricos y sus algoritmos , que permitan resolver los sistemas lineales
que se sabe tienen solución, lo cual ha sido establecido , por un análisis
con las herramientas del álgebra lineal.
Haciendo un resumen de los sistemas lineales y las características, para
que estos tengan solución, se puede enunciar:
Sea Ax=b un sistema lineal de ecuaciones
Cuando un sistema tiene al menos una solución se dice que , el
sistema es consistente, en caso contrario es inconsistente.
Se dice que el sistema es homogéneo cuando b = 0, es decir el
vector b es el vector nulo. Estos sistemas siempre tienen solución,
por lo tanto estos sistemas son consistentes. Las solución trivial de
estos sistemas es también X = 0
Si b ≠ 0 se dice que el sistema es no homogéneo.
Un sistema no homogéneo es consistente (tiene al menos una
solución ) si rango(A) = rango(A|b)
Los sistemas no homogéneos son consistentes con una solución si
rango(A)=n
Es consistente con mas de una solución si: rango(A) =
rango(A⎢b)= r<n
Si b=0 , el sistema siempre es consistente , ya que X=0 (Solución
trivial) es siempre una solución y esta será única si .rango(A)=n
Si b=0 , el sistema tendrá solución no trivial si : rango(A) =r<n . En
cuyo caso un numero infinito de soluciones existen.
Si b≠0, el sistema es inconsistente ( no existe solución) si:
rango(A⎢b)>rango(A)
De forma grafica se puede clasificar los sistemas lineales en
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 127 -
Ejemplos:
1.- Sistema con soluciones infinitas:
x1+4x3+x5=-3 x2-2x3-x5=1
x4=2
La matriz aumentada es
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛−−
−
2:010001:10210
3:10401
Resolviendo el sistema por eliminación Gaussiana se obtienen las
soluciones:
2.- Sistema con solución única.
X1= -4s-r-3
X2= 2s+r+1 X3= s X4= 2 X5= r
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 128 -
⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
−−−−−−
−−
−
:1:6252:3211:223
1:2:
11
10
21
La matriz aumentada es:
y la solución del sistema por el método de
eliminación gaussiana se tiene :
3.- Sistema inconsistente :
-x+z = -2
2x-y+z = 1
-3x+2y-2z = -1
x-2y+3z =-2
5x + 2y +6z = -1
X = 1
Y= 0
Z = -1
x1+2x3-2x4 = 1
-x1+x2+x4 =-2
X2+2x3-x4 =1
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 129 -
La matriz aumentada es :
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−−−
−
:1:12102:10111:2201
por medio del procedimiento de eliminación gaussiana se tiene:
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−−
−
:2:0000
1:12101:2201
Como la ultima fila contiene ceros del lado izquierdo y un numero
diferente de cero del lado derecho . El sistema es inconsistente.
A continuación 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
También se presenta un algoritmo para el método de eliminación de
Gauss Jordan. Método rápido.
clear all clc %El metdodo de eliminación de Gauss Jordan A= [ ]mxn
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 130 -
B = [ ]nxr X=A/B; disp(‘El valor de la matriz es igual a:’); disp([x]);
Se presenta el algoritmo del método de eliminación de Gauss Jordán
largo :
clear all clc %El método de eliminación largo de Gauss Jordán 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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 131 -
aplique el algoritmo descrito para resolver el sistema
5.1 NORMA DE UNA MATRIZ Y MATRICES CONVERGENTES
NORMA DE UNA MATRIZ
La norma de una matriz es un numero real positivo ||A|| que cumple con
las siguientes características.
Sean A y B matrices, para las cuales están definidas las operaciones
de Suma, y producto, entonces:
a) ||A|| ≥0 ||A|| = 0 si A = 0
b) ||αA|| = |α| ||A|| (con α un escalar) ||-A|| =||A||
c) ||A+B|| ≤||A||+||B||
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 que
||A||≤||B||
Defínase algunas normas de A =(aij)
de orden arbitrario. Se
definen tres normas (dada la
definición de norma se pueden
3x2-6x3-4x4-3x5=-5
-x1+3x2-10x3-4x4-4x5=-2
2x1-6x2+20x3+2x4+8x5=-8
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 132 -
definir muchas mas).
1. ||A||m= ∑j
ijai
max
2. ||A||m = ∑i
ijaj
max
3. ||A||k =2
,∑
jiija
Ejemplos:
Se calcularan las tres normas para la siguiente matriz:
A3x3 =
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
−
−
520213421321
a) ||A||m = ∑j
ijai
max = max(1+ 2 +
213 ,4+3+
21 , 0+2+5)=
max( 229+ ,
215 ,7) =
215
b) ||A||m = ∑i
ijaj
max = max (1+4+0, 2 +3+2, 5
21
213 ++ ) =
max(5,5+ 2 ,9) = 9
c) ||A||k =2
,∑
jiija = )254
41916
44921( +++++++ =
4578
Como se vera la norma mas grande es la ||A||k
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 133 -
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 método numérico.
Para asegurar que una matriz se puede usar en un proceso iterativo, se
requiere que :
0lim
=∞→n
An
Donde 0 es la matriz nula de orden igual a A . Cualquier matriz que
satisface esta condición, se dice que es una matriz convergente .
TEOREMA DE CONVERGENCIA DE MATRICES:
La matriz Amxn es convergente , es decir 0lim
=∞→n
An
si y solo si , todos
los valores propios de A en valor absoluto , son menores que uno.
(Esta condición se da como ρ(A)<1, donde ρ(A) es el radio espectral de
la matriz y esta, definido como: ρ(A) = iiλ
max, donde λi son los
valores propios de A ) .
COROLARIO La matriz A es convergente si para alguna norma se
tiene que 1≤A .
Ejemplo de matriz convergente.:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 134 -
A =
⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
−−
−
−
814
812
811
13
191
811
271
271
; se puede observar que esta matriz tiene una
norma de 811 , ya que
811 <1 , lo cual proviene
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−−−
−
42181279133
811
Fácilmente se puede comprobar que 0lim
=∞→
nAn
5.3 METODOS ITERATIVOS PARA RESOLVER SISTEMAS LINEALES DE ECUACIONES , CUYA MATRIZ DE COEFICIENTES TENGA UNA NORMA MENORA A UNO
METODO DE JACOBI:
El método de Jacobi o método de desplazamientos simultáneos, es un
método que busca una solución para el sistema lineal de ecuaciones de
la forma: AX-b = 0…….. (5.31) , el cual es satisfecho por la ecuación
vectorial : X = BX+c, …… (5.32) ,es decir que la expresión sea
también una solución de la ecuación vectorial anterior. El esquema
iterativo para esta ecuación es : X(k+1) = BXk+c con k =1,2,3…..(5.33)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 135 -
Donde Xk=[x1k,x2
k,x3k,………….]t ………(5.34) es el vector de
soluciones. Este método, parte de un vector inicial X(0), como primera
aproximación al vector solución X .
Para que el vector X k converja a la solución X. se requiere que xjm , con
1≤j≤n se aproximen tanto a xj , 1≤j≤n que todas las diferencias
jm
j xx − sean menores que un valor previo, y que se conserven
menores para todos los vectores siguientes de la iteración. Es decir que
jm
j xxm
=∞→
lim 1≤j≤n (5.35)
Sea entonces:
333232131
223222121
113212111
baxaxabaxaxabaxaxa
=++=++=++
despejando x1 de la primera ecuación, x2 de la segunda ecuación y x3
de la tercera se tiene:
x= =⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
3
2
1
xxx
33
3
33
232
33
1313
22
2
22
323
22
1212
11
1
11
313
11
2121
ab
axa
axa
x
ab
axa
axa
x
ab
axa
axa
x
+−−
=
+−−
=
+−−
=
Lo cual queda en notación matricial:
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−
−−
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
33
3
22
2
11
1
3
2
1
33
32
33
31
22
23
22
21
11
13
11
12
3
2
1
*
0
0
0
ababab
xxx
aa
aa
aa
aa
aa
aa
xxx
(5.36)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 136 -
Una vez que se tiene la expresión 5.36 se propone un vector inicial X0 que puede ser el vector 0, o algún otro.
Se comienzan pues las iteraciones:
En la primera iteración teniendo como X0 = 0
Xk=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
13
12
11
xxx
=
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
33
3
22
2
11
1
ababab
(5.37)
El esquema iterativo general es :
Xk+1=
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−
−−
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
+
+
+
)(1
)(1
)(1
XX
X
332131333
323121222
313212111
1k
1k
1k
kk
kk
kk
xaxaba
xaxaba
xaxaba
(5.38)
Que también se puede escribir como:
Xik+1= - niparaxab
a
n
ijj
kjiji
ii
≤≤⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+− ∑
≠=
1,11
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 137 -
Ejemplo :
Resolver por el método de jacobi:
13131313
43
432
321
21
=+−=−+−=−+−=−
xxxxxxxx
xx
Se puede ver que este sistema se puede trabajar con un método
iterativo porque tiene una norma de 31 , lo que también se puede decir
que es diagonalmente dominante, es decir que ∑≥j
ijii aa .
Despejando x1 de la primera ecuación, x2 de la segunda ecuación y así
sucesivamente se tiene :
.
31
3
31
33
31
33
31
3
34
423
312
21
+=
++=
++=
+=
xx
xxx
xxx
xx
Aplicando el método de jacobi con X0=0 para la primera iteración se
tiene:
X1=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
31313131
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 138 -
Aplicando el esquema iterativo, se obtiene la siguiente tabla:
k X1k
X2k
X3
k
X4k
0 0.0000 0.0000 0.0000 0.0000
1 0.33333 0.33333 0.33333 0.33333
2 0.44443333 0.55553333 0.55553333 0.44443333
3 0.48147778 0.70368889 0.70368889 0.48147778
4 0.49382593 0.80245932 0.80245932 0.49382593
5 0.5144234 .80245926 .80245926 0.5144234
6 0.5324667 0.80245920 0.80245920 0.5324667
7 0.5534689 0.80214876 0.80214876 0.5534689
8 0.5725346 0.8019856 0.8019856 0.5725346
9 0.5938562 0.800987 0.800987 0.5938562
10 0.5997677 0.800599 0.800599 0.5997677
El algoritmo en Matlab para el método de Jacobi es:
%Método 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 método K=K+1; fprintf(‘%2d’,K) for i=1:n suma=0; for j=1:n
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 139 -
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. Métodos Numéricos para ingenieros. 4a Edicion. McGraw-Hill Interamericana Mexico 2002
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 140 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 141 -
INTERPOLACION
DEFINICIONES BASICAS
INTERPOLACION DE NEWTON
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 142 -
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 analítica de las funciones que
representa un proceso(ya sea administrativo, industrial, etc.), por tal motivo,
es necesario, que con la información con la que se cuenta, se puedan
obtener datos adicionales o valores intermedios aproximados, que permitan
construir un modelo mas adecuado , para describir la situación real.
6.0 DEFINICIONES BASICAS
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 143 -
Definición de INTERPOLACION
DEFINICION
La interpolación se entiende como el procedimiento para obtener , valores
intermedios de una lista o tabla de valores , que no los contiene.
Existen diferentes tipos de interpolación, a saber:……………(6.1)
Interpolación de Newton.
Interpolación de Lagrange.
Interpolación por Splines.
Cada tipo de interpolación requiere de cierta información particular , la cual
depende del tipo de proceso que se analiza , las cuales serán descritas a
continuación.
6.1 Interpolación de Newton.
La interpolación de Newton se aplica a procesos , cuyos intervalos de la
variable independiente son simétricos, es decir la longitud del intervalo entre
cada medición es la misma. Este tipo de interpolación es muy útil, cuando el
experimento es diseñado y controlado por el experimentador. Como
ejemplo se puede citar, el caso de un químico que esta llevando a cabo una
reacción química, y determina la concentración del producto cada 5 minutos
hasta que la reacción ha concluido. Aun cuando el químico, toma las
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 144 -
lecturas periódicamente cada 5 minutos, se puede requerir la concentración
del producto digamos a los 13 minutos, dato con el que no se cuenta, pues
los valores mas cercanos serán los de 10 y 15 minutos. Aquí es donde se
puede hacer uso de la interpolación de Newton.
Para poder efectuar una interpolación de Newton se requiere , introducir
algunas definiciones y conceptos adicionales.
Diferencias hacia delante
DEFINICION
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 concentración de un reactivo, respecto del tiempo, en una
reacción química.
Tiempo en
seg.
0 5 10 15 20 25
Concentración
en moles/litro
234 212 203 198 180 173
TABLA 6-0
Las diferencias hacia delante son:
Observación t(tiempo) C(concentración) ΔC1 ΔC2 ΔC3 ΔC4
1 0 234
212-234= -22
2 5 212 -9+22=13
203-212=-9 4-13=-9
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 145 -
3 10 203 -5+9=4 -8
198-203=-5 -13-4=-17
4 15 198 -18+5=-13 41
180-198=-18 11+13=24
5 20 180 -7+18=11
173-180=-7
6 25 173
TABLA 6-1
Las cuales representan las diferencias hacia delante.
Diferencias divididas
DEFINICION
Las diferencias dividas de primer orden son la diferencia entre dos valores
sucesivos de la variable independiente , divididos entre la longitud del
intervalo de medición..
Ejemplo: Se tiene una tabla de concentraciones de un reactivo en una
reacción química, cada 5 minutos en la forma:
Tiempo en
seg.
0 5 10 15 20 25
Concentración
en moles/litro
234 212 203 198 180 173
Las diferencias divididas se obtienen en la forma :
tc
ΔΔ
5234212 − =
-4.4
5212203− =
-1.8
5203198 − =
-1
5198180 − =
-3.6
5180173− =
-1.4
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 146 -
22
tc
ΔΔ
104.48.1 +− =
0.26
108.1.1 +− =
0.08
1016.3 +− =
-0.26
106.34.1 +− =
0.22
33
tc
ΔΔ
1552.016.0 − =
-0.012 15
16.052.0 −− =
0.0227 15
52.044.0 + =
-0.0027
44
tc
ΔΔ
20072.01360.0 +− =
-0.0005 20
1360.01920.0 − =
0.0013
55
tc
ΔΔ
250128.00112.0 + =
0.0001
Uniendo las dos tablas se tiene que:
Tiempo en
seg.
0 5 10 15 20 25
Concentración
en moles/litro
234 212 203 198 180 173
tcΔΔ
5234212 − =
-4.4
5212203− =
-1.8
5203198 − =
-1
5198180 − =
-3.6
5180173− =
-1.4
22
tc
ΔΔ
104.48.1 +− =
0.26
108.1.1 +− =
0.08
1016.3 +− =
-0.26
106.34.1 +− =
0.22
33
tc
ΔΔ
1526.008.0 − =
-0.012 15
08.026.0 −− = -
0.0227 15
26.022.0 − =
-0.0027
44
tc
ΔΔ
20012.00227.0 +− =
-0.0005 20
0227.00027.0 −− =
0.0013
55
tc
ΔΔ
250005.00013.0 + =
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 147 -
0.0001
Ordenando la tabla de forma vertical se tiene:
Ob t C tcΔΔ
22
tc
ΔΔ 3
3
tc
ΔΔ 4
4
tc
ΔΔ 5
5
tc
ΔΔ
1 0 234 -4.4 0.26 -0.012 -0.0005 0.0001
2 5 212 -1.8 0.08 0.0227 0.0013
3 10 203 -1 -0.26 -0.0027
4 15 198 -3.6 0.22
5 20 180 -1.4
6 25 173
TABLA 6-2
Las cuales representan las diferencias divididas.
POLINOMIOS DE NEWTON.
DEFINICION
Los polinomios de newton se obtienen a partir de la expresión
y(x)= ik
n
k
yksΔ⎟⎠⎞
⎜⎝⎛∑
=0
, donde la expresión s=.ii
i
xxxx−−
+1
pertenece al intervalo
x∈(xi,xi+1).y !
))!1((kks
ks −−
=⎟⎠⎞
⎜⎝⎛
a) Haciendo uso de las diferencias hacia delante.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 148 -
Se puede determinar el polinomio de Newton que representa los datos
experimentales de la tabla 6-0 :
A saber:
C(t)= 44
33
22
11
!4)!5/)((
!3)!5/)((
!2)!5/)((
!1)!5/)((
Ctt
Ctt
Ctt
Ctt
Δ⎟⎠⎞
⎜⎝⎛ −
+Δ⎟⎠⎞
⎜⎝⎛ −
+Δ⎟⎠⎞
⎜⎝⎛ −
+Δ⎟⎠⎞
⎜⎝⎛ −
b) Haciendo uso de las diferencias divididas.
Con los valores de la tabla 6-2 se puede determinar el polinomio que
representa la función de concentración 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 aproximación bastante buena.
A continuación se presenta un programa en Matlab para calcular las
diferencias divididas y el polinomio de aproximación.
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’ ;
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 149 -
% 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 Interpolación de Lagrange.
La interpolación de Lagrange es una de las interpolaciones mas útiles, en
integración Numérica, esta consiste en una representación de polinomios
de la función, a considerar.
Suponga que se dan N+1 puntos como:
x0 x1 …. xn
f(x0) f(x1) ….. f(xN)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 150 -
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 través de los N+1 puntos se puede escribir como:
y(x)= a0+a1x+a2x2+…….+anxn ---(6.2.1)
Es decir que la función y(x)= ∑=
n
jjj yxa
0)( , se expresa como una
combinación 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 incógnitas, que resulta de cada observación .
Lo que finalmente da, para el polinomio de Lagrange de orden N:
y(x)= nnnnn
n
n
n
n
n fxxxxxx
xxxxxxfxxxxxxxxxxxxf
xxxxxxxxxxxx
).().........)(().().........)((....
).().........)(().().........)((
).().........)(().().........)((
110
1101
12101
200
02010
21
−
−
−−−−−−
++−−−−−−
+−−−−−− ---
(6.2.2)
La ecuación anterior parece complicada, pero en realidad no es tan difícil,
incluso la memorización.
Apliquemos esta para resolver un problema químico clásico.
Las densidades del sodio para tres temperaturas, se dan en la tabla
siguiente:
Observación. i Temperatura Ti oC Densidad ρi Kg/m
3
0 94 929
1 205 902
2 371 860
Escribir el polinomio de Lagrange que se ajusta a los datos experimentales
y determinar la densidad para T= 2510 C.
Solución:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 151 -
Y(T)=
)860()205371)(94371(
)205)(94()902()371205)(94205(
)371)(94()929()37194)(20594(
)371)(205(−−
−−+
−−−−
+−−−− TTTTTT
(6.2.3)
Graficando esta expresión.
Como se vera el ajuste del polinomio a los datos experimentales
corresponde a una parábola, 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 expresión, se tiene entonces:
Y(T)=
)860()205371)(94371()205251)(94251()902(
)371205)(94205()371251)(94251()929(
)37194)(20594()371251)(205251(
−−−−
+−−−−
+−−−−
Lo cual da como resultado : y(251)= 890.5 kg/cm3. Esta aproximación tiene
un error de 5.53% , que es bastante chico.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 152 -
A continuación se presenta un pequeño programa en Matlab para la
interpolación 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);
%Formación 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 Interpolación de Splines cúbicos.
DEFINICION
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 153 -
x0 x1 x2 FIG 6.3.1 xk-1 xk
INTERPOLACION POLINOMIAL A TROZOS
Los Splines son polinomios que se ajustan a la mínima
cantidad de puntos sobre los datos experimentales. Con
diferentes tipos de cotas
La interpolación de Splines cúbicos, es una de las técnicas de ajustes de
curvas e interpolación mas poderosas que existen. Esta permite modelar y
ajustar datos experimentales que son heterogéneos. En esta técnica se
requiere un mínimo de tres puntos para trabajar. Para poder entender esta
técnica , se requiere haber entendido los conceptos de interpolación
polinomial a trozos.
6.3.1 Interpolación polinomial a trozos DEFINICION
La interpolación polinomial a trozos, se obtiene al dividir los
intervalos del conjunto de datos en sub. intervalos, lo mas
pequeño posible, y aplicar el método de interpolación de
Lagrange
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 154 -
La interpolación lineal a trozos consiste en utilizar líneas rectas entre los
puntos de la forma:
Sk(x)= 111
1+
++
+
−−
+−−
kkk
kk
kk
k yxx
xxy
xxxx 6.3.1
La cual tiene la forma de la línea recta , lo cual es un Spline lineal:
Sk(x)=yk+dk(x-xk)……. 6.3.2
Siendo dk=kk
kk
xxyy
−−
+
+
1
1
Este Spline lineal se puede escribir para toda la curva en la forma :
S(x)=
⎪⎪
⎩
⎪⎪
⎨
⎧
−+
−+−+
)(..
.
)()(
111
000
kkk xxdy
xxdyxxdy
……..6.3.3
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 xk≤x≤xk+1,
el valor de la función S(x) será:
S(x)= Sk(x)=yk+dk(x-xk)………6.3.4
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 155 -
Ejemplo : Escriba los splines lineales, para la función tabular :
i xi f(xi)
1 0 0.9162
2 0.25 0.8109
3 0.5 0.6931
4 0.75 0.5596
5 1.0 0.4055
di si
025.09162.08109.0
−− =-0.4212 0.8109-0.4212(x-0.25)
25.05.08109.06931.0
−− =-0.4712
0.6931-0.4712 (x-0.5)
5.075.06931.05596.0
−− =-0.534 0.5596-0.534 (x-0.75)
75.0.15596.04055.0
−− =-0.6164
0.4055-0.6164 (x-1)
a continuación se presenta la grafica de los splines lineales:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 156 -
6.3.2 Splines cúbicos.
DEFINICION
Supóngase que se tienen N+1 puntos de la forma
{(xk,yk)}Nk=0 cuyas abscisas están ordenadas de manera
creciente a=x0<x1<…..<xn =b. Se dice que la función S(x) es
un Spline cúbico si existen N polinomios cúbicos Sk(x),que se
pueden escribir en términos de coeficientes sk,0, sk,1,sk,2,y
sk,3 como :
I.- S(x)=Sk(x)= sk,0+ sk,1(x-xk)+sk,2(x-xk)2+ sk,3(x-xk)3
para x∈[xk,xk+1] y k =0,1,….,N-1,que verifican las siguientes
propiedades:
II.- Sk(x)=yk para k =0,1,….,N
III.- Sk(xk+1)=Sk+1(xk+1) para k = 0,1,….N-2
IV.- S’k(xk+1)=S’k+1(xk+1) para k = 0,1,….N-2
V.- S’’k(xk+1)=S’’k+1(xk+1) para k = 0,1,….N-2
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 157 -
En la interpolación de Splines cúbicos, se construye una función cúbica
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 ecuación 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 función f(x) de valor real ,ya sea en
forma tabular o analítica en el intervalo [a,b] , con a=x0<x1<x2<…..<xn=b.
Se construye una función 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 p’i(xi)=f’(xi) y pi’(xi+1)=f’(xi+1) i=0,1,…,n-1
6.3.6. Así que finalmente el spline cúbico:
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 cúbicos 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:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 158 -
1.5)2.05.0(30.6223
21 =−−=+⎜⎜⎝
⎛⎟⎟⎠
⎞+ mm
5.10))5.0(0.1(30.12232 21 −=−−−−−=⎟⎠⎞
⎜⎝⎛ ++ mm
Resolviendo m1=2.25 m2=-3.72, tomando los valores de las tablas para
los coeficientes m0=3(0.5-0.2)-252.2 =-0.36, m3=3(-1.0+0.5)-
272.3− =0.36.
Con estos los splines cúbicos son:
S0(x)=0.48x3-0.18x2+0.2x 0≤x≤1
S1(x) =-1.04(x-1)3+1.26(x-1)2+1.28(x-1)+0.5 1≤x≤2
S2(x)=0.68(x-2)3-1.86(x-2)2+0.68(x-2)+2.0 2≤x≤3
Graficando los splines se tiene:
A continuación se presenta un programa que construye y determina el splin
cúbico ,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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 159 -
%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;
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 160 -
S(k+1,4)=Y(k+1);
end
Ejemplo de una corrida del programa anterior.
Determinación de los coeficientes de los splines cúbicos, 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 cúbicos ,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 cúbico 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 cúbico extrapolada que pasa por los puntos (-3,2),(-
2,0),(1,3) y (4,1)
4.- Determine el Spline cúbico con terminación parabólica que pasa por los
puntos (-3,2),(-2,0),(1,3) y (4,1).
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 161 -
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.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 162 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 163 -
AJUSTE DE CURVAS
INTRODUCCION AL AJUSTE DE MINIMO CUADRADOS.
ERROR ESTÁNDAR EN LA ESTIMACIÓN
COEFICIENTE DE DETERMINACIÓN
COEFICIENTE DE CORRELACIÓN
MODELO DE REGRESIÓN LINEAL CON EL USO DE MATRICES
REGRESIÓN LINEAL MÚLTIPLE
ESTIMACIÓN DE LOS COEFICIENTES.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 164 -
7.0 AJUSTE DE CURVAS. DEFINICION.
El ajuste de curvas consiste en buscar una función, de tipo polinomial, que
se ajuste a los datos experimentales presentados
El método mas conocido es el método de los mínimos cuadrados.
7.1 Métodos de mínimos cuadrados.
El procedimiento mas objetivo para ajustar una recta a un conjunto de datos
presentados en un diagrama de dispersión se conoce como "el método de
los mínimos cuadrados". La recta resultante presenta dos características
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 mínima la suma de los cuadrados de dichas desviaciones. Ninguna
otra recta daría una suma menor de las desviaciones elevadas al cuadrado
∑ (Yー - Y)² = 0 (mínima).
El procedimiento consiste entonces en minimizar los residuos al cuadrado
Ci²
Re emplazando nos queda
La obtención de los valores de a y b que minimizan esta función es un
problema que se puede resolver recurriendo a la derivación parcial de la
función en términos de a y b: llamemos G a la función que se va a
minimizar:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 165 -
Tomemos las derivadas parciales de G respecto de a y b que son las
incógnitas y las igualamos a cero; de esta forma se obtienen dos
ecuaciones llamadas ecuaciones normales del modelo que pueden ser
resueltas por cualquier método ya sea igualación o matrices para obtener
los valores de a y b.
Derivamos parcialmente la ecuación respecto de a
Primera ecuación normal
Derivamos parcialmente la ecuación respecto de b
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 166 -
Segunda ecuación normal
Los valores de a y b se obtienen resolviendo el sistema de ecuaciones
resultante. Veamos el siguiente ejemplo:
En un estudio económico se desea saber la relación entre el nivel de
instrucción de las personas y el ingreso.
EJEMPLO 1 Se toma una muestra aleatoria de 8 ciudades de una región geográfica de
13 departamentos y se determina por los datos del censo el porcentaje de
graduados en educación 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 + b∑x
∑xy = a∑x + b∑x²
Debemos encontrar los términos de las ecuaciones
∑y, ∑x, ∑xy, ∑ x² Por tanto procedemos de la siguiente forma:
Y X XY X²
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 167 -
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 ecuación 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 ecuación normal
43.5 = 8a + 89.8 (0.20477) 43.5 = 8a + 18.3880 43.5 - 18.3880 = 8a
25.1120 = 8a
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 168 -
Tenemos entonces que los coeficientes de regresión son : a = 3.139 y b =
0.20477. Por tanto la ecuación de regresión nos queda:
Significa entonces que por cada incremento en una unidad en X el valor de
se aumenta en 0.20477
Esta ecuación 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 también se pueden obtener de la siguiente forma:
partiendo de las ecuaciones normales tenemos:
Si dividimos todos los términos de la ecuación (1) entre n nos queda:
Tenemos entonces que el primer termino es el segundo termino es la
incógnita a y el tercer termino es la incógnita b multiplicada por por tanto
nos queda:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 169 -
entonces
Reemplazando a en la ecuación (2) tenemos
a = 5.4375 – 0.20477 (11.2250) = 5.4375 – 2.2985 = 3.139
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 170 -
Se debe tener presente la diferencia entre el valor de obtenido con la
ecuación de regresión y el valor de Y observado. Mientras es una
estimación y su bondad en la estimación depende de lo estrecha que sea la
relación entre las dos variables que se estudian; Yー es el valor efectivo,
verdadero obtenido mediante la observación 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 ecuación de
regresión
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 ecuación el porcentaje de graduados obtenemos un
estimado de
Gráficamente lo anterior se puede mostrar así:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 171 -
Claramente se observa en la gráfica que hay una diferencia entre el valor
efectivo de Yー y el valor estimado; esta diferencia se conoce como error en
la estimación, este error se puede medir. A continuación se verá el
procedimiento.
7.2 Error estándar en la estimación . El error estándar de la estimación designado por sYX mide la disparidad
"promedio" entre los valores observados y los valores estimados de . Se
utiliza la siguiente expresión.
Debemos entonces calcular los valores de para cada ciudad sustituyendo
en la ecuación los valores de los porcentajes de graduados de cada ciudad
estudiada.
Y X
4.2 7.2 4.6 -0.4 0.16
4.9 6.7 4.5 0.4 0.16
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 172 -
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 precisión con que la ecuación de regresión,
describe la relación entre las dos variables. Este error estándar 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 serán decenas de miles de pesos, razón 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 relación entre las variables.
Coeficiente de determinación.
El cambio de la variable Y generalmente depende de muchos factores, en
ocasiones, difíciles de identificar; con el modelo lineal simple, sólo tenemos
presente uno. Por ejemplo, en nuestro caso la mediana del ingreso
depende no sólo del porcentaje de graduados en el nivel superior, que es,
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 173 -
el factor que tenemos presente, pueden entrar a jugar factores tales como,
la distribución de la edad en la población, la distribución por sexo en la
población, la industrialización de la ciudad, el numero de universidades y
muchos otros.
El coeficiente de determinación mide o interpreta la cantidad relativa de la
variación que ha sido explicada por la recta de regresión, es decir, la
proporción 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 ecuación de
regresión, en el ejemplo es el porcentaje de graduados en el nivel superior
en cada ciudad).
Para el ejemplo el Coeficiente de determinación va a medir la proporción
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 análisis de regresión:
La diferencia entre cada valor de Yー observado y media se denomina
variación de Y.
La diferencia entre estimado y media , es la variación tenida en cuenta
por la ecuación de regresión, razón por la cual se denomina variación
explicada de Y.
La diferencia entre Yー observado y estimado, son variaciones
consideradas debidas a factores diferentes al tenido presente por la
ecuación de regresión por eso se llama: variación no explicada de Y.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 174 -
La diferencia entre Yー observado y estimado, son variaciones
consideradas debidas a factores diferentes al tenido presente por la
ecuación de regresión por eso se llama: variación no explicada de Y.
La sumatoria de las diferencias en cada una de las formas de variación la
podemos representar así:
Gráficamente esta relación se puede representar así:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 175 -
Se dijo anteriormente, que el coeficiente de determinación es la proporción
de cambio explicado en Y, por cambio en X, es decir, la proporción que
representa la variación explicada de la variación total. Recuerde una
proporción es la relación de una parte con el total, por tanto, el coeficiente
de determinación será:
En otras palabras el coeficiente de determinación es la relación entre la
variación explicada y la variación 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
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 176 -
43.5 13.271 11.78
Generalmente esta proporción se expresa como porcentaje por tanto
podemos decir que
r² = 88.76%
como conclusión podemos decir que el 88.76% de la variación en el ingreso
mediano de las ciudades de la muestra esta relacionada o explicada por la
variación en el porcentaje de graduados en educación Superior en cada
ciudad.
Coeficiente de correlación Este Coeficiente como ya se dijo mide la fuerza de la relación entre las
variables. El coeficiente tiene el signo que tiene b y su valor estará
El signo menos en el índice significa una relación negativa y
un signo más una correlación positiva. El coeficiente se obtiene sacando la
raíz cuadrada al coeficiente de determinación y se simboliza con "r".
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 177 -
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 continuación se da, a modo de orientación , como podrían interpretarse
los valores de r (positivo o negativo)
0.0 a 0.2 Correlación muy débil, despreciable
0.2 a 0.4 Correlación débil. bajo
0.4 a 0.7 Correlación moderada
0.7 a 0.9 Correlación fuerte, alto, importante
0.9 a 1.0 Correlación muy fuerte, muy alto
La correlación entre los valores de dos variables es un hecho. El que lo
consideremos satisfactorio o no, depende de la interpretación. Otro
problema que representa la correlación es cuando se pregunta si una
variable, de algún modo causa o determina a la otra. La correlación no
implica causalidad. Si las variables X e Y están 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 combinación de todas estas
razones; o puede ser que la relación sea una coincidencia.
7.3 Modelo de regresión lineal con el uso de matrices.
Al ajustar un modelo de regresión lineal múltiple, en particular cuando el
número de variables pasa de dos, el conocimiento de la teoría matricial
puede facilitar las manipulaciones matemáticas 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 ecuación
yi = b 0 + b 1x1i +b 2x2i +….+ b kxki +e i
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 178 -
Este modelo en esencia representa n ecuaciones que describen cómo se
generan los valores de respuesta en el proceso científico. Con el uso de la
notación matricial, podemos escribir la ecuación
y=Xb + e
donde
Entonces la solución de mínimos cuadrados para la estimación de b que se
ilustra en la sección Estimación de coeficientes, "Regresión lineal múltiple"
implica encontrar b para la que
SSE = (y - Xb)'(y - Xb)
se minimiza. Este proceso de minimización implica resolver para b en la
ecuación
No presentaremos los detalles relacionados con las soluciones de las
ecuaciones anteriores. El resultado se reduce a la solución de b en
(X'X)b = X'y
Nótese la naturaleza de la matriz X. Aparte del elemento inicial, el i-ésimo
renglón representa los valores x que dan lugar a la respuesta yi. Al escribir
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 179 -
y
las ecuaciones normales se pueden escribir en la forma matricial
AB=g
Si la matriz A es no singular, podemos escribir la solución para el
coeficiente de regresión como
b = A-1g =(X’X)-1X’y
De esta forma se puede obtener la ecuación de predicción o la ecuación de
regresión al resolver un conjunto de k + 1 ecuaciones con un número igual
de incógnitas. Esto implica la inversión de la matriz X'X de k + 1 por k + 1.
Las técnicas para invertir esta matriz se explican en la mayoría 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 regresión múltiple, paquetes que no sólo imprimen
estimaciones de los coeficientes de regresión, sino que también
proporcionan otra información relevante para hacer inferencias respecto a
la ecuación de regresión.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 180 -
Ejemplo 1 Se midió el porcentaje de sobre vivencia de cierto tipo de semen animal,
después 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 8
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 regresión lineal múltiple para los datos dados.
SOLUCIÓN:
Las ecuaciones de estimación de mínimos cuadrados, (X'X)b = X'y, son
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 181 -
=
De los resultados de una computadora obtenemos los elementos de la
matriz inversa
y después, con el uso de la relación b = (X’X)-1 X’y, los coeficientes
estimados de regresión son
b0= 39.1574, b1 = 1.0161, b2 = -1.8616, b3 = -0.3433.
De aquí nuestra ecuación de regresión 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
dispersión de los datos que se obtienen de un experimento que da n pares
de observaciones de la forma {(xi, yi); i = 1, 2, .... n}.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 182 -
=
Al resolver estas r + 1 ecuaciones, obtenemos las estimaciones b0, b1,.....,
br y por ello generamos la ecuación de predicción de regresión polinomial
El procedimiento para ajustar un modelo de regresión polinomial se puede
generalizar al caso de más de una variable independiente. De hecho, el
estudiante de análisis de regresión debe, en esta etapa, tener la facilidad
para ajustar cualquier modelo lineal en, digamos, k variables
independientes. Suponga, por ejemplo, que tenemos una respuesta Y con k
= 2 variables independientes y se postula un modelo cuadrático del tipo
yi = b 0 + b 1x1i + b 2x2i +b 11x21i+ b 22x2
2i+b 12x1i x2i+e I
donde yi, i = 1, 2, ..., n, es la respuesta para la combinación (x1i, x2i) de las
variables independientes en el experimento. En esta situación n debe ser al
menos 6, pues hay seis parámetros a estimar mediante el procedimiento de
mínimos cuadrados.
Además, como el modelo contiene términos cuadráticos en ambas
variables, se deben usar al menos tres niveles de cada variable.
El lector debe verificar con facilidad que las ecuaciones normales de
mínimos cuadrados (X'X)b = X'y están dadas por:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 183 -
=
Ejemplo 2 Los siguientes datos representan el porcentaje de impurezas que ocurren a
varias temperaturas y tiempos de esterilización durante una reacción
asociada con la fabricación de cierta bebida.
Temperatura, x1 (°C) Tiempo de esterilización, x2
(min) 75 100 125
15 14.05 10.55 7.55
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 184 -
14.93 9.48 6.59
20 16.56 13.63 9.23
15.85 11.75 8.78
25 22.41 18.55 15.93
21.66 17.98 16.44
Estimar los coeficientes de regresión en el modelo
m Y|x = b 0 + b 1 x1 +b 2 x2+b 11 x12+b 22 x2
2+ ……..+ b 12 x1 x2
SOLUCIÓN:
b0 = 56,4668 b11 =0,00081
b1 = -0,36235 b22 = 0,08171
b2 = -2,75299 b12 = 0,00314
y nuestra ecuación de regresión estimada es
Muchos de los principios y procedimientos asociados con la estimación de
funciones de regresión polinomial caen en la categoría de la metodología
de respuesta superficial, un conjunto de técnicas que los científicos e
ingenieros han utilizado con bastante éxito en muchos campos. Problemas
como la selección de un diseño experimental apropiado, en particular para
casos donde hay un número grande de variables en el modelo, y la elección
de las condiciones "óptimas" de operación sobre x1,x2,.....,xk a menudo se
aproximan a través del uso de estos métodos
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 185 -
7.4 Regresión lineal múltiple.
En la mayor parte de los problemas de investigación donde se aplica el
análisis de regresión se necesita más de una variable independiente en el
modelo de regresión. La complejidad de la mayor parte de los mecanismos
científicos es tal que para ser capaces de predecir una respuesta
importante se necesita un modelo de regresión múltiple. Cuando este
modelo es lineal en los coeficientes se denomina modelo de regresión lineal
múltiple. Para el caso de k variables independientes X1, X2,....,Xk, la media
de Y| X1, X2,....,XK está dada por el modelo de regresión lineal múltiple
m Y|x1, x2 ,………, xk = b 0 + b 1 x1 +……..+ b k xk
y la respuesta estimada se obtiene de la ecuación de regresión de la
muestra
donde cada coeficiente de regresión b i se estima por bi de los datos de la
muestra con el uso del método de mínimos cuadrados. Como en el caso de
una sola variable independiente, el modelo de regresión lineal múltiple a
menudo puede ser una representación adecuada de una estructura más
complicada dentro de ciertos rangos de las variables independientes.
Técnicas de mínimos cuadrados similares también 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 línea recta pero que se describen de forma más apropiada con el
modelo de regresión polinomial
m Y|x = b 0 + b 1 x +b 2 x2+ ……..+ b r xr
y la respuesta estimada se obtiene de la ecuación de regresión polinomial
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 186 -
En ocasiones surge confusión cuando hablamos de un modelo polinomial
como de un modelo lineal. Sin embargo, los estadísticos por lo general se
refieren a un modelo lineal como uno en el cual los parámetros ocurren
linealmente, sin importar cómo entran las variables independientes al
modelo. Un ejemplo de un modelo no lineal es la relación exponencial
m Y|x = a b x,
que se estima con la ecuación de regresión
Existen muchos fenómenos en la ciencia y en la ingeniería 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 estimación por mínimos cuadrados de
modelos no lineales es voluminosa.
Estimación de los coeficientes.
En esta sección obtenemos los estimadores de mínimos cuadrados de los
parámetros b 0 + b 0, b 1,...., b k mediante el ajuste del modelo de regresión
lineal múltiple
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 observación (x1i, x2i,......,xki, yi)
satisface la ecuación
yi = b 0 + b 1x1i +b 2x2i +….+ b kxki +e i
o
yi = b0 + b1x1i +b2x2i +….+ bkxki +ei,
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 187 -
donde e i y ei son el error aleatorio y residual, respectivamente, asociados
con la respuesta yi . Al utilizar el concepto de mínimos cuadrados para
llegar a las estimaciones b0, b1,..., bk, minimizamos la expresión
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 método apropiado para resolver sistemas de ecuaciones lineales.
Ejemplo 1 Se realizó un estudio sobre un camión de reparto ligero a diesel para ver si
la humedad, temperatura del aire y presión barométrica influyen en la
emisión de óxido nitroso (en ppm). Las mediciones de las emisiones se
tomaron en diferentes momentos, con condiciones experimentales
variantes. Los datos son los siguientes:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 188 -
Óxido
nitroso,
y
Humedad
x1
Temperatura
x2
Presión
x3
Óxido
nitros
o
y
Humedad
x1
Tempera
x2
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 regresión lineal múltiple a los datos dados y después
estime la cantidad de óxido nitroso para las condiciones donde la humedad
es 50%, la temperatura 76°F y la presión barométrica 29,30.
SOLUCIÓN
Para las ecuaciones normales encontramos que
La solución de este conjunto de ecuaciones da las estimaciones únicas
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 189 -
b0 = -3.507778, b1= -0.002625, b2= 0.000799, b3= 0.154155.
Por tanto, la ecuación de regresión es
Para 50% de humedad, una temperatura de 76 °F y una presión
barométrica 29,30, la cantidad estimada de óxido nitroso es
Regresión polinomial.
Suponga ahora que deseamos ajustar la ecuación 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 observación, yi
satisface la ecuación
yi = b 0 + b 1xi +b 2xi2+ ……..+ b r xi
2+e i
o
yi = b0 + b1xi +b2xi2+ ……..+ br xi
r+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 número de pares, n, debe
ser al menos tan grande como r + 1, el número de parámetros a estimar.
Nótese que el modelo polinomial se puede considerar como un caso
especial del modelo de regresión lineal múltiple más general, donde
hacemos x1 = x, x2 = x2, ..., xr. = xr. Las ecuaciones normales toman la
forma:
que se resuelve como antes para b0, b1,.........., br
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 190 -
Ejemplo 2 Dados los datos
x 0 1 2 3 4 5 6 7 8 9
y 9,1 7,3 3,2 4,6 4,8 2,9 5,7 7,1 8,8 10
Ajustar una curva de regresión de la forma
m Y|x = b 0 + b 1 x +b 2 x2 y después estime m Y|x
SOLUCIÓN:
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 regresión lineal múltiple.
Una de las inferencias más ú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
X’0 = [x10, x20,...., xk0]
Aumentamos las condiciones sobre las x por el número 1 a fin de facilitar el
uso de la notación matricial. Como en el caso k = 1 si hacemos la
suposición adicional de que los errores son independientes y se distribuyen
de forma normal, entonces las Bj son normales, con media, varianzas y
covarianzas.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 191 -
también 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 escrita en notación matricial
simplemente como función de , (X'X)1, y el vector de condición x’0, es
Si esta expresión se expande para un caso dado, digamos k = 2, se ve
fácilmente que explica de manera apropiada las varianzas y covarianzas de
las Bi. Después de reemplazar por s2, el intervalo de confianza de 100(1
— α)% sobre m | x10, x20,...., xk0 . se puede construir a partir de la
estadística:
que tiene una distribución t con n — k — 1 grados de libertad.
Intervalo
de
confianz
a para:
m | x10,
x20,....,
xk0
Un intervalo de confianza de (1 — α)100% para la respuesta media m |
x10, x20,...., xk0 es
donde ta /2 es un valor de la distribución t con n-k grados de libertad.
La cantidad a menudo se llama error estándar de predicción y
por lo general aparece en el impreso de muchos paquetes de regresión
para computadora.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 192 -
Ejemplo 1 Con el uso de los datos del ejemplo 1 correspondiente al "Modelo de
regresión 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%.
SOLUCIÓN
De la ecuación de regresión del ejemplo 1 correspondiente al "Modelo de
regresión lineal con el uso de matrices", el porcentaje estimado de sobre
vivencia cuando x1 = 3%, x2 = 8%, y x3 = 9% es
A continuación 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 regresión lineal simple, necesitamos hacer una clara
distinción entre el intervalo de confianza de la respuesta media y el
intervalo de predicción sobre una respuesta observada. Esta última
proporciona un límite dentro del cual podemos decir con un grado de
certeza preestablecido que caerá una nueva respuesta observada.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 193 -
Un intervalo de predicción para una sola respuesta pronosticada se
establece de nuevo al considerar las diferencias de la variable
aleatoria .
Se puede mostrar que la distribución muestral es normal con media
y varianza
De esta manera el intervalo de predicción de (1 — α)100% para un solo
valor de predicción y0 se puede construir a partir de la estadística
que tiene una distribución t con n – k – 1 grados de libertad.
Intervalo
de
predicci
ón para
y0
Un intervalo de predicción de (1-α)100% para una sola
respuesta y0 está dado por:
donde tα/2 es un valor de la distribución 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 regresión lineal con el uso de matrices" construya un intervalo de
predicción de 95% para una respuesta individual del porcentaje de sobre
vivencia cuando x1 = 3%, x2 = 8%, y x3 = 9%.
SOLUCIÓN:
Con referencia a los resultados del ejemplo 1 de esta sección, encontramos
que el intervalo de predicción de 95% para la respuesta y0 cuando x1= 3%,
x2 = 8%, y x3 = 9% es
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 194 -
que se reduce a . Nótese, como se espera, que el
intervalo de predicción 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 hipótesis acerca de ellos.
De esta manera podemos utilizar la estadística
con n — k — 1 grados de libertad para probar las hipótesis y construir
intervalos de confianza sobre βj. Por ejemplo, si deseamos probar:
calculamos la estadística:
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 regresión
lineal con el uso de matrices", pruebe la hipótesis de que β2 = -2,5 en el
nivel de significancia 0.05 contra la alternativa de que β2> -2,5.
SOLUCIÓN:
Cálculos:
Decisión : rechazar H0 y concluir que β2> -2,5
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 195 -
7.5 PREDICCION. Existen varias razones para construir una regresión 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 predicción.
La ecuación ŷ= a +bx se puede usar para predecir o estimar la respuesta
media µyןxס 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. Esperaríamos que el error de predicción 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 µyןxס. Utilizaremos el estimador puntual Ŷo = A + Bxo para estimar
µyןxס. = a + b c o se puede mostrar que la distribución 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 µyןxס. Se puede
construir a partir de la estadística :
Que tiene una distribución t con n – 2 grados de libertad
Intervalo de confianza para µyןxס.:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 196 -
CORRELACION. Hasta este punto hemos supuesto que la variable de regresión
independiente x es una variable física o científica pero no una variable
aleatoria. De hecho, en este contexto , x a menudo se llama variable
matemática, que, en el proceso de muestreo, se mide con un error
insignificante. En muchas aplicaciones de las técnicas de regresión 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 población que tiene la
función de densidad conjunta f(x, y). Consideremos el problema de medir la
relación 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 antropológico para determinar si los
valores grandes de X se asocian con valores grandes de Y, y viceversa. El
análisis de correlación intenta medir la fuerza de tales relaciones entre dos
variables por medio de un solo numero llamado coeficiente de correlación.
En teoría a menudo se supone que la distribución condicional f(y½ x) de Y,
para valores fijos de X, es normal con una media µyןx = a + b c o y varianza
s ²yןx = s ² y X también se distribuye con normalmente con µx y varianza s
²x. La densidad conjunta de X y Y es entonces:
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 197 -
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 expresión anterior para f( x, y), obtenemos la
distribución normal bivariada:
La constante r (rho) se llama coeficiente de correlación poblacional y juega
un papel importante en muchos problemas de análisis de datos de dos
variables. El valor de r es 0 cuando b = 0 , que resulta cuando en esencia
no hay una regresión lineal; es decir, la línea de regresión 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 relación lineal
perfecta entre las dos variables. de esta manera un valor de r igual a +1
implica una relación lineal perfecta con una pendiente positiva, mientras
que un valor de r igual a –1 resulta de una relación lineal perfecta con
pendiente negativa. Se puede decir entonces que las estimaciones
muéstrales de r cercanas a la unidad en magnitud implican una buena
correlación o una asociación lineal entre X y Y, mientras que valores
cercanos a cero indican poca o ninguna correlación.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 198 -
Se debe señalar que en estudios de correlación, como en problemas de
regresión lineal, los resultados que se obtienen solo son tan buenos como
el modelo que se supone. En las técnicas de correlación 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 suposición de linealidad, a menudo es útil
una graficación preliminar de los datos experimentales. Un valor del
coeficiente de correlación 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 relación causal. Es importante
recordar que el coeficiente de correlación entre dos variables es una media
de su relación lineal, y que un valor de r* = 0 implica una falta de linealidad
y no una falta de asociación. Por ello, si existe una fuerte relación
cuadrática entre X y Y como se indica en la figura b, podemos aun obtener
una correlación cero que indique una relación no lineal.
* formula del calculo de r
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 199 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 200 -
BIBLIOGRAFÍA
1.-Casuso, Rafael L. "Cálculo de probabilidades e inferencia estadística", UCAB. Caracas. 1996. 2.-Mendenhall, Schaeffer y Wackely. "Estadística matemática con aplicaciones", Edit. Iberoamérica. México. 1986. 3.-Mendelhall, William y Sincich. "Probabilidad y estadística para ingeniería y ciencias", Edit. Prentice may. México. 1997. 4.-Miller, Irwin y otros. "Probabilidad y estadísticas para ingenieros", Edit. Prentice may. 4ta edición. México. 1992.
5.-Ross, Sheldon. "Probabilidad y estadísticas para ingeniería y ciencias", Edit. Mc Graw Hill. México. 2001.
6.-Universidad Simón Bolívar , Por: Hernando Sánchez Santibáñez http://www.usb.edu.co/facultades/administracion/publicaciones/regresion_correlacion.pdf
7.WALPOLE, Myers y Myers (1998), "Probabilidad y Estadística para Ingenieros", Edit. Prentice Hall, México.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 201 -
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 202 -
DEFINICION DE INTEGRACION NUMERICA
DEFINICIONES BASICAS
TIPOS DE INTEGRACION NUMERICA
FORMULAS DE INTEGRACION CERRADA DE NEWTON-COTES
REGLA DEL TRAPECIO
REGLA DE SIMPSON
FORMULAS DE INTEGRACION ABIERTA DE NEWTON-COTES
CUADRATURA DE GAUSS
INTEGRACION DE ROMBERG.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 203 -
INTEGRACION NUMERICA
En la practica profesional , es común encontrarse con problemas que
requieren del conocimiento del área bajo una curva de una función que
representa el comportamiento de un proceso, que depende de un conjunto
de variables de control, las funciones, no siempre se encuentran en forma
analítica, muchas veces se reportan en forma tabular , o varían
drásticamente entre intervalos, por este motivo, no siempre es posible
integrarlas por métodos analíticos, y se requiere de un tipo de método
apropiado para cada caso, lo cual se estudiara en este capitulo.
8.0 DEFINICIONES BASICAS
Definición De INTEGRACION
DEFINICION
La integración 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 notación de Leibnitz permite escribir la integración indefinida de
una función como:
∫b
a
dxxf )( ……………(8.1)
Existen diferentes tipos de integración, a saber
Integración indefinida
Integración definida
Integración Múltiple
Integración Impropia. etc.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 204 -
Cada tipo de integración requiere de ciertos conceptos que han sido
estudiados y desarrollados en un curso normal de Calculo .
Los métodos de integración numérica se basan prácticamente en usar una
forma aproximada (obtenida por interpolación) de una función y aplicarle
métodos simples para obtener un valor numérico como aproximación al
valor real de la integral.
Desde el punto de vista numérico, existen dos tipos generales de métodos
de integración, estos son los métodos de integración cerrada , y los
métodos de integración abierta.
Definición De INTEGRACION NUMERICA
DEFINICION
La integración Numérica es un procedimiento algebraico y aritmético, que
permite el calculo de integrales definidas , que o bien no se pueden resolver
analíticamente o su solución es muy complicada
La integración numérica, puede ser cerrada o abierta
8.1 Definición De métodos de integración cerrada. DEFINICION
Los métodos cerrados de integración, son aquellos que tienen un alcance
exclusivamente dentro del intervalo de definición de la función (intervalo en
el cual se reportan los valores de la funcion). A estos se les conoce como
los métodos de integración cerrada de Newton-Cotes.
Dentro de los métodos cerrados, de Newton – Cotes se tienen:
La regla del Trapecio.
La regla del Trapecio Múltiple
La regla de Simpson. 1/3
La regla de Simpson 3/8
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 205 -
Las cuales se describirán posteriormente.
Los Métodos 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 :
nin
abixxi ,......,3,2,1,0),(0 =−
+= (8.2)
Para quedar en la nueva notación x0=a y xn=b
2.- Se aproxima f(x) por un polinomio de grado n, Pn(x) y se integra , para
obtener la aproximación de la integral.
8.1.1 Definición De la regla del Trapecio. DEFINICION
La regla del trapecio consiste en : El intervalo original queda igual, la
función se aproxima por una línea recta, y el área bajo la curva corresponde
al área de un trapecio.
De acuerdo a los cursos de geometría , 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))2
ih ………….(8.3)
Al sumar todas las áreas se tiene que :
∑∫=
+ +=n
k
kkk
b
a
hxfxfdxxf
11 2
))()(()( …….(8.4)
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 206 -
Considerando los incrementos constantes se tiene que :
h=n
ab − y xk = a+kh, así la expresión anterior queda:
∫ ∑ ⎥⎦
⎤⎢⎣
⎡+++=
=
b
a
n
kkhafbfafhdxXf
1)(2)()(
2)( …….(8.5)
A continuación 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 integración % - M es el numero de subintervalos % Resultado % -s es la aproximación 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 :
∫ + dxxsen ))2(2( =
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 207 -
M h 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
∫ +6
1
))2(2( dxxsen =8.18351924
8.1.2 Definición De la regla de Simpson. DEFINICION
La regla de Simpson consiste en : dividir el intervalo [a,b] en 2M sub
intervalos [xk,xk+1] de la misma anchura h=M
ab2
)( − , mediante una partición
de nodos equi espaciados xk=a+kh, y con esta
S(f,h)= ∑ ∑−
= =−+++
1
1 1122 )(
34)(
32))()((
3
M
k
M
kkk xfhxfhbfafh , que corresponde a la
integral ∫b
a
dxxf )( , y se le llama regla de Simpson 1/3
A continuación 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 integración.
% -M es el numero de sub intervalos.
% Resultado
% - s es la aproximación obtenida con la regla de Simpson.
h=)*2()(
Mab −
s1=0;
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 208 -
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 h S(f,h)
5 0.5 8.18301549
10 0.25 8.18344750
20 0.125 8.18347717
40 0.0625 8.18347908
80 0.03125 8.18347920
Asi que 18347920.8)2(26
1
=+∫ xsen
Como se vera los resultados son exactos en ambas estimaciones hasta tres
decimales.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 209 -
8.2 Definición De métodos de integración abierta.
DEFINICION
Los métodos abiertos de integración, son aquellos que tienen un alcance
fuera del intervalo de definición de la función. A estos se les conoce como
los métodos de integración abierta de Newton-Cotes.
Dentro de los métodos abiertos, de Newton – Cotes se tienen:
Integración de Romberg
Cuadratura de Gauss
Los cuales como se dijo , se extienden fuera del intervalo de definición de
los datos reportados.
8.2.1 Definición Del método de cuadratura de Gauss
DEFINICION
El método 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 cúbico.
En esta técnica la integral de una función f(x), en el intervalo [a,b] se puede
escribir en la forma : ∫ ∑− =
=1
1 1
)()(n
iii zfwdzzf , donde wi es el peso
correspondiente al valor de zi, y zi es la coordenada transformada
correspondiente
El algoritmo para el método de cuadratura de gauss se da a continuación en
pseudo código :
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 210 -
Se aproxima el área bajo la curva de la función analítica f(x) en el intervalo
[a,b], proporcionando la función 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 Hacer IAUX(I) =, I=1,2,..4)=(1,2,4,6) PASO 3 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 Hacer I=1 PASO 6 Mientras I≤5 , repetir los pasos 7 y 8 PASO 7 Si N= NP(I), ir al paso 10 . De otro modo continuar. PASO 8 Hacer I=I+I PASO 9 IMPRIMIR “N NO ES 2,3,4,5, o 6 y TERMINAR
PASO 10 Hacer S=0 PASO 11 Hacer J=IAUX(I) PASO 12 Mientras J≤IAUX(I+1) -1 repetir los pasos 13a 17 PASO 13 Hacer ZAUX= (Z(J)*(B-A)+B+A)/2.
PASO 14 Hacer S=S+F(ZAUX)*W(J). PASO 15 Hacer ZAUX=(-Z(J)*(B-A)+B+A)/2. PASO 16 Hacer S=S+F(ZAUX)*W(J) PASO 17 Hacer J=J+1 PASO 18 Hacer AREA =(B-A)/2*S. PASO 19 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 integración.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 211 -
% - 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 aproximación 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));
Calculando con este el valor de la integral : ∫− +
1
1 2xdx se obtiene el valor de 1.1111 a
cinco dígitos significativos.
8.2.2 Definición Del método de Integración de Romberg DEFINICION
El método de integración de Romberg, consiste en expresar la integral
I= ∫b
a
dxxf )( como ∼ E= chr f(r)(ξ) , donde c es independiente de h, r es un
entero positivo y ξ un numero desconocido €[a,b], asi haciendo E= I2-I1, es
decir dos aproximaciones sucesivas de I , finalmente la mejor aproximación
para I esta dada por I=12
2 12
−−
r
r II
El algoritmo para el método de Romberg es:
a=A; b=B; for k=0: w n=2∧k; 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 función’ s=f+s ;
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 212 -
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
Aplicando este a la solución de la integral ∫1
0
)( dxxsen π , se tienen los
siguientes resultados:
k 2k Ik(0)
0 1 0.0
1 2 0.5
2 4 0.6035534
3 8 0.684174
4 16 0.6345731
Con esto se da por terminado el tema de integración numérica, dejando asentado,
que existen una serie de métodos numéricos, reportados en la literatura que
optimizan el procedimiento de integración numérica , los cuales trabajan con
exactitudes distintas.
ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB
JOSE GARZON ARIAS - 213 -
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.
top related