You are on page 1of 10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 1/10

Cronograma 2do cuatrimestre 2013


Rgimen de cursada
Dia Clase Unidad Descripcin
Dos parciales, con posibilidad de un recuperatorio.
Mierc. 14/8 Teora 1,2 1 Introduccin, Matlab
Posible evaluacin en computadora.
Jue. 15/8 Prctica 1,2 2 Error, representacin de nmeros
Jue. 22/8 Prctica 2 Promocin:
en Punto flotante.
Promedio parciales >= 7, cada parcial con nota >=5.
Mierc. 28/8 Teora 3 3 Solucin de ecuaciones no lineales,
Criterios aprox., mtodos Habilitacin:
Jue. 29/8 Prctica 3
cerrados, mtodos abiertos, Promedio parciales >= 5, cada parcial con nota >=4.

Mtodos Numricos Jue 5/9


Mierc. 11/9
Jue. 12/9
Prctica 3
Teora 4
Prctica - 4 4
races de polinomios,
Sistemas de ecuaciones no lineales.
Solucin sist. ecuaciones lineales,
Bibliografa
(disponible en biblioteca de la Facultad)
Mierc 18/9 1er parcial Eliminacin Gaussiana, LU,
Condicin, normas, mtodos
Prof.: Ana Luca Dai Pra daipra@fi.mdp.edu.ar Mierc 25/9 Teora 5
indirectos
Mtodos numricos: con MATLAB. Mathews,
John H. 1999 (10391; 10414; 10639; 12158 )
Jue. 26/9 Prctica 5
JTP.: Marcel Brun mbrun@fi.mdp.edu.ar Jue. 3/10 Prctica 5
5 Interpolacin y aproximacin
polinomial,
Mtodos numricos para ingenieros. Chapra,
Steven C. 2003. (10615; 9931 ) , 2007 (11233;
Ay.: Florencia Montini florenciamontini @fi.mdp.edu.ar Mierc 9/10 Teora 6 Interpolacin por partes,
Aprox. por Mnimos cuadrados, 12027) 2011(12283).
Jue 10/10 Prctica 6
Matas Hadad mhadah@fi.mdp.edu.ar Jue 17/10 Prctica 6 6 Integracin,
Mtodos numricos: aplicados a la ingeniera.
Nieves Hurtado. 2003. (10510).
Mtodos Newton-Cotes,
Armando Pezzente apezzente @fi.mdp.edu.ar Mierc 23/10 Teora 7
Romberg, Integr. Adaptativa. Numerical methods. R. L. Burden y J. Douglas
Jue. 24/10 Prctica 7 Faires. 2005. (11323).
7 Solucin Ecuaciones Diferenciales
Mierc 30/10 Teora 7 Ordinarias (EDO), Numerical Methods, Software, and Analysis Rice,
Jue 31/10 Prctica 7 Mtodos Euler, Heun, Taylor John R 1993 (8145).
Jue 7/11 Prctica 7 Mtodos Runge-Kutta (RK)
Numerical methods using Matlab. Penny, John
www3.fi.mdp.edu.ar/metodos Mierc 13/11 2do parcial
Sistemas EDO.
Ecuaciones Diferenciales Parciales Dr. 1999. (10787; 11322; 11321).
Jue 21/11 Repaso (EDP) Cualquier texto de Mtodos Numricos o
Mierc 28/11 Recuperatorio Anlisis Numrico.

Los mtodos numricos son tcnicas mediante las cuales es posible formular problemas
matemticos de tal forma que puedan resolverse usando operaciones aritmticas, Aunque
Mtodos Numricos hay muchos tipos de mtodos numricos, comparten una caracterstica comn:
invariablemente se debe realizar un buen nmero de tediosos clculos aritmticos. No es raro
que con el desarrollo de computadoras digitales, eficientes y rpidas, el papel de los mtodos
Necesidad de transformar un problema numricos en la solucin de problemas de ingeniera haya aumentado en forma considerable
en los ltimos aos.
matemtico en numrico y resolverlo STEVEN C. CHAPRA, RAYMOND P. CANALE, Mtodos Numricos para Ingenieros con
Aplicaciones en Computadoras Personales, McGraw Hill, Mxico, 1987. Prefacio.

