1 taller de simulaciÓn

215
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.

Upload: jose-miguel-gonzalez

Post on 30-Dec-2015

89 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 TALLER DE SIMULACIÓN

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.

Page 2: 1 TALLER DE SIMULACIÓN

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

Page 3: 1 TALLER DE SIMULACIÓN

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

Page 4: 1 TALLER DE SIMULACIÓN

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

Page 5: 1 TALLER DE SIMULACIÓN

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

Page 6: 1 TALLER DE SIMULACIÓN

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

Page 7: 1 TALLER DE SIMULACIÓN

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

Page 8: 1 TALLER DE SIMULACIÓN

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

Page 9: 1 TALLER DE SIMULACIÓN

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.

Page 10: 1 TALLER DE SIMULACIÓN

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.

Page 11: 1 TALLER DE SIMULACIÓN

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 .

Page 12: 1 TALLER DE SIMULACIÓN

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.

Page 13: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 13 -

Page 14: 1 TALLER DE SIMULACIÓN

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

Page 15: 1 TALLER DE SIMULACIÓN

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

Page 16: 1 TALLER DE SIMULACIÓN

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.

Page 17: 1 TALLER DE SIMULACIÓN

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

Page 18: 1 TALLER DE SIMULACIÓN

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.

Page 19: 1 TALLER DE SIMULACIÓN

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

Page 20: 1 TALLER DE SIMULACIÓN

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:

Page 21: 1 TALLER DE SIMULACIÓN

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

Page 22: 1 TALLER DE SIMULACIÓN

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.

Page 23: 1 TALLER DE SIMULACIÓN

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.

Page 24: 1 TALLER DE SIMULACIÓN

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

Page 25: 1 TALLER DE SIMULACIÓN

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.

Page 26: 1 TALLER DE SIMULACIÓN

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.

Page 27: 1 TALLER DE SIMULACIÓN

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:

Page 28: 1 TALLER DE SIMULACIÓN

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).

Page 29: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 29 -

Page 30: 1 TALLER DE SIMULACIÓN

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

Page 31: 1 TALLER DE SIMULACIÓN

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Í

Page 32: 1 TALLER DE SIMULACIÓN

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

Page 33: 1 TALLER DE SIMULACIÓN

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

Page 34: 1 TALLER DE SIMULACIÓN

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

Page 35: 1 TALLER DE SIMULACIÓ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)

Page 36: 1 TALLER DE SIMULACIÓN

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

Page 37: 1 TALLER DE SIMULACIÓN

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.

Page 38: 1 TALLER DE SIMULACIÓN

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

Page 39: 1 TALLER DE SIMULACIÓN

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

Page 40: 1 TALLER DE SIMULACIÓN

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.

Page 41: 1 TALLER DE SIMULACIÓN

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

Page 42: 1 TALLER DE SIMULACIÓN

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

Page 43: 1 TALLER DE SIMULACIÓN

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

Page 44: 1 TALLER DE SIMULACIÓN

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)

Page 45: 1 TALLER DE SIMULACIÓN

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.

Page 46: 1 TALLER DE SIMULACIÓN

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.

Page 47: 1 TALLER DE SIMULACIÓN

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)

Page 48: 1 TALLER DE SIMULACIÓN

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).

Page 49: 1 TALLER DE SIMULACIÓN

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.).

Page 50: 1 TALLER DE SIMULACIÓN

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;

Page 51: 1 TALLER DE SIMULACIÓN

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

Page 52: 1 TALLER DE SIMULACIÓ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)

Page 53: 1 TALLER DE SIMULACIÓN

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

Page 54: 1 TALLER DE SIMULACIÓN

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).

Page 55: 1 TALLER DE SIMULACIÓN

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

Page 56: 1 TALLER DE SIMULACIÓN

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;

Page 57: 1 TALLER DE SIMULACIÓN

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í:

Page 58: 1 TALLER DE SIMULACIÓN

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:

Page 59: 1 TALLER DE SIMULACIÓN

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)

Page 60: 1 TALLER DE SIMULACIÓN

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.

Page 61: 1 TALLER DE SIMULACIÓN

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í.

Page 62: 1 TALLER DE SIMULACIÓN

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? ‘;

Page 63: 1 TALLER DE SIMULACIÓN

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.

Page 64: 1 TALLER DE SIMULACIÓN

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];

Page 65: 1 TALLER DE SIMULACIÓN

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];

Page 66: 1 TALLER DE SIMULACIÓN

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.

Page 67: 1 TALLER DE SIMULACIÓN

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.)

Page 68: 1 TALLER DE SIMULACIÓN

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

Page 69: 1 TALLER DE SIMULACIÓN

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:

Page 70: 1 TALLER DE SIMULACIÓN

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.

Page 71: 1 TALLER DE SIMULACIÓN

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.

