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.

Matlab Libre

Embed Size (px)

DESCRIPTION

matlab

Citation preview

  • ENSEANZA 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 Cara ctersticas 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 MATEMATICO S BASICOS DEL MATLAB

    2.4 VECTORES Y MATRICES.

    2.5 OPERACIONES MATEMATICAS SIMPLES CON VECTORES Y

    MATRICES.

  • ENSEANZA 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

  • ENSEANZA 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) Solucin Analtica.

    b) Solucin Numrica.

    3.2 MODELOS MATEMATICOS Y ALGORITMOS

    a) Aplicaciones de los Mtodos Numricos.

    b) Algoritmo de Euclides.

    c) Recursividad y Caractersticas de un algoritmo.

    d) Caractersticas de un Mtodo Numrico.

    3.3 TIPOS DE ERRORES

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

    BIBLIOGRAFIA

  • ENSEANZA 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) Solucin Analtica.

    d) Solucin Numrica.

    4.2 SOLUCIONES DE ECUACIONES NO LINEALES

    e) Aplicaciones de los Mtodos Numricos.

    4.3 METODOS DE APROXIMACIONES SUCESIVAS

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

    DE PUNTOS FIJOS .

    4.4 METODO DE BISECCION.

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

    4.5 METODO DE NEWTON RAHPSON

    BIBLIOGRAFIA

  • ENSEANZA 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

  • ENSEANZA 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 ESTNDAR DE ESTIMACION.

    a) COEFICIENTE DE DETERMINACION b) COEFICIENTE DE CORRELACION.

    7.3 MODELO DE REGRESION LINEAL CON EL USO DE

    MATRICES. 7.4 REGRESION LINEAL MULTIPLE

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

    7.5 PREDICCION. 7.6 CORRELACION.

    BIBLIOGRAFIA

  • ENSEANZA 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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 8 -

    PRESENTACION

    La enseanza de los mtodos Numricos, actualmente se encuentra

    ntimamente ligada a la construccin de sistemas matemticos de alta

    precisin y exactitud. De aqu que esta haya evolucionado , y este

    evolucionando continuamente, sobre todo para satisfacer las necesidades y

    requerimientos de los instrumentos de control numrico ,diseo de ingeniera,

    y en muchos otros de los campos cientficos.

    La mayor parte de los ingenieros dependen de herramientas de tipo

    robtico, que requieren de aproximaciones cada vez mas exactas y precisas.

    Es por tanto deseable que a la par de la enseanza Terica de los Mtodos

    Numricos, vaya apareado , la enseanza de un lenguaje de programacin de

    alto nivel, que permita escribir directamente todos los algoritmos matemticos

    que se van desarrollando durante el curso. En el caso del presente libro se

    utiliza, el Matlab, por ser un sistema Matemtico, muy flexible y relativamente

    sencillo de utilizar .

    Este libro surge de la experiencia de haber enseado la asignatura de

    Mtodos Numricos durante seis semestres consecutivos , que se imparte en

    el cuarto semestre de la carrera de Ingeniera en Informtica y la Licenciatura

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 9 -

    de Ciencias de la Informtica ,de la UPIICSA del INSTITUTO POLITECNICO

    NACIONAL.; durante el cual he utilizado el mtodo de participacin iterativa , y

    de trabajo en equipo simultaneo, que permite al alumno , tener un doble canal

    de interaccin con el docente y retroalimentacin con sus compaeros.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 10 -

    PREFACIO

    Muchos de los problemas en matemticas continuas no tienen una

    solucin exacta , por ejemplo encontrar los valores de la funcin de error

    2

    exp x , y resolver una ecuacin 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 solucin aproximada usando anlisis

    asinttico.

    2.- Se busca una solucin Numrica . Esto se hace por medio del

    anlisis numrico.

    HISTORIA.

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

    computadoras modernas. La interpolacin lineal fue usada hace mas de 2000

    aos . Muchos de los grandes Matemticos, del pasado se preocuparon por el

    anlisis numrico.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 11 -

    Lo cual se observa en los nombres de algoritmos importantes, tales

    como El mtodo de Newton , Interpolacin polinomial de Lagrange ,

    eliminacin Gausiana , o el mtodo de Euler.

    Para facilitar los clculos a mano se elaboraron enciclopedias con

    formulas y tablas , de datos como puntos de interpolacin y coeficientes .

    Usando esas tablas , frecuentemente se calculaba hasta 16 lugares

    decimales o mas para algunas funciones . Las estimaciones que se obtenan

    eran bastante precisas.

    El trabajo cannico en el campo , es la publicacin editada por

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

    gran numero de expresiones matemticas y funciones comnmente usadas ,

    as como sus valores en diferentes puntos . Los valores de las funciones no

    son muy tiles cuando se tiene una computadora , sin embargo la gran lista de

    expresiones matemticas suele ser muy til.

    La calculadora mecnica se desarrollo como una herramienta para los

    clculos manuales en 1940 encontrndose que las calculadoras fueron tiles

    para clculos administrativos. Sin embargo la invencin de la computadora y

    los lenguajes de alto nivel , influenciaron el campo del anlisis numrico, ya

    que estas permiten que se desarrollen clculos mas grandes y mas

    complicados .

  • ENSEANZA 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 matemticos , que contienen

    libreras especificas de los mtodos, mas usuales , es decir algoritmos

    clsicos que pueden ser manejados por ingenieros, en diversos campos de

    aplicacin o a nivel administrativo , aun cuando sean operados por no

    especialistas; tal es el caso de GNU librera cientfica o bien las libreras,

    IMSL y NAG . Otro lenguaje popular para clculos numricos es el Matlab ,

    que ser el que se utilizara en el presente texto.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 13 -

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 14 -

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

    FUNCIONES DE MATLAB

    LIBRERIAS

    VENTANAS

    OPERACIONES CON VECTORES Y MATRICES

    GRAFICAS

    FUNCIONES ESPECIALES

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 15 -

    INTRODUCCIN AL MATLAB.

    MATLAB es un entorno de computacin y desarrollo de

    aplicaciones totalmente integrado orientado para llevar a cabo

    proyectos en donde se encuentren implicados elevados clculos

    matemticos y la visualizacin grfica de los mismos. MATLAB integra

    anlisis numrico, clculo matricial, proceso de seal y visualizacin

    grfica en un entorno completo donde los problemas y sus soluciones

    son expresados del mismo modo en que se escribiran racionalmente,

    sin necesidad de hacer uso de la programacin tradicional.

    MATLAB dispone tambin en la actualidad de un amplio abanico

    de programas de apoyo especializados, denominados Toolboxes, que

    extienden significativamente el nmero de funciones incorporadas en el

    programa principal. Estos Toolboxes cubren en la actualidad

    prcticamente casi todas las reas principales en el mundo de la

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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 16 -

    de imgenes, seal, control robusto, estadstica, anlisis financiero,

    matemticas simblicas, redes neuronales, lgica difusa, identificacin

    de sistemas, simulacin de sistemas dinmicos, etc. Es un entorno de

    clculo tcnico, que se ha convertido en estndar de la industria, con

    capacidades no superadas en computacin y visualizacin numrica.

    De forma coherente y sin ningn tipo de fisuras, integra los

    requisitos claves de un sistema de computacin tcnico: clculo

    numrico, grficos, herramientas para aplicaciones especificas y

    capacidad de ejecucin en mltiples plataformas. Esta familia de

    productos proporciona al estudiante un medio de carcter nico, para

    resolver los problemas ms complejos y difciles.

    ORIGEN

    MATLAB nace como una solucin a la necesidad de mejores y

    mas poderosas herramientas de calculo para resolver problemas de

    calculo complejos en los que es necesario aprovechas las amplias

    capacidades de proceso de datos de grandes computadores.

  • ENSEANZA 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 fcil

    al software matricial desarrollado por los proyectos LINPACK y

    EISPACK, que juntos representan el estado del arte y software para

    computacin matricial. Hoy MATLAB es usado en una variedad de

    reas de aplicacin incluyendo procesamiento de seales e imgenes,

    diseo de sistemas de control, ingeniera financiera e investigacin

    mdica. La arquitectura abierta facilita usar MATLAB y los productos

    que lo acompaan para explorar datos y crear herramientas

    personalizadas que proveen visiones profundas tempranas y ventajas

    competitivas.

    INICIACIN AL MATLAB

    El Lenguaje de Computacin Tcnica MATLAB es un ambiente

    de computacin tcnica integrada que combina computacin numrica,

    grficos y visualizacin avanzada y un lenguaje de programacin de

    alto nivel.

    Sea cual fuere el objetivo, un algoritmo, anlisis, grficos,

    informes o simulacin, MATLAB lo lleva all. El lenguaje flexible e

    interactivo de MATLAB permite a ingenieros y cientficos expresar sus

    ideas tcnicas con simplicidad. Los poderosos y amplios mtodos de

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 18 -

    cmputo numrico y graficacin permiten la prueba y exploracin de

    ideas alternativas con facilidad, mientras que el ambiente de desarrollo

    integrado facilita producir resultados prcticos fcilmente.

    MATLAB es la fundacin numrica y grfica para todos los

    productos de The MathWorks. MATLAB combina computacin

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

    ambiente fcil de usar.

    Con su amplio rango de herramientas para modelar sistemas de

    control, anlisis, simulacin y procesamiento de prototipos, MATLAB es

    el sistema ideal para desarrollar sistemas avanzados de control.

    Cualquiera puede crear y modelar un sistema de control, usando las

    cajas de herramientas para el diseo de controles avanzados de

    MATLAB - Control System, Robust Control, -Analysis and Synthesis,

    Model Predictive Control, QTF Control Design y LMI control. Posteriores

    anlisis y refinamientos pueden ser efectuados estableciendo una

    simulacin interactiva en Simulink, y luego sintonizar automticamente

    los parmetros usando el Nonlinear Control Design Blockset.

    Finalmente, usted puede generar cdigo C para correr en controladores

    incrustados con Real Time Workshop.

  • ENSEANZA 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 anlisis personalizado de seales y

    desarrollo de algoritmos DSP. Para simulacin y desarrollo de

    prototipos usted puede agregar Simulink y el DSP Blockset para

    modelar y simular sus sistemas DSP, y luego usar Real-Time Workshop

    para generar cdigo C para su hardware designado.

    CARACTERSTICAS DEL ENTORNO

    Caractersticas de MATLAB :

    Clculos intensivos desde un punto de vista numrico.

    Grficos y visualizacin avanzada. o Lenguaje de alto nivel basado en vectores, arrays y

    matrices.

    Coleccin muy til de funciones de aplicacin .

    Las poderosas capacidades de clculo tcnico de MATLAB se

    ponen a la disposicin de los estudiantes, aunque limita el tamao de

    las matrices a 8192 elementos, la edicin de estudiante mantiene toda

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 20 -

    la potencia de la versin profesional de MATLAB 7.0, en una forma

    diseada para que los estudiantes puedan ejecutarlo en sus propios

    ordenadores personales bajo Windows.

    Toolbox especiales :

    Se incluyen el Toolbox de seales y Sistemas ( un conjunto de

    herramientas para el procesamiento de seal y para el anlisis de

    sistemas de cuadro ) y el Toolbox Symbolyc Math ( herramienta de

    clculo simblico basada en Maple V ).

    SALIDAS O PRESENTACIONES

    MATLAB provee acceso inmediato a las caractersticas grficas

    especializadas requeridas en ingeniera y ciencias. Potente graficacin

    orientada a objetos grficos le permite graficar los resultados de su

    anlisis, incorporar grficos en sus modelos de sistemas, rpidamente

    presentar complejos 3-D objetos, y crear resultados de presentacin,

    entre lo cual se destaca:

  • ENSEANZA 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, smbolos, subndices y superndices

    Seleccin expandida de smbolos marcadores de curvas

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

    Grficos 3-D y slido modelado

    Representacin de imgenes y archivos I/O

    Grficos comentados

    Leer/Escribir archivos de datos Hierarchical Data Format (HDF)

    Presentacin de OpenGL software y hardware

    Animacin

    Display de buffer x rpido y exacto

    Soporte de colores verdaderos (24-bit RGB)

    Fuentes mltiples de luz para superficies coloreadas

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 22 -

    Vista basada en cmara y control de perspectiva

    Iluminacin Plana, Gouraud y Phong

    Soporte eficiente de imagen de datos de 8-bit

    Control de eje y cmara

    Propiedades de superficie y patch

    Modelos de iluminacin

    Control grfico de objetos

    Impresin y representacin de copias

    Formatos grficos exportables

    Soporte de publicacin de escritorio

    FUNCIONES DE MATLAB

    Manipulacin y Reduccin de Datos MATLAB tiene un rango

    completo de funciones para preprocesar datos para anlisis

    Numerosas operaciones para manipular arreglos

    multidimensionales, incluyendo reticulacin e interpolacin de datos,

    estn tambin disponibles.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 23 -

    Descriptivos Grficos Para Explorar y Presentar los Datos

    Grficos de propsitos generales y de aplicacin especfica le permiten

    visualizar al instante seales, superficies paramtricas, imgenes y

    ms. Todos los atributos de los grficos de MATLAB son

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

    en las superficies 3-D . Los grficos estn integrados con las

    capacidades de anlisis, de modo que se puede mostrar grficamente

    cualquier conjunto de datos sin editar, ecuacin o resultado funcional.

    I/O Directo de Datos Se puede ingresar y sacar datos de f

    MATLAB rpidamente. Las funciones estn disponibles para leer y

    escribir archivos de datos formateados en MATLAB, llamados archivos

    MAT. Funciones adicionales ejecutan programas ASCII e I/O binario de

    bajo nivel desde los archivos de programas M, C, y Fortran,

    permitindole trabajar con todos los formatos de datos. MATLAB

    tambin incluye soporte incorporado para formatos populares de

    archivos estndar.

    Computacin Simblica Integrada Integrando el motor simblico

    Maple V con MATLAB, los Symbolic Math Toolboxes le permiten

    mezclar libremente computacin simblica y numrica una sintaxis

    simple e intuitiva.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 24 -

    Anlisis de Datos Confiable, Rpido y Exacto Los mtodos

    usados comnmente para anlisis de datos multidimensional

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

    grficas fciles de usar, especficas para aplicaciones, la lnea de

    comando interactiva y herramientas de programacin estructuradas le

    permiten elegir el mejor camino para sus tareas de anlisis.

    Anlisis de Datos para DSP MATLAB ofrece muchas

    herramientas para realizar la funcionalidad indispensable en

    procesamiento de seales, tales como Transformadas Rpidas Fourier

    y Transformadas Rpidas Inversas de Fourier. La visualizacin de datos

    de procesamiento de seales est soportada por funciones tales como

    grficos stem y periodogramas. El lenguaje de MATLAB,

    inherentemente orientado a matrices hace que la expresin de

    coeficientes de filtros y demoras de buffers sean muy simples de

    expresar y comprender.

    Anlisis de Datos en Aplicaciones de Imgenes MATLAB y la

    Image Processing Toolbox ofrece un amplio conjunto de herramientas

    que le permite fcilmente manipular, procesar y analizar datos de

    imgenes, interactivamente mostrar pantallas de imgenes 2-D o 3-D,

    visualizar datos temporales cuando es necesario, y comentar sus

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 25 -

    resultados para publicaciones tcnicas. La orientacin basada en

    matrices del lenguaje de MATLAB le permite expresar en forma

    compacta operaciones matemticas de forma similar a cmo las

    expresara sobre papel. Como resultado, es fcil e intuitivo efectuar

    procesamiento de imgenes y operaciones de anlisis tales como

    FFTs, filtrado 2-D, morfologa binaria, manipulacin geomtrica,

    conversin de espacios de colores, compresin, anlisis de

    componentes conectados y ms.

    Algorithm Development (Desarrollo de Algoritmos) Sea que se

    est usando los algoritmos del sistema o est inventando los suyos

    propios, MATLAB le provee un ambiente en el que se puede

    experimentar. A diferencia de C y C++, MATLAB permite desarrollar

    algoritmos desde cero o trabajar con interfaces complicadas a

    bibliotecas externas. Las poderosa fundacin de computacin, el

    lenguaje tcnico, y cientos de funciones en cajas de herramientas

    (toolboxes) convierten a MATLAB en lo ms adecuado para

    aplicaciones matemticamente intensivas que requieran anlisis de

    datos, procesamiento de seales e imgenes, modelado de sistemas o

    tcnicas numricas avanzadas.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 26 -

    LIBRERIAS

    Librera de Aplicaciones de MATLAB

    Signal Processing Toolbox

    MATLAB tiene una gran coleccin de funciones para el

    procesamiento de seal en el Signal Processing Toolbox. Este incluye

    funciones para:

    Anlisis de filtros digitales incluyendo respuesta en frecuencia, retardo de grupo, retardo de fase.

    Implementacin de filtros, tanto directo como usando tcnicas en el dominio de la frecuencia basadas en la FFT.

    Diseo de filtros IIR, incluyendo Butterworth, Chebyschev tipo I, Chebyshebv tipo II y elptico.

    Diseo de filtros FIR mediante el algoritmo ptimo de Parks-McClellan.

    Procesamiento de la transformada rpida de Fourier FFT, incluyendo la transformacin para potencias de dos y su inversa, y

    transformada para no potencias de dos.

  • ENSEANZA 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 librera en formato objeto enlazable.

    El objetivo principal de la C Math Library es soportar el desarrollo de

    aplicaciones 'stand alone' utilizando MATLAB y su compilador. Puede

    ser utilizada independientemente de MATLAB por programadores

    avezados en lenguaje C que necesiten prestaciones computacionales

    robustas y de alto rendimiento.

    Junto con el compilador de MATLAB , la C Math Library permitir

    a los programadores de aplicaciones utilizar MATLAB para la creacin

    de aplicaciones 'stand alone'. Para los usuarios clsicos de MATLAB ,

    se elimina as cualquier necesidad de volver a rescribir algoritmos en

    lenguaje C para ser utilizada por programas externos. Para aquellos

    usuarios que sean nuevos en la tecnologa MATLAB , esta tecnologa

    ofrece una nueva va para la reduccin del tiempo de desarrollo y

    puesta a punto de aplicaciones.

    La MATLAB C Math Library proporciona una amplia gama de

    funciones clsicas del programa MATLAB , proporcionadas como

    libreras objeto, incluyendo bsicamente las siguientes categoras de

    funciones presentes en MATLAB y archivos M compilados:

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 28 -

    lgebra lineal.

    Funciones matemticas elementales y especializadas.

    Operadores lgicos y aritmticos.

    Matrices elementales y manipulacin de vectores.

    Matrices especiales.

    Estadstica bsica y anlisis de datos.

    Polinomios e interpolacin.

    Gestin de cadenas de caracteres.

    Entradas y Salidas.

    Gestin de memoria y errores.

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

    en la C Math Library).

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 29 -

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 30 -

    TRABAJANDO CON MATLAB

    Exhibicin de Nmeros

    Operaciones Aritmticas

    Operadores Relacinales

    Operadores Lgicos

    Combinaciones

    Caracteres Especiales

    Ejemplos Elementales

    APRENDIENDO A TRABAJ AR CON MATRICES

    Uso bsico de MATLAB COMANDOS BASICOS

  • ENSEANZA 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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 32 -

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

    comando, funcin, variable o numero.

    Seguidamente se presentan comandos ms usados.

    o Para salir de MATLAB, use quit o exit.

    o El comando clc despeja la ventana de comandos, y el comando clf borra la

    figura actual y por tanto despeja la ventana de grficos.

    o El comando clear no afecta a las ventanas, pero si borra todas las variables

    de la memoria

  • ENSEANZA 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 grfico de demostracin que ilustra

    algunos tipos de operaciones que se pueden realizar con MATLAB.

    o Para abortar un comando en MATLAB, mantener presionada la tecla de

    control y oprima c (Ctrl. + c). Esto ocasiona un interrupcin local dentro del

    MATLAB.

    o Para acceder al men de ayuda se debe usar el comando help.

    o El smbolo denota el prompt de MATLAB y no se escribe al entrar

    instrucciones.

    o El ; al final de la instruccin omite el eco o salida a la pantalla.

    Exhibicin de Nmeros:

    Comando MATLAB Exhibicin Ejemplo

    format short

    format short e

    format long

    format long e

    format bank

    format hex

    Por omisin

    4 decimales

    14 decimales

    15 decimales

    2 decimales

    exp.

    2.3333

    2.3333e+000

    2.33333333333333

    2.333333333333334e+000

    2.33

    4002aaaaaaaaaaab

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 34 -

    format + hexadecimal

    +, -, espacio

    +

    Operaciones Aritmticas:

    ESCALAR MATRIZ VECTOR DESCRIPCIN

    + + + Adicin

    - - - Sustraccin

    * * .* Multiplicacin

    / / . / Divisin hacia la derecha

    \ \ \ . Divisin hacia la izquierda

    ^ . Transposicin

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 35 -

    Operadores Relacinales

    OPERADOR DESCRIPCIN

    < menor que

    < = menor o igual que

    > mayor que

    > = mayor o igual que

    = = Igual

    ~ = no igual

    Operadores Lgicos

    OPERADOR DESCRIPCIN

    & Y (and)

    | O (or)

    ~ NO (not)

  • ENSEANZA 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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 37 -

    Caracteres Especiales:

    CARACTERES DESCRIPCIN

    [ ] Se utilizan para formar vectores y matrices

    ( ) Define precedencia en expresiones aritmticas. Encierra

    argumentos de funciones en forma usual

    , Separador de elementos de una matriz, argumentos de

    funciones y declaraciones en lneas con declaraciones mltiples

    ; Separador de declaraciones, termina renglones de una matriz

    A continuacin se presentan un conjunto de ejemplos elementales que

    permiten ver a un alumno principiante , como se utiliza el Math Lab, de

    forma interactiva . Todo se efecta directamente en la pantalla de

    trabajo. En esta el prompt es >> , donde se introducen los comandos

    seguidos de un enter . Conviene siempre comenzar, limpiando la

    ventana y las variables de trabajo, con clear, clf y clc.

  • ENSEANZA 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

  • ENSEANZA 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

  • ENSEANZA 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.

  • ENSEANZA 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

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

    >>3.^d ans =

    3 17

    243

  • ENSEANZA 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 ms complicado. Primero definiendo una

    matriz b:

    >> b = [1 2; 0 1]

    Entonces calculando el producto a*b:

    >> a*b

    Finalmente, se efecta el producto en el otro orden:

    >> b*a

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 41 -

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

    matrices es no conmutativa.

    Por supuesto, tambin se puede sumar matrices:

    >> a + b

    Ahora guardando el resultado de esta suma para que se pueda usarlo

    despus:

    >> s = a + b

    Las matrices a veces se pueden invertirse:

    >> inv(s)

    Para verificar que esto es correcto, se calcula el producto de s y su inverso:

    >> s * inv(s)

    El resultado es la unidad, o matriz de identidad. Tambin se puede escribir

    el cmputo como

    >> s/s

    tambin se puede escribir

    >> s\s

    qu es igual que

    >>inv(s) * s

  • ENSEANZA 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 divisin de matrices:

    >> c = [1 1; 1 1]

    >> inv( c );

    Una matriz puede invertirse si y slo si su determinante es diferente de

    cero:

    >> det(a)

    >> det (c)

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 43 -

    Uso bsico de MATLAB

    Normalmente se requiere de modelos computacionales con el fin de resolver

    problemas de ingeniera. Muchas veces puede ser til hacer un programa que

    utilice matrices, complejos, y otras estructuras matemticas, pero fcil de escribir y

    revisar. MATLAB es ideal para esto. Ya que es una herramienta tan til y

    poderosa, se dar una idea general sobre su manejo, con el fin de facilitar su uso.

    Esta presentacin est organizada de la siguiente forma:

    Generalidades.

    Comandos de programacin.

    Comandos matemticos.

    Programas de ejemplo variados.

    Cada uno de los vnculos de estas secciones, contiene una explicacin breve y

    ejemplos pequeos de cada comando. La seccin de ejemplos, contiene algunos

    programas completos, donde se utilizan los comandos tratados.

  • ENSEANZA 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 aadir un comentario en el programa. Estos comentarios son

    importantes para que otros puedan entender el contenido con mayor facilidad.

    2. Generalidades

    Esta es una breve introduccin al manejo de variables (escrita para las

    personas que nunca han usado MATLAB), expresiones y archivos con

    extensin .m (programas ejecutables por MATLAB), con respecto a su creacin

    y uso.

    La idea es tratar de manera general, como es el uso de variables, expresiones y

    comandos en MATLAB, as como sus caractersticas. Adicionalmente dar una

    introduccin al uso de los archivos con extensin .m (programas ejecutables por

    MATLAB) y como trabajar con ellos.

    2.1. Manejo de variables:

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

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

    ciertas reglas.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 45 -

    Estas reglas son:

    NO pueden comenzar con un nmero, aunque si pueden tener nmeros

    (variable1 es un nombre vlido).

    Las maysculas y minsculas se diferencian en los nombres de variables. (A

    y a son dos variables diferentes)

    Los nombres de variables no pueden contener operadores ni puntos. (No es

    vlido usar /, *, -, +, ...)

    Si se trabaja con complejos slo puede utilizarse un de los nombres i y/o j

    para variables. Ver complejos.

    No es necesario definir el tipo de variable o tamao (si se usa un vector y

    despus se expande, no hay problema)

    2.2. Manejo de expresiones:

    Una expresin en MATLAB, puede ser:

    Una variable o un nmero. (ej: variable1, x, 3, 22.3)

    Un comando aplicado. (ej: norm(A), sin(2*pi) )

    Una expresin matemtica. (ej: 2+3*variab1^ 4.5)

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 46 -

    Si cualquiera de las anteriores se escribe en la lnea de comandos (>> ) del

    MATLAB, l devolver el nombre de la variable y su valor (en caso de que

    la expresin tenga nombre, de no tenerlo, MATLAB devolver ans =

    resultado). Un punto importante que se debe resaltar es que esto ocurre

    siempre y cuando la expresin no termine con punto y coma. Al aadir un

    punto y coma al final de la expresin MATLAB no imprime su valor en la

    pantalla, aunque si realiza el clculo. (a=3+2; deja en a el valor de 5, pero

    no lo muestra).

    2.3. Manejo de comandos:

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

    necesario tener las libreras en que se encuentran los comandos que se

    desean utilizar. Aunque la gran mayora de los comandos utilizados siempre

    vienen incluidos en las libreras.

    MATLAB NO distingue entre maysculas y minsculas en los comandos (a

    menos que se trabaje en Unix) . El resto de esta presentacin trata cada

    comando en detalle (los ms usados).

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 47 -

    2.4. Manejo de archivos con extensin .m:

    Todos los comandos a que se refiere esta presentacin pueden utilizarse

    directamente desde la lnea de comandos del MATLAB (>> ). Sin embargo la

    idea es hacer un archivo (con extensin .m) que contenga el programa (para

    poder modificarlo, revisarlo, correrlo otra vez ....) ya que es ms ventajoso

    as. Los programas no requieren indentacin como en los ejemplos que he

    puesto aqu, sin embargo es recomendable hacerlo por claridad al intentar

    modificar el programa o revisarlo.

    Para trabajar estos archivos, es necesario saber:

    Que es: Es un archivo de texto como cualquier otro donde se encuentra el listado del programa. (slo que su extensin no es txt sino m)

    Como crear uno: Las formas ms fciles son:

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

    Desde Windows: con el NOTEPAD, teniendo la precaucin de cambiar el tipo de archivo a Todos los archivos (*.*) antes de grabarlo. (de lo

    contrario el archivo quedar con nombre archivo.m.txt y el MATLAB no

    podr correrlo, la solucin es quitar el .txt.).

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 48 -

    Como correrlo para obtener los resultados: Desde la lnea de comandos de MATLAB se escribe el nombre del archivo (sin el .m)

    NOTAS:

    El archivo debe quedar grabado en el mismo directorio que MATLAB para

    poder correrlo. Y si el archivo fue escrito en Unix la extensin tiene que ser

    escrita en minscula (m), y debe escribirse el nombre exactamente igual

    para correrlo (Unix diferencia entre maysculas y minsculas)

    2.5 Comandos bsicos de programacin

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

    menos los siguientes comandos:

    2.5. 1 Comando END

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

    de su uso ver if, while y for)

    2.5.2. Comando IF

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

    realiza la accin que se desee.

    La sintaxis de la orden es:

    if (condicin), (ordenes 1) [else, (ordenes 2)] end;

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 49 -

    Donde las ordenes entre [ ] son opcionales.

    (ordenes 1) son las ordenes que se realizarn si (condicin) se cumple.

    (ordenes 2) son las ordenes que se realizarn si (condicin) NO se cumple.

    (condicin) Puede ser:

    a == b (verifica si a es igual a b)

    a < b (verifica si a es menor que b)

    a > b (verifica si a es mayor que b)

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

    a ~= b (verifica que a y b sean diferentes)

    El siguiente ejemplo ilustra el uso de if:

    %Ejemplo de uso de if. n=0; if n==0,

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

    % su resultado en pantalla. else,

    n = 1 end; n = 2; if n == 0, n

  • ENSEANZA 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 condicin.

    La sintaxis de la orden es:

    while (condicin), (ordenes) end;

    (ordenes) son las ordenes que se realizarn mientras (condicin) se

    cumpla.

    (condicin) Puede ser:

    a == b (verifica si a es igual a b)

    a < b (verifica que si a es menor que b)

    a > b (verifica que si a es mayor que b)

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 51 -

    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

  • ENSEANZA 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 nmero. determinado de veces.

    La sintaxis de la orden es:

    for (contador), (ordenes) end;

    (ordenes) son las ordenes que se realizarn (contador) llega a su valor final.

    (contador) Es de la forma:

    variable = a [ , b ] : c

    Donde:

    variable es el contador en s.

    a es el valor inicial del contador (variable).

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

    c es el valor final del contador (variable).

  • ENSEANZA 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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 54 -

    2.5. 5 Comando PLOT

    Sirve para obtener resultados grficos en 2D.

    La sintaxis de la orden es:

    plot(x, y);

    x es el vector que contiene los valores de x.

    y es el vector que contiene los valores de y,

    tal que el valor de y en la posicin uno del vector corresponde al primer

    valor del vector x. La grfica se realiza uniendo una serie de rectas entre los

    puntos incluidos en los vectores X y Y. Si las curvas quedan muy mal

    hechas, (se notan las rectas) puede ser necesario disminuir el paso de los

    vectores y aumentar el nmero de puntos.

    Para claridad, puede ser necesario leer la parte correspondiente a vectores

    a la orden FOR.

    El siguiente ejemplo ilustra el uso de plot:

    % Ejemplo de uso de plot.

    for i =1:101,

    x(i) = (i-1) /100;

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 55 -

    y(i)=x(i) 3 - 1; % Organiza en vectores la funcin y=x^3 - 1

    end;

    plot(x, y);

    pause; %pausa el computador hasta que se presione una tecla ,esta

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

    cada una por separado. Ya que MATLAB las dibuja en la misma ventana

    siempre. (a menos que se use el comando FIGURE).

    Al correr el programa se obtiene la grfica de la curva y=x3 -1 (para 0

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 56 -

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

    donde debemos hacer lo siguiente:

    >> t = 0:.3:10;

    >> y = sin(t);

    >> plot( t , y)

    Aqu el resultado grfico:

  • ENSEANZA 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 expresin y = sin(t); va a definir los valores de

    los componentes que son: sin(0), sin(0.3), sin(0.6), etc. Finalmente, plot(t,y)

    usa el vector de t y los valores de y para la construccin del grfico.

    2.6 Funciones de dos variables

    Vamos a elaborar la grfica de la funcin z(x,y) = x exp( - x^2 - y^2):

    >> [x,y] = meshgrid(-2:.2:2, -2:.2:2);

    >> z = x .* exp(-x.^2 - y.^2);

    >> mesh(z)

  • ENSEANZA 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

  • ENSEANZA 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( Tambin 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

    Tambin se puede escribir as.

  • ENSEANZA 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 vlido de variable, en la que se quiere almacenar el

    valor que se pregunta.

    texto puede ser:

    Una variable o,

    Una cadena.

    El siguiente ejemplo ilustra el uso de input:

    %Ejemplo de uso de input.

    a = 0; % hace vlido el nombre de variable a.

    a = input( Teclee el valor de a: );

    tex = Cual es el nuevo valor de a? ;

  • ENSEANZA 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.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 62 -

    Comandos bsicos matemticos

    Lo que hace verdaderamente poderoso al MATLAB es la facilidad para

    realizar operaciones matemticas con elementos como: (en cada vnculo se

    encuentra las ordenes y sintaxis para cada tipo de elemento).

    2.7 Vectores y Matrices

    Los vectores y matrices en MATLAB se trabajan igual en cuanto a

    asignacin, por eso se explican juntos. Pero las operaciones posibles, si

    son diferentes, y estn separadas bajo los encabezados correspondientes.

    Asignacin:

    La asignacin de variables en MATLAB es sencilla, y los vectores y

    matrices no son la excepcin. Cuando se desea dar el valor a toda una

    matriz se puede realizar directamente de la siguiente forma:

    A = [1 2 3 4 ; 5 6 7 8; 9 0 1 2];

    A = [1, 2, 3, 4;5, 6, 7, 8;9, 0, 1, 2];

  • ENSEANZA 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 fcilmente que un vector fila se asigna as:

    v = [1 2 3];

    v = [1, 2, 3];

    y un vector columna se asigna as:

    v = [1; 2; 3];

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 64 -

    Manejo de subndices:

    Otra forma de asignar valores a una matriz (o un vector) es por medio de los

    subndices. El menor subndice utilizado por MATLAB es 1. Y va aadiendo

    valores a medida que se requieran. Los subndices se escriben entre parntesis.

    Por ejemplo:

    A(2, 3) =1; Asigna al elemento en la fila 2, columna 3 el valor de 1.

    Si se desea cambiar todo el valor de una fila o una columna, es muy

    sencillo hacerlo con el operador : as:

    A(1 , :) = [4 5 6];

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

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

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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 65 -

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

    v = A(:,1);

    Asigna al vector v la primera columna (completa) de la matriz A.

    . Operaciones matemticas simples con matrices y vectores:

    Esto es algo en lo que MATLAB hace las cosas verdaderamente simples, si

    se tienen dos matrices (o vector y matriz, o dos vectores), y se quieren:

    sumar, multiplicar restar slo es necesario anotar esta operacin

    normalmente (como se hara con nmeros). Por ejemplo:

    Si se quieren multiplicar dos matrices A y B y almacenar el resultado en C:

    C = A * B; (Si se hace entre dos vectores (uno fila y el otro columna) el

    resultado es el producto punto entre los dos)

    Si se quieren sumar restar y almacenar el resultado en C:

    C = A + B;

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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 66 -

    2.8. Comandos matemticos para vectores:

    Los comandos matemticos ms empleados con vectores son:

    2.8.1. Comando NORM

    Calcula la norma de un vector o matriz.

    La sintaxis de la orden es:

    Norma = norm( Matriz [, Tipo]);

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

    Matriz es la matriz o vector al que se desea calcular la norma.

    Tipo es el tipo de norma que se desea calcular. Tipo puede ser una de las

    siguientes:

    Si se omite: calcula la norma 2

    en un vector es la magnitud del vector

    2: calcula la norma 2

    inf: calcula la norma infinito: en un vector es el

    mximo valor absoluto, en una matriz es la

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 67 -

    suma ms grande de las filas.

    En Norma se almacena el valor de la norma calculada.

    El siguiente ejemplo ilustra el uso de norm: (ver orden de programacin

    DISP)

    %Ejemplo de uso de norm.

    A = [1 2; 3 4]

    v = [1 2 3 4]

    disp( Para la matriz: );

    n2 = norm(A)

    ni = norm(A, inf)

    disp( Para el vector: );

    n2 =norm(v)

    ni = norm(v, inf)

    % Al escribir una expresin sin punto y coma al final

    % MATLAB muestra su valor en pantalla.

    Al correr el programa se obtienen como salida los siguientes resultados:

  • ENSEANZA 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.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 69 -

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

    mnimo elemento que se encontr en cada una de las columnas (la primera

    componente del vector tiene el menor elemento en la primera columna de la

    matriz, y as sucesivamente).

    La sintaxis de la orden es:

    Mnimo = min( matriz x );

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

    componente (s).

    En Mnimo se retorna (n) el (los) mnimo (s) valor (es) encontrado (s) en la

    matriz o vector.

    El siguiente ejemplo ilustra el uso de min:

    %Ejemplo de uso de min.

    A=[1 2; 3 4]

    v=[1 2 3 4]

    M=min(A)

    m=min(v) % MATLAB diferencia entre maysculas y minsculas.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 70 -

    % Al escribir una expresin sin punto y coma al final

    % MATLAB muestra su valor en pantalla.

    Al correr el programa anterior se obtiene como salida lo siguiente:

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

    mximo elemento que se encontr en cada una de las columnas (la primera

    componente del vector tiene el mayor elemento en la primera columna de la

    matriz, y as sucesivamente).

    La sintaxis de la orden es:

    Mximo = max(Matriz);

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 71 -

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

    componente (s).

    En Mximo se retorna (n) el (los) mximo (s) valor (es) encontrado (s) en la

    matriz o vector.

    El siguiente ejemplo ilustra el uso de max:

    %Ejemplo de uso de max.

    A = [1 2; 3 4]

    v = [1 2 3 4]

    M = max(A)

    m = max(v) % MATLAB diferencia entre maysculas y minsculas.

    Al correr el programa anterior se obtiene como salida lo siguiente:

    A = 1 2 3 4 v = 1 2 3 4 M = 3 4 m = 4

  • ENSEANZA 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:

  • ENSEANZA 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 nmero de componentes de un vector. La sintaxis de la orden

    es:

    Longitud = length (Vector);

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

    Longitud es el nmero de componentes de Vector.

    El siguiente ejemplo ilustra el uso de lenght:

    %Ejemplo de uso de length.

    x = [1 2 3 4 5 6 7 ]

    l = length(x)

    Al correr el programa se obtiene la siguiente salida:

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 74 -

    x = 1 2 3 4 5 6 7 l = 7

    2.9. Comandos matemti cos para matrices:

    Los comandos matemticos ms empleados con matrices son:

    2.9.1. Comando NORM

    Calcula la norma de un vector o matriz.

    2.9.2. Comando MIN

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

    2.9.3. Comando MAX

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

    2.9.4. Comando SIZE

    Devuelve el tamao de la matriz (dimensiones).

    La sintaxis de la orden es:

    [Filas, Columnas] = size(Matriz);

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 75 -

    (Los smbolos [ ] se escriben.)

    tambin:

    Tamao = size(Matriz);

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

    (dimensiones).

    En Filas se almacena el nmero de filas.

    En Columnas se almacena el nmero de columnas.

    Tamao es un vector (fila) en cuyas componentes se almacenan el nmero

    de filas y de columnas, siempre en ese orden.

    El siguiente ejemplo ilustra el uso de size:

    %Ejemplo de uso de size.

    A= [1 2 3; 4 5 6]

    y = size(A)

    [f, c] = size(A);

    f % Al escribir una expresin sin punto y coma final MATLAB

    c % muestra el valor por pantalla

    Al correr el programa se obtiene la siguiente salida:

  • ENSEANZA 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 smbolos [ ] se escriben.)

    tambin:

    Valores = eig( Matriz );

  • ENSEANZA 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 expresin sin punto y coma final MATLAB

    % muestra el valor por pantalla

    D

    Al correr el programa se obtiene la siguiente salida:

  • ENSEANZA 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.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 79 -

    A = [1 2; 3 4]

    I = inv(A);

    I % Al escribir una expresin sin punto y coma al final

    % MATLAB muestra su valor en pantalla.

    Al correr el programa se obtiene como salida la matriz que se desea invertir

    (A), y su inversa ( I ). La salida se ve as:

    A = 1 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

  • ENSEANZA 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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 81 -

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 82 -

    INTRODUCCION A LOS MTODOS NUMRICOS

    MODELOS FISICOS Y MATEMATICOS

    IMPORTANCIA DE LOS MTODOS NUMRICOS

    SOLUCION DE LA ECUACION X2= 2

    DEFINICION DE ALGORITMO

    El algoritmo de EUCLIDES

    MEDICION Y CIFRAS SIGNIFICATIVAS

    CIFRAS SIGNIFICATIVAS.

    CONCEPTO DE PRECISION Y EXACTITUD

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 83 -

    INTRODUCCION A LOS MTODOS

    NUMRICOS

    3.0 MODELOS FISICOS Y MATEMATICOS

    Problemas matemticos y sus soluciones.

    DEFI NI CI ON

    Un modelo matemtico puede definirse como una representacin simblica

    , o simplificada de un fenmeno, en una o varias ecuaciones que expresan

    las caractersticas esenciales de un sistema fsico ,o proceso en trminos

    matemticos.

    Vd = f (vi, p , f ) (1)

    Vd = variable dependiente que refleja el comportamiento o estado del

    sistema.

    Vi = variables independientes como tiempo o espacio a travs de las

    cuales el comportamiento del sistema ser determinado.

    P = parmetros , son reflejos de las propiedades o la composicin del

    sistema.

    f = funciones de fuerza, son influencias externas sobre el sistema.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 84 -

    EJEMPLO:

    De la segunda Ley de Newton:

    F = ma ; reordenando

    M

    Fa = __ ( 2 )

    Caractersticas de este modelo matemtico.

    1.- Describe un proceso o sistema natural en trminos

    matemticos.

    2.- Representa una simplificacin de la realidad.

    3.- Conduce a resultados predecibles.

    Otros modelos matemticos de fenmenos fsicos pueden ser mucho

    ms complejos.

    De nuevo si usamos la segunda Ley de Newton para determinar la

    velocidad final o terminal de un cuerpo, tenemos un expresin de

    aceleracin como la razn de cambio de la velocidad con respecto al

    tiempo:

    dt

    dv=

    m

    F ( 3 )

  • ENSEANZA 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 atraccin hacia abajo debido a la fuerza de la gravedad.

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

    En donde:

    FD = mg

    Fu = -cu

    c = coeficiente de resistencia o arrastre

    Como la fuerza total , es la diferencia entre las fuerzas hacia abajo y las

    fuerzas hacia arriba, tenemos:

    dv = mg - cu ( 7 ) dt m

    dv = g c/m (v) ( 8 ) dt

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

    cuerpo que cae con las fuerzas que actan sobre l.

    Se trata de una ecuacin diferencial o ecuaciones diferenciales.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 86 -

    Si las ecuaciones son ms complejas, se requiere de tcnicas avanzadas

    para obtener una solucin analtica exacta o aproximada.

    Si el objeto est en reposo, v = o y t = 0 , y usando las teoras de

    clculo, obtenemos:

    v(t) = gm/c ( 1 e-(c/m)t ) ( 9 )

    Que es la solucin analtica o exacta,

    v(t) = variable dependiente

    t = es la variable independiente

    c,m = parmetros

    g = funcin de la fuerza

    Ej. 1

    Un paracaidista , con una masa de 68.1 kgs salta de un globo aerosttico

    fijo. Con la ayuda de la ecuacin ( 9 ), calcule la velocidad antes de abrir el

    paracadas, coeficiente de resistencia = 12 kg/seg.

    Datos:

    m = 68.1

    c = 12.5

    g = 9.8 m/s

    v(t) = gm/c ( 1 e-(c/m)t ) substituyendo valores se tiene

    v(t)=53.39 1 e (0.1835)t

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 87 -

    Cuando los mtodos numricos modelos matemticos no pueden

    resolverse con exactitud, se requiere de una solucin numrica que se

    aproxima a la solucin exacta.

    Los mtodos numricos son aquellos en los que se formula el

    problema matemtico para que se pueda resolver mediante operaciones

    aritmticas.

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

    la velocidad con respecto al tiempo , tenemos:

    dv = v = v ( ti + 1 ) v ( ti ) ( 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

  • ENSEANZA 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 despus 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( t

    i ) ( ti + 1 ti ) ( 11 )

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 89 -

    A cualquier tiempo

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

    Ejemplo .2

    Resolver el ejemplo anterior mediante una solucin numrica para calcular

    la velocidad. Emplear un tamao del paso de 2 segundos.

    Datos:

    m = 68.1 kg

    c = 12.5 kg/s

    g = 9.8 m/s

    Substituyendo los valores en la ecuacin 11 e iterando para diferentes

    tiempos se tiene

    V ( ti + 1 ) = v ( ti ) + g c/m v( t

    i ) ( 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

  • ENSEANZA 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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 91 -

    Comparativo entre solucin numrica y solucin analtica

    0

    10

    20

    30

    40

    50

    60

    0 2 4 6 8 10 12 a

    t,s

    V, m

    /s

    Solucin Numrica Solucin Analtica

    Los resultados numricos para la solucin exacta y la solucin numrica

    se dan en la siguiente tabla

    En la tabla t,s es el tiempo en segundos, SN corresponde a la solucin

    analtica y SA a la solucin Numrica

    TABLA DE RESULTADOS

    t,s SN SA

    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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 92 -

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

    Y los resultados de la primera son bastante aceptables.

    IMPORTANCIA DE LOS MTODOS NUMRICOS

    Los mtodos numricos son tcnicas mediante las cuales es posible formular

    problemas matemticos de tal forma que puedan resolverse usando operaciones

    aritmticas.

    El anlisis numrico trata de disear mtodos para aproximar de una

    manera eficiente las soluciones de problemas expresados matemticamente.

    El objetivo principal del anlisis numrico es encontrar soluciones

    aproximadas a problemas complejos utilizando slo las operaciones ms simples

    de la aritmtica. Se requiere de una secuencia de operaciones algebraicas y

    lgicas que producen la aproximacin al problema matemtico.

    Los mtodos numricos pueden ser aplicados para resolver procedimientos

    matemticos en:

    Clculo de derivadas Integrales Ecuaciones diferenciales Operaciones con matrices Interpolaciones Ajuste de curvas Polinomios

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 93 -

    Los mtodos numricos se aplican en reas como:

    Ingeniera Industrial, Ingeniera Qumica, Ingeniera Civil, Ingeniera

    Mecnica, Ingeniera elctrica, etc...

    3.1 SOLUCION DE LA ECUACION X 2= 2

    a) Solucin Analtica.

    La solucin analtica de la ecuacin X2= 2

    es un problema muy antiguo que prcticamente da lugar a los nmeros

    irracionales , pues no existe una representacin racional exacta de 2=x , que es la solucin de la ecuacin

    b) Solucin Numrica.

    La solucin Numrica se puede obtener con cierto numero de cifras

    significativas, y con un cierto tipo de error de aproximacin, por

    medio de un algoritmo simple , aplicando la siguiente formula de

    recursin :

    )2

    (2

    11

    NNN X

    XX +=+ 3.1

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

    a partir de los valores anteriores Xn ..

    El error cometido en cada iteracin es de aproximadamente 0.5 x

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

    aproximaciones que siempre contienen un a cierta cantidad de error.

    A continuacin se presenta una tabla de iteraciones con este

    algoritmo , que es una tabla clsica en Mtodos Numricos.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 94 -

    Iteracin (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 lgica de pasos necesarios para

    ejecutar una tarea especifica , tal como la solucin de un problema .

    Caractersticas de Un Algoritmo:

    1. Finitud. Todo algoritmo debe terminar en un nmero finito de

    pasos.

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

    ambigedades.

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

    4. Salida. Todo algoritmo debe tener una o ms salidas.

    5. Efectividad. Todas las operaciones involucradas deben

    reportar al menos un resultado.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 95 -

    3.3 El algoritmo de EUCLIDES .

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

    es el mximo entero positivo que divide a m y n. As el mximo comn

    divisor de 4 y 6 es 2.

    Sean a, b y q enteros, con b diferente de cero, y satisfacen que a=b*q,

    decimos que b divide a a. q es el cociente y b es un divisor de a.

    Sean m y n enteros tales que son diferentes de cero. Un divisor comn de

    m y n es un entero que divide a m y a n y se escribe en la siguiente

    forma: mcd(m,n), y se interpreta como el mayor comn divisor de m y n.

    Ejemplo 1:

    Los divisores positivos de 30 son: 1,2 3, 5, 6, 10, 15,30

    Y los divisores positivos de 105 son: 1, 3, 5, 7, 15, 21, 35,105;

    As, los divisores positivos comunes de 30 y 105 son: 1, 3, 5, 15.

    Esto implica que el mximo comn divisor de 30 y 105, mcd(30, 105) es

    igual a 15.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 96 -

    3.4 MEDICION Y CIFRAS SIGNIFICATIVAS.

    Antes de empezar con la definicin de errores , que es un concepto

    inherente de los mtodos numricos, se presentaran los conceptos de

    medicin y cifras significativas.

    DEFINICION.

    Una medicin es un procedimiento, por medio del cual se obtienen uno

    o mas conjuntos de datos , que representan un proceso, de cualquier

    clase

    Las mediciones en fsica se efectan por medio de un instrumento de

    medicin.

    La exactitud de una medicin, depende del tipo de medicin y del

    instrumento de medicin. As si se desea medir una partcula de polvo,

    se requiere de un microscopio graduado en Micras. En cambio si se

    desea medir el ancho de una estrella , se requiere de un telescopio con

    graduacin que permita medir aos luz.

    Todas las medidas que realiza un instrumento , se reportan con cierto

    grado de incertidumbre, por ejemplo las medidas de una hoja de papel

    tamao carta se reportan con un error de mm5. , lo cual quiere decir que las dimensiones de la hoja (21.6,27.9cm) solo los tres primeros

    dgitos son significativos.

    CIFRAS SIGNIFICATIVAS.

    DEFINICION.

    Una cifra significativa es cada uno de los dgitos que resultan de hacer

    una medicin, cuando la mxima incertidumbre no es mayor que la

    mitad de la mnima unidad que puede ser medida con el instrumento de

    medicin utilizado

  • ENSEANZA 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 nmeros 0.00002458 y

    0.0002458 tienen cuatro cifras significativas.

    La importancia de las cifras significativas es :

    I .- Es un criterio para especificar que tan confiable es un calculo , o

    procedimiento numrico. Es comn especificar por tanto la confiabilidad

    de un resultado a un numero de cifras significativas dado. Por ejemplo

    en el caso de la hoja de papel tamao carta , podramos decir que la

    superficie de la hoja de papel tiene una confiabilidad de 4 cifras

    significativas, es decir que aun cuando se obtiene como resultado

    602.64 , la confiabilidad de la medicin solo asegura la exactitud de los

    cuatro primeros dgitos, es decir que la superficie de la hoja se reporta

    como 602.6 mm5.0 . II.- Existen ciertos nmeros tales como , l , 7 que representan cantidades especificas que no se pueden expresar con un numero finito

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

    3.14159265 , a la eliminacin que se hace del resto de cifras significativas se le conoce como error de redondeo.

    3.5 CONCEPTO DE PRECISION Y EXACTITUD.

    Cuando se efectan varias mediciones con un mismo instrumento y

    a un mismo objeto, se distinguen dos cosas en los resultados

    obtenidos:

    1.- La repeticin de las mediciones dentro de un rango de valores

    2.- La cercana de las mediciones a un valor , que de alguna forma

    sabemos o consideramos como real.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 98 -

    DEFINICION DE PRECISION

    A la repeticin de valores obtenidos de una medicin se le conoce

    como la precisin de la medida.

    DEFINICION DE EXACTITUD

    A la cercana de las mediciones a un valor que consideramos como

    el valor real se le conoce como exactitud.

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

    unitario la realizamos cinco veces , obtenindose los valores siguientes:

    3.141592653, 3.141592654,3.141592657,3.141592651,3.141592650,

    todas las medidas tendran la misma precisin a 10 cifras significativas,

    sin embargo las medidas de mayor exactitud serian la primera y la

    segunda.

    ERRORES.

    En la vida real , no siempre se conocen las soluciones exactas de los

    problemas que se presentan, ya sea en un proceso econmico,

    administrativo, o cualquier calculo cientfico que se tenga que realizar.

    Por este motivo, la mayor parte de los resultados que se reportan en la

    practica son aproximaciones de las cantidades reales. En el rea de la

    computacin, sucede lo mismo, ya que ninguna computadora puede

    almacenar un numero irracional.

    DEFINICION

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

    conoce de manera general como error.

    Existen muchos tipos de errores(el tratamiento exhaustivo, y estadstico

    de estos queda fuera del alcance del presente texto), dentro de los mas

    importantes para el anlisis numrico, se encuentran :

  • ENSEANZA 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 continuacin describiremos cada uno de ellos.

    ERROR DE REDONDEO

    DEFINICION

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

    conjunto de dgitos , que no se consideran como significativos, siguiendo las

    reglas , establecidas para este caso:

    a) Si el decimal n+1 es menor que 5, simplemente se suprime.

    b) Si el decimal n+1 es mayor o igual a 5 , se incrementa en una

    unidad la ultima cifra conservada.

    Ejemplo :

    Expresio

    n

    REPRESENTACION APROXIMACION ERROR

    1/7 142857.0 0.142857 1/7000000

    LN 2 0.693147180559945

    30941

    0.693147 0.000000180

    559

  • ENSEANZA 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

    Definicin:

    El error de truncamiento es el error que aparece cuando un procedimiento

    infinito, se hace finito.

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

    de una funcin , en series de potencias.

    La expansin de una funcin en series de potencias de Taylor esta dada

    por:

    k

    k

    k

    xxk

    xfxf )(

    !

    )()( 0

    0

    0 == ..3.2 Como se ve esta expansin, es infinita lo cual no es practico, para calcular

    un valor de la funcin, de ah que la serie se trunca , lo cual produce

    automticamente un error ,el cual es precisamente el llamado error de

    truncamiento. pngase como ejemplo, el calculo del valor de e1.5

    ex = ........2462

    1432 +++++ xxxx 3.3

    Aqu se tendrn diferentes errores, dependiendo del numero de trminos

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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 101 -

    Valor

    Real

    e1.5

    Numero de

    trminos de la

    expansin

    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 aproximacin para cada expansin, esta dado por la expresin:

    Rn)!1(

    ))(( 11

    + ++

    n

    axtf nn .3.5

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

    n+1 derivada paramtrica de la funcin.

    Que para este caso el mayor numero de trminos es 6 as que:

    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.

  • ENSEANZA 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 iteracin

    anterior.

    Ejemplo: ln(3.5)= 1.25276 la aproximacin usando una expansin de

    Taylor con 6 trminos es 14.3489, por tanto el error absoluto es:

    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

    V

    VV .3.8

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

    obtenido o aproximado . Como ya se menciono, no siempre se conoce

    el valor real , por tanto se usa el valor esperado o bien el valor

    calculado anteriormente en una iteracin.

  • ENSEANZA 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 trminos de una expansin en

    series de Mc Claurin.

    Cos(6)= 0.960170, la expansin con 6 trminos proporciona el valor -0.733121

    As r = 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 clculos esta dado por la

    expresin Eror de redondeo = 5 X 10-n-1 donde n es el numero de decimales que

    se estn considerando.

    Como ejemplo al redondear el error relativo del calculo anterior del coseno se

    tiene lo siguiente.

    Cantidad Redondeado a

    decimales

    Cantidad

    redondeada

    Error cometido

    1.76353 4 1.7635 5X10-5

    3 1.763 5X10-4

    2 1.76 5X10-3

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

    estudiante reafirmar lo visto hasta ahora.

  • ENSEANZA 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 funcin senxe x , cual es el error de redondeo, que se comete al

    calcular el valor de la funcin en x = 6.33 y redondear a 5 decimales.

    4.- Cual es el error mximo que se comete cuando se redondea un numero

    a 7 decimales.

    Errores de truncamiento

    5.- Dada la funcin senxe6 , determine el error de truncamiento , cuando esta se

    evala en el punto 3.24, con los 6 primeros trminos de la serie de Mc

    Claurin .

    6.- Cual es el error Mximo permisible cuando la funcin cos(6x^2) , se

    expande en una serie de Mc. Claurin.

    7.- Sea 1+x+0.63x^2+0.534x^3+0.768x^4+589x^5 , la expansin al 50

    termino de una funcin f(x) , cual seria el mximo error cometido con esta

    expansin.

    Errores Absolutos y Relativos

    8.- Cual es el error absoluto , que se comete en el problema 5

    9.- Cual es el error relativo que se comete en el problema 5

    10 Cual es el error relativo que se comete en el problema 7 si el valor de la

    funcin es 4.18x10 4 , en el punto 2.3456

  • ENSEANZA 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 funcin.

    BIBLIOGRAFIA.

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

    ,1987

    Booth, G.W. y T.L. Peterson , Non Linear Estimation , I.B.M.Share

    Program Pa. Num 687

    Steven C. Chapra, Raymond P. Canale . Mtodos Numricos para Ingenieros

    , Mc Graw Hill Interamericana,2003.

    Mathews H, John , Fink D. Kurtis . Mtodos Numricos con MATLAB .

    Pearson Educacin , S.A. Espaa ,2000

    Kunz, Kaiser S. (1957). Numerical Anlisis , Mc Graw Hill, Nueva Cork.

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 106 -

  • ENSEANZA 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

  • ENSEANZA DE LOS METODOS NUMERICOS CON MATLAB

    JOSE GARZON ARIAS - 108 -

    SOLUCION NUMERICA DE ECUACIONES

    4.0 DEFINICIONES BASICAS

    Definicin de una ecuacin

    DEFI NI CI ON

    Una ecuacin es una expresin Matemtica, que contiene trminos

    algebraicos , funciones trigonometricas, funciones exponenciales,

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

    Existen diferentes tipos de ecuaciones , dependiendo de los

    trminos, las hay lineales como por ejemplo 45y+26=73. En general se

    puede hablar de ecuaciones polinomiales de la forma:

    anxn+an-1x

    n-1+an-2xn-2+an-3x

    n-3+=b(4.1)

    Ecuaciones trigonometricas, las que tienen funciones trigonometricas,

    ejemplo sen(2x)+5x=2. Ecuaciones logartmicas, las que tienen logaritmos,

    como por ejemplo 5log(3x)+10=1 etc.

    En general se distinguen dos tipos de ecuaciones , las lineales y las

    no lineales.

    RAICES DE ECUACIONES

    DEFI NI CI ON

    Una raz de una ecuacin es un