Mtodo analtico: Permite la obtencin de resultados Han pasado veinte aos desde que se public la primera edicin de este libro. Durante ese
analticos y exactos, pero a veces limitados. (Procesamiento periodo, nuestro escepticismo acerca de que los mtodos numricos y las computadoras
simblico). tendran un papel prominente en el currculo de la ingeniera particularmente en sus etapas
tempranas ha sido rebasado por mucho. As, esta nueva edicin an se basa en la premisa
fundamental de que debe darse a los estudiantes de ingeniera una introduccin profunda y
Mtodo numrico: Procedimiento (o algoritmo) mediante el temprana a los mtodos numricos
Los mtodos numricos nos vuelven aptos para entender esquemas numricos a fin de
cual se obtiene, (casi siempre de manera aproximada), la resolver problemas matemticos, de ingeniera y cientficos en una computadora,
solucin numrica a ciertos problemas, realizando reducir esquemas numricos bsicos, escribir programas y resolverlos en una
evaluaciones de funciones y operaciones aritmticas computadora y usar correctamente el software existente para dichos mtodos y no
solo aumenta nuestra habilidad para el uso de computadoras sino que tambin amplia
elementales. la pericia matemtica y la comprensin de los principios cientficos bsicos.
STEVEN C.CHAPRA, RAYMOND P. CANALE, Mtodos Numricos para Ingenieros con
Aplicaciones en Computadoras Personales, McGraw Hill, Mxico, 2007. Prefacio

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 2/10

Importancia de conocer los


Soluciones a tipos de problemas que Mtodos Numricos
analizaremos mediante
Herramientas poderosas en la resolucin de problemas que
Mtodos Numricos son imposibles o muy difciles de resolver analticamente.
Aunque muchos paquetes de software disponen de
Ecuaciones no lineales de una variable herramientas de mtodos numricos, el uso inteligente de
Sistemas de ecuaciones lineales y no lineales estos programas depende del conocimiento de la teora bsica
Interpolacin y aproximacin polinomial en que se basan los mtodos.
Integracin En los paquetes de software disponibles, no necesariamente
Ecuaciones diferenciales estn todos los mtodos implementados,

Aritmtica finita Error El problema a resolver puede formar parte de un programa de


computacin y necesita resolverse exclusivamente por
Programacin mtodos numricos.

Clculo simblico Necesidad de adoptar un


(Clculo formal o lgebra computacional) lenguaje de programacin
Programas que manipulan expresiones algebraicas no numricas
generando soluciones en modo exacto. Adoptaremos como lenguaje de trabajo al Matlab.
Implementa las modalidades del clculo analtico. Razones:
Los lenguajes de programacin basados en clculo simblico son la Facilidad de uso. Visualizacin, cmputo,
interfase natural entre el cdigo maquina y el lenguaje de las matemticas.
programacin.
Estos programas combinan perfectamente herramientas de manipulacin
simblica con tcnicas que permiten efectuar clculos numricos de Lenguaje tcnico, adoptado por universidades,
precisin arbitraria. empresas e industrias.
Ejemplo: derivada de cos(x)+x^2 Herramientas actualizadas
>> x =1:10
x= 1 2 3 4 5 6 7 8 9 10 Utilizacin en el resto de la carrera.
>> f=cos(x)+x.^2
f = 1.5403 3.5839 8.0100 15.3464 25.2837 36.9602 49.7539 63.8545 80.0889 99.1609
>> diff(f)
Facilidad de extensin (agregado y modificacin de
ans= 2.0436 4.4262 7.3363 9.9373 11.6765 12.7937 14.1006 16.2344 19.0721 sus funciones)
>> diff('cos(x)+x^2')
ans = -sin(x)+2*x

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 3/10

MATLAB Tipos de datos