Page 72: 1 TALLER DE SIMULACIÓN

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);

Page 73: 1 TALLER DE SIMULACIÓN

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

Page 74: 1 TALLER DE SIMULACIÓN

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:

Page 75: 1 TALLER DE SIMULACIÓN

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:

Page 76: 1 TALLER DE SIMULACIÓN

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);

Page 77: 1 TALLER DE SIMULACIÓN

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:

Page 78: 1 TALLER DE SIMULACIÓN

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 );

Page 79: 1 TALLER DE SIMULACIÓN

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:

Page 80: 1 TALLER DE SIMULACIÓN

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.

Page 81: 1 TALLER DE SIMULACIÓN

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

Page 82: 1 TALLER DE SIMULACIÓN

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

Page 83: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 81 -

Page 84: 1 TALLER DE SIMULACIÓN

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

Page 85: 1 TALLER DE SIMULACIÓN

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.

Page 86: 1 TALLER DE SIMULACIÓN

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 )

Page 87: 1 TALLER DE SIMULACIÓN

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.

Page 88: 1 TALLER DE SIMULACIÓN

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

Page 89: 1 TALLER DE SIMULACIÓN

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

Page 90: 1 TALLER DE SIMULACIÓN

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 )

Page 91: 1 TALLER DE SIMULACIÓN

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

Page 92: 1 TALLER DE SIMULACIÓN

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

Page 93: 1 TALLER DE SIMULACIÓN

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

Page 94: 1 TALLER DE SIMULACIÓN

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

Page 95: 1 TALLER DE SIMULACIÓN

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.

Page 96: 1 TALLER DE SIMULACIÓN

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.

Page 97: 1 TALLER DE SIMULACIÓN

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.

Page 98: 1 TALLER DE SIMULACIÓN

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

Page 99: 1 TALLER DE SIMULACIÓN

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.

Page 100: 1 TALLER DE SIMULACIÓN

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 :

Page 101: 1 TALLER DE SIMULACIÓN

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

Page 102: 1 TALLER DE SIMULACIÓN

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:

Page 103: 1 TALLER DE SIMULACIÓN

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.

Page 104: 1 TALLER DE SIMULACIÓN

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.

Page 105: 1 TALLER DE SIMULACIÓ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.

Page 106: 1 TALLER DE SIMULACIÓN

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

Page 107: 1 TALLER DE SIMULACIÓN

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.

Page 108: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 106 -

Page 109: 1 TALLER DE SIMULACIÓN

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

Page 110: 1 TALLER DE SIMULACIÓN

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

Page 111: 1 TALLER DE SIMULACIÓN

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.

Page 112: 1 TALLER DE SIMULACIÓN

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.

Page 113: 1 TALLER DE SIMULACIÓN

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.

Page 114: 1 TALLER DE SIMULACIÓN

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.

Page 115: 1 TALLER DE SIMULACIÓN

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.

Page 116: 1 TALLER DE SIMULACIÓN

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.

Page 117: 1 TALLER DE SIMULACIÓN

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

.

.

.

.

Page 118: 1 TALLER DE SIMULACIÓN

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

Page 119: 1 TALLER DE SIMULACIÓN

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.

Page 120: 1 TALLER DE SIMULACIÓN

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 -

Page 121: 1 TALLER DE SIMULACIÓN

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)

Page 122: 1 TALLER DE SIMULACIÓN

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)

Page 123: 1 TALLER DE SIMULACIÓN

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

Page 124: 1 TALLER DE SIMULACIÓN

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

.

Page 125: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 123 -

Page 126: 1 TALLER DE SIMULACIÓN

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

Page 127: 1 TALLER DE SIMULACIÓN

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.

Page 128: 1 TALLER DE SIMULACIÓN

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

Page 129: 1 TALLER DE SIMULACIÓN

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

Page 130: 1 TALLER DE SIMULACIÓN

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

Page 131: 1 TALLER DE SIMULACIÓN

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

Page 132: 1 TALLER DE SIMULACIÓN

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

Page 133: 1 TALLER DE SIMULACIÓN

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

Page 134: 1 TALLER DE SIMULACIÓN

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

Page 135: 1 TALLER DE SIMULACIÓN

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.:

Page 136: 1 TALLER DE SIMULACIÓN

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)

Page 137: 1 TALLER DE SIMULACIÓN

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)

Page 138: 1 TALLER DE SIMULACIÓN

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

Page 139: 1 TALLER DE SIMULACIÓN

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

Page 140: 1 TALLER DE SIMULACIÓN

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

Page 141: 1 TALLER DE SIMULACIÓ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

Page 142: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 140 -

Page 143: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 141 -

INTERPOLACION

DEFINICIONES BASICAS

INTERPOLACION DE NEWTON

Page 144: 1 TALLER DE SIMULACIÓN

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

