Upload
yelimope
View
54
Download
6
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