El tipo de dato bsico es el arreglo, el cual no necesita ser
Es un sistema interactivo, dimensionado, puede estar integrado por seis tipos de datos.
Tipo de dato bsico: matriz (arreglo), Matrix laboratory double - Utilizado para todos los clculos, los dems tipos no
Est basado en el uso de funciones. Posee conjuntos de pueden ser utilizadas en clculos (modif. V7 single ).
funciones para problemas especficos: toolboxes (caja de char -16 bits, el arreglo constituye un string.
herramientas),
sparse - Matrices ralas, slo 2D.
Considera problemas de distintas reas tcnicas:
procesamiento de seales, procesamiento de imgenes, storage - Enteros con signo y sin signo, no admiten
sistemas de control, simulacin, redes neuronales, lgica operaciones matemticas.
difusa, algoritmos genticos, estadstica, etc. cell - Arreglos compuestos de distintas clases de datos u otros
La mayora de las funciones estn abiertas al usuario. arreglos.
struct - Objeto definido por el usuario.

Tipo de datos Comandos MATLAB


Arreglo
 Toda instruccin dada a continuacin del prompt >> es
considerada un comando.

Carcter Numerico Celda Estructura  Los comandos comprenden:


(char) (numeric) (cell) (struct) Instrucciones de asignacin o sentencias
Operaciones matemticas y lgicas
Objeto definido
Doble precisin Almacenamiento por el usuario Llamadas a funciones
(double) (int8,int16,int32,
uint8,uint16,uint32) Referencias a conjunto de instrucciones

Matrices ralas Comandos de edicin, ayuda o control


Simple precisin (v.7)
(sparse) ...

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 4/10

Espacio o memoria de trabajo


Comandos de ayuda
(Workspace)
path y cd muestra y cambia
Comandos: el directorio actual.
who permite ver los nombres
what dir muestra el
de todas las variables en uso.
contenido del directorio.
whos muestra los nombres de variables con sus respectivos
tamaos, tipos y total de espacio utilizado. help comando Ayuda sobre el uso de un comando o sobre
los comandos incorporados en una toolbox.
clear [variables] borra variables.
helpwin va a la ventana de ayuda
save archivo [variables] guarda el workspace o parte de l en un
archivo .mat (archivo binario). Hay opciones para otros tipos de helpdesk y doc va a archivo web
archivo.
lookfor palabra busca comandos en los que aparezca
load archivo lee archivo .mat y lo guarda en el workspace. palabra en los comentarios de encabezamiento.

Ingreso de Matrices
Operaciones entre Matrices
Los elementos ubicados dentro de una misma fila pueden ir
separados por coma.
Cada fila va separada por punto y coma + suma (ambos operadores deben tener igual tamao)
Ejemplo: Crear una matriz A de tamao 3x3.
- resta (ambos operadores deben tener igual tamao)
>> A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
* multiplicacin (un operador m x n y el otro n x p)
>> A = [ 1 2 3;
Un escalar es una matriz de 1x1 y
4 5 6; ^ potencia (a ^ 2, es equivalente a a * a )
un vector es una matriz de 1xn o
7 8 9] nx1 si es un vector columna traspuesta
\ divisin izquierda x=A\b es la solucin de A*x=b
Un ; al final del comando anula la visualizacin de los
resultados / divisin derecha x=b/A es la solucin de x*A=b
>> A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ] ;
>>

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 5/10

Matrices Complejas
Operaciones elemento a elemento
Las letras i y j pueden ser utilizadas como unidad imaginaria (prestar
Ambos operadores deben tener igual tamao o uno de ellos debe atencin si i y j no estn siendo utilizadas como variables).
ser un escalar. Ejemplos: >> 2+6i;
>> A = [1 2; 3 4] + j*[5 6; 7 8]
A=
. * multiplicacin 1.0000 + 5.0000i 2.0000 + 6.0000i
3.0000 + 7.0000i 4.0000 + 8.0000i
. ^ potencia >> B = [1+5i 2+6i; 3+7i 4+8i]
B=
. / divisin izquierda 1.0000 + 5.0000i 2.0000 + 6.0000i
3.0000 + 7.0000i 4.0000 + 8.0000i
. \ divisin derecha >> A+B
ans = 2.0000 +10.0000i 4.0000 +12.0000i
Ejemplo: [1,2,3,4] .* [1,2,3,4] = [1,4,9,16] 6.0000 +14.0000i 8.0000 +16.0000i
>> A*B
ans = -60.0000 +42.0000i -68.0000 +56.0000i
[1,2,3,4] .^ 2 = [1,4,9,16] -76.0000 +74.0000i -84.0000 +96.0000i