Page 145: 1 TALLER DE SIMULACIÓN

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

Page 146: 1 TALLER DE SIMULACIÓN

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

Page 147: 1 TALLER DE SIMULACIÓN

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

Page 148: 1 TALLER DE SIMULACIÓN

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 + =

Page 149: 1 TALLER DE SIMULACIÓN

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.

Page 150: 1 TALLER DE SIMULACIÓN

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’ ;

Page 151: 1 TALLER DE SIMULACIÓN

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)

Page 152: 1 TALLER DE SIMULACIÓN

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:

Page 153: 1 TALLER DE SIMULACIÓ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.

Page 154: 1 TALLER DE SIMULACIÓN

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

Page 155: 1 TALLER DE SIMULACIÓN

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

Page 156: 1 TALLER DE SIMULACIÓN

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

Page 157: 1 TALLER DE SIMULACIÓN

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:

Page 158: 1 TALLER DE SIMULACIÓN

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

Page 159: 1 TALLER DE SIMULACIÓN

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:

Page 160: 1 TALLER DE SIMULACIÓN

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

Page 161: 1 TALLER DE SIMULACIÓN

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;

Page 162: 1 TALLER DE SIMULACIÓN

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).

Page 163: 1 TALLER DE SIMULACIÓN

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.

Page 164: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 162 -

Page 165: 1 TALLER DE SIMULACIÓN

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.

Page 166: 1 TALLER DE SIMULACIÓN

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:

Page 167: 1 TALLER DE SIMULACIÓN

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

Page 168: 1 TALLER DE SIMULACIÓN

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²

Page 169: 1 TALLER DE SIMULACIÓN

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

Page 170: 1 TALLER DE SIMULACIÓN

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:

Page 171: 1 TALLER DE SIMULACIÓN

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

Page 172: 1 TALLER DE SIMULACIÓN

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í:

Page 173: 1 TALLER DE SIMULACIÓN

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

Page 174: 1 TALLER DE SIMULACIÓN

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,

Page 175: 1 TALLER DE SIMULACIÓN

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.

Page 176: 1 TALLER DE SIMULACIÓN

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í:

Page 177: 1 TALLER DE SIMULACIÓN

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

Page 178: 1 TALLER DE SIMULACIÓN

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".

Page 179: 1 TALLER DE SIMULACIÓN

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

Page 180: 1 TALLER DE SIMULACIÓN

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

Page 181: 1 TALLER DE SIMULACIÓN

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.

Page 182: 1 TALLER DE SIMULACIÓ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

Page 183: 1 TALLER DE SIMULACIÓN

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}.

Page 184: 1 TALLER DE SIMULACIÓ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:

Page 185: 1 TALLER DE SIMULACIÓN

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

Page 186: 1 TALLER DE SIMULACIÓN

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

Page 187: 1 TALLER DE SIMULACIÓN

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

Page 188: 1 TALLER DE SIMULACIÓN

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,

Page 189: 1 TALLER DE SIMULACIÓN

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:

Page 190: 1 TALLER DE SIMULACIÓN

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

Page 191: 1 TALLER DE SIMULACIÓN

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

Page 192: 1 TALLER DE SIMULACIÓN

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.

Page 193: 1 TALLER DE SIMULACIÓN

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.

Page 194: 1 TALLER DE SIMULACIÓN

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.

Page 195: 1 TALLER DE SIMULACIÓN

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

Page 196: 1 TALLER DE SIMULACIÓN

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

Page 197: 1 TALLER DE SIMULACIÓN

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ס.:

Page 198: 1 TALLER DE SIMULACIÓN

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:

Page 199: 1 TALLER DE SIMULACIÓN

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.

Page 200: 1 TALLER DE SIMULACIÓ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

Page 201: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 199 -

Page 202: 1 TALLER DE SIMULACIÓN

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.

Page 203: 1 TALLER DE SIMULACIÓN

ENSEÑANZA DE LOS METODOS NUMERICOS CON MATLAB

JOSE GARZON ARIAS - 201 -

Page 204: 1 TALLER DE SIMULACIÓN

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.

Page 205: 1 TALLER DE SIMULACIÓN

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.

Page 206: 1 TALLER DE SIMULACIÓN

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

Page 207: 1 TALLER DE SIMULACIÓN

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)

Page 208: 1 TALLER DE SIMULACIÓN

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( =

Page 209: 1 TALLER DE SIMULACIÓN

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;

Page 210: 1 TALLER DE SIMULACIÓN

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.

Page 211: 1 TALLER DE SIMULACIÓN

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 :

Page 212: 1 TALLER DE SIMULACIÓN

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.

Page 213: 1 TALLER DE SIMULACIÓ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 ;

Page 214: 1 TALLER DE SIMULACIÓN

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.

Page 215: 1 TALLER DE SIMULACIÓN

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.