Generacin de Matrices especiales


Submatrices
Funcion Utilidad
eye(n) matriz identidad
a b c d d zeros(m,n) matriz de ceros
e f g h A(1:3 ,4) = h ones(m,n) matriz de unos
A=
i j k l l diag(x) crea una matriz con diagonal x o extrae la diagonal
triu(A) obtiene la parte triangular superior de una matriz
m n o p
tril(A) obtiene la parte triangular inferior de una matriz
bd rand(m,n) genera una matriz de valores aleatorios
f h hilb(n) crea una matriz de Hilbert
A(2 ,:) = efgh A(: ,[2 4]) =
j l magic(n) crea un cuadrado magico
>> a=[2 3; 4 5]
n p >> diag(a)
>> diag([1 2])
ans =
Ej: ans = 1 0
2 0 2
5

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 6/10

Sentencias, expresiones y variables Sentencias, expresiones y variables


MATLAB es una lenguaje intrprete, es decir, la expresiones
que se ingresan son interpretadas y evaluadas. Nota:
Las Sentencias MATLAB son de la forma: Una sentencia puede ser continuada en la lnea
siguiente colocando
Variable = expresion
Varias sentencias se pueden colocar en una misma
expresion lnea usando , o ;
Las expresiones estn compuestas por operadores, Si una sentencia es terminada con ; , el resultado de
funciones y nombres de variables. la operacin no se muestra en pantalla.
La evaluacin de la expresin produce una matriz, la cual se MATLAB es sensible a las maysculas y minsculas.
muestra en pantalla y es asignada a una variable para un (var es una variable distinta de Var , VAR o vAr)
futuro uso. Si no se le asigna un nombre a la variable, se
crea la variable ans (answer).

Estructuras de Control Operadores relacionales y lgicos

CICLO
for variable = valor inicial : {incremento :} valor final
sentencias < menor que & y
end > mayor que | o

CICLO CONDICIONAL CONDICION <= menor que o igual ~ no

while condicin if condicin >= mayor que o igual


sentencias sentencias 1 == igual
end {else
sentencias 2 } ~= no igual
end

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 7/10

Ciclos implcitos Funciones Escalares


Funcin Utilidad
for i =1:100 for i =1:10 sin Seno
for i =1:10
cos Coseno Se aplican a cada
a(i) = i c(i) = rand if c(i) > 0.5 tan Tangente
end end c(i) elemento de la matriz
asin Arcseno
end acos Arcoseno
c = rand(1,10) Ej:
a = 1:100 end atan Arcotangente
exp Exponencial
>> a=[2 3; 4 5]
j=(find (c > 0.5)); log Logaritmo natural
>> sin(a)
c(j) rem Resto
Clculo matricial abs Valor absoluto
ans =
c(find(c>0.5)) mod Mdulo
sqrt Raz cuadrada 0.9093 0.1411
Tic, sentencias, toc sign Signo -0.7568 -0.9589
c=[1,3 0.4,0.1,0.3,3,1,0.8,0.2,6] round Redondeo
muestra el tiempo empleado 1.0000 3.0000 3.0000 1.0000 0.8000
Elapsed time is 0.000333 seconds.
6.0000
floor Truncar
Elapsed time is 0.000058 seconds. ceil Aproximar hacia arriba
Elapsed time is 0.000040 seconds.

Funciones Vectoriales Grficos


Se grafican en una ventana aparte.
Funcin Utilidad Devuelven un nico valor
max Mximo
Esta ventana posee menes para todas las transformaciones
por vector necesarias. (pueden variar segn la versin)
min Mnimo
sort Ordenar Ej: Comandos:
sum Suma >> a=[2 3; 4 5];
figure: Crea una ventana de figura y la hace figura corriente.
prod Producto >> max(a)
Mediana
La primera se identifica como figura 1, incrementndose el
median
mean Media ans = nmero en sucesivas figuras.
std Desviacin estandar
4 5 figure n: Crea nuevas ventanas que identifica con el nmero n o
any Alguno >> m=max(max(a)) toma la figura n como corriente.
all Todos
m=
hold on: Se mantiene la misma figura, superponiendo los grficos
hold off: Desactiva el comando anterior.
5

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 8/10

Funciones para graficar Ejemplo 1.

plot Abre una ventana de grfico si no existe y grafica una


serie de puntos (x,y), que pueden estar unidos por una lnea.
x = 0 : pi/50: pi*4;
plot3 Crea una figura si no existe y grafica una serie de y = cos(x);
puntos (x,y,z)
plot(x,y)
surf y mesh Grafican superficies

subplot Divide la ventana de grficos en una matriz de


grficos.

fplot Grafica una funcin dentro de un intervalo

Ejemplo 2. Ejemplo 3.

z = x+y; x = 0 : pi /10 : pi*2;


Plot3 (x,y,z) y =cos(x);
z = x * y;
surf(z)

w = x'*y;
plot3 (x,y,w) mesh(z)

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 9/10

Grficos Grficos (funciones simblicas)


Otros comandos para grficos, equivalentes a los de
menes de figuras Realizan grficos de f(x) donde f es un string o una
expresin simblica representando una expresin
matemtica, involucrando variables simblicas (syms),
title Ttulo del grfico.
por ej. 'x' e 'y'.
xlabel Etiqueta del eje x
ezplot. Grafica una funcin y=f(x) en el dominio
glabel Etiqueta del eje y
elegido, si no se especifica el dominio asume uno por
gtext Coloca un texto en el grfico usando el mouse defecto.
text Posiciona el texto en coordenadas especificadas.
ezplot3. Grafica curvas en 3D.
grid Coloca una grilla al grfico.
axis Cambia la caracterstica de los ejes
ezsurf. Grafica superficies.
ezmesh. Grafica superficies grilladas.

Ejemplos Archivos M
ezplot('x^2')
2 MATLAB puede ejecutar una secuencia de sentencias guardadas
x
40
en archivos. Tales archivos son llamados archivos M, pues
ezsurf('x^2+y^2') estos poseen extensin .m.

20 Existen dos tipos de archivos M: archivos script y funciones.


2 2
x +y Script: Secuencia de comandos que se ejecutan al colocar el
0 nombre del archivo como comando. Las variables del archivo
-5 0 5 crearn o modificarn las del espacio de trabajo
x
50 Funciones: Extensin de las funciones MATLAB. Se pueden
0 crear funciones especficas para el problema que se desea
5 resolver. Las variables de un archivo de funcin son locales a la
5 funcin.
0 0
y -5 -5 x

Ultima actualizacin 28/08/2013


Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab 10/10

Declaracin de
Archivos de Funcin Entrada/Salida de texto

function salida = nombre_funcion(entrada) Asigna un string a una variable:


% Explicacin de lo que la funcin realiza variable = texto
Sentencias Muestra un texto por pantalla:
salida = valor a retornar; disp(texto)
Muestra un mensaje de error y finaliza la funcin que se
function [s1,..,sn]=nombre_funcion(e1,..,em) est ejecutando:
% Explicacin de lo que la funcin realiza
error(texto)
Sentencias
s1 = valor a retornar; Entrada de un dato. Muestra el texto y el valor que se
... ingrese queda almacenado en variable:
sn = valor a retornar; variable = input(texto)

Algunos tipos de funciones pueden ser declaradas en lnea (inline)

Entrada/Salida de datos

fscanf. Lee datos formateados desde un archivo.


fprintf. Escribe datos formateados en un archivo.
fread. Lee datos binarios desde un archivo.
fwrite. Escribe datos binarios en un archivo
fopen. Abre un archivo
fclose. Cierra un archivo

Ultima actualizacin 28/08/2013

You might also like