Sunteți pe pagina 1din 10

1/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Cronograma 2do cuatrimestre 2011

Mtodos Numricos
Prof.: Ana Luca Dai Pra
JTP.: Marcel Brun
ATP1.: Francisco Alvarez

daipra@fi.mdp.edu.ar
mbrun@fi.mdp.edu.ar
fjalvarez@fi.mdp.edu.ar

www3.fi.mdp.edu.ar/metodos

Mtodos Numricos
Necesidad de transformar un problema
matemtico en numrico y resolverlo
Mtodo analtico: Permite la obtencin de resultados
analticos y exactos, pero a veces limitados. (Procesamiento
simblico).
Mtodo numrico: Procedimiento (o algoritmo) mediante el
cual se obtiene, (casi siempre de manera aproximada), la
solucin numrica a ciertos problemas, realizando
evaluaciones de funciones y operaciones aritmticas
elementales.

Dia
Mierc. 17/8
Jue. 18/8
Mierc. 24/8
Jue. 25/8
Jue 1/9
Mierc 7/9
Jue 8/9
Jue 15/9
Mierc 21/9

Clase
Teora 1,2
Prctica 1,2
Teora 3
Prctica 2,3
Prctica 3
Teora 4
Prctica 3,4
Prctica - 4
Da del estudiante

Jue 22/9
Mierc 28/9
Mierc 5/10
Jue 6/10
Jue 13/10
Mierc 19/10
Jue 20/10
Jue 27/10

Prctica - 4
1er parcial
Teora 5
Prctica 5
Prctica 5
Teora 6
Prctica 6
Prctica 6

Mierc 2/11
Jue 3/11
Jue 10/11
Mierc 16/11

Teora 7
Prctica 7
Prctica 7
Teora 7

Jue 17/11
Mierc 23/11
Jue 24/11
Mierc 30/11

Prctica 7
2do parcial
Repaso
Recuperatorio

Unidad

Descripcin

Introduccin, Matlab

Error, representacin de nmeros


en Punto flotante.

Solucin de ecuaciones no lineales,


criterios aprox., mtodos
cerrados, mtodos abiertos,
races de polinomios,
Sistemas de ecuaciones no lineales.

Solucin sist. ecuaciones lineales,


eliminacin Gaussiana, LU,
Condicin, normas, mtodos
indirectos

Interpolacin y aproximacin
polinomial,
Interpolacin por partes,
Aprox. por Mnimos
cuadrados,

Integracin,
Mtodos Newton-Cotes,
Romberg, Integr. Adaptativa.

Solucin Ecuaciones Diferenciales


Ordinarias (EDO), Mtodos
Euler, Heun, Taylor
Mtodos Runge-Kutta (RK)
Sistemas EDO.
Ecuaciones Diferenciales Parciales
(EDP)

Rgimen de cursada
Dos parciales, con posibilidad de un recuperatorio.
Promocin:
Promedio parciales >= 7, cada parcial con nota >=5.
Habilitacin:
Promedio parciales >= 5, cada parcial con nota >=4.
Bibliografa (disponible en biblioteca de la
Facultad)
Mtodos numricos: con MATLAB. Mathews, John
H. 1999 (10391; 10414; 10639 )
Mtodos numricos para ingenieros. Chapra, Steven
C. 2003. (10615; 9931 )
Mtodos numricos: aplicados a la ingeniera.
A.Nieves Hurtado. 2003. (10510), 2007 (11233)
Numerical methods. R. L. Burden y J. Douglas
Faires. 2005. (11323).
Numerical Methods, Software, and Analysis Rice,
John R 1993 (8145).
Numerical methods using Matlab. Penny, John Dr.
1999. (10787; 11322; 11321).
Cualquier texto de Mtodos Numricos o Anlisis
Numrico.

Soluciones a tipos de problemas que


analizaremos mediante
Mtodos Numricos

Ecuaciones no lineales de una variable


Sistemas de ecuaciones lineales y no lineales
Interpolacin y aproximacin polinomial
Integracin
Ecuaciones diferenciales

Aritmtica finita Error


Programacin

Ultima actualizacin 16/08/2011

2/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Importancia de conocer los


Mtodos Numricos
Herramientas poderosas en la resolucin de problemas que
son imposibles o muy difciles de resolver analticamente.
Aunque muchos paquetes de software disponen de
herramientas de mtodos numricos, el uso inteligente de
estos programas depende del conocimiento de la teora bsica
en que se basan los mtodos.
En los paquetes de software disponibles, no necesariamente
estn todos los mtodos implementados,
El problema a resolver puede formar parte de un programa de
computacin y necesita resolverse exclusivamente por
mtodos numricos.

Necesidad de adoptar un
lenguaje de programacin

Clculo simblico
(Clculo formal o lgebra computacional)
Programas que manipulan expresiones algebraicas no
numricas generando soluciones en modo exacto.
Implementa las modalidades del clculo analtico.
Los lenguajes de programacin basados en clculo
simblico son la interfase natural entre el cdigo maquina
y el lenguaje de las matemticas.
Estos programas combinan perfectamente herramientas
de manipulacin simblica con tcnicas que permiten
efectuar clculos numricos de precisin arbitraria.

MATLAB

Adoptaremos como lenguaje de trabajo al Matlab.

Es un sistema interactivo,

Razones:

Tipo de dato bsico: matriz (arreglo), Matrix laboratory

Facilidad de uso. Visualizacin, cmputo,


programacin.
Lenguaje tcnico, adoptado por universidades,
empresas e industrias.
Herramientas actualizadas
Utilizacin en el resto de la carrera.
Facilidad de extensin (agregado y modificacin de
sus funciones)

Est basado en el uso de funciones. Posee conjuntos de


funciones para problemas especficos: toolboxes (caja de
herramientas),
Considera problemas de distintas reas tcnicas:
procesamiento de seales, procesamiento de imgenes,
sistemas de control, simulacin, redes neuronales, lgica
difusa, algoritmos genticos, onditas, simulacin, estadstica,
etc.
La mayora de las funciones estn abiertas al usuario.

Ultima actualizacin 16/08/2011

3/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Tipos de datos

Tipo de datos

El tipo de dato bsico es el arreglo, el cual no necesita ser


dimensionado, puede estar integrado por seis tipos de datos.

Arreglo

double - Utilizado para todos los clculos, los dems tipos no


pueden ser utilizadas en clculos (modif. V7 single ).
char -16 bits, el arreglo constituye un string.

Carcter
(char)

Numerico
(numeric)

Celda
(cell)

Estructura
(struct)

sparse - Matrices ralas, slo 2D.


storage - Enteros con signo y sin signo, no admiten
operaciones matemticas.
cell - Arreglos compuestos de distintas clases de datos u otros
arreglos.
struct - Objeto definido por el usuario.

Comandos MATLAB
 Toda instruccin dada a continuacin del prompt >> es
considerada un comando.
 Los comandos comprenden:
Instrucciones de asignacin o sentencias
Operaciones matemticas y lgicas
Llamadas a funciones
Referencias a conjunto de instrucciones
Comandos de edicin, ayuda o control
...

Doble precisin
(double)
Matrices ralas
(sparse)

Almacenamiento
(int8,int16,int32,
uint8,uint16,uint32)

Objeto definido
por el usuario

Simple precisin (v.7)

Espacio o memoria de trabajo


(Workspace)
Comandos:
who permite ver los nombres
de todas las variables en uso.
whos muestra los nombres de variables con sus respectivos
tamaos, tipos y total de espacio utilizado.
clear [variables] borra variables.
save archivo [variables] guarda el workspace o parte de l en un
archivo .mat (archivo binario). Hay opciones para otros tipos de
archivo.
load archivo lee archivo .mat y lo guarda en el workspace.

Ultima actualizacin 16/08/2011

4/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Ingreso de Matrices

Comandos de ayuda

Los elementos ubicados dentro de una misma fila pueden ir


separados por coma.
path y cd muestra y cambia
el directorio actual.
what dir muestra el
contenido del directorio.
help comando Ayuda sobre el uso de un comando o sobre
los comandos incorporados en una toolbox.

Cada fila va separada por punto y coma


Ejemplo: Crear una matriz A de tamao 3x3.
>> A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
>> A = [ 1 2 3;

7 8 9]

helpwin va a la ventana de ayuda


helpdesk y doc va a archivo web
lookfor palabra busca comandos en los que aparezca
palabra en los comentarios de encabezamiento.

Un escalar es una matriz de 1x1 y


un vector es una matriz de 1xn o
nx1 si es un vector columna

4 5 6;

Un ; al final del comando anula la visualizacin de los


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

Operaciones entre Matrices


+ suma (ambos operadores deben tener igual tamao)
- resta (ambos operadores deben tener igual tamao)

Operaciones elemento a elemento


Ambos operadores deben tener igual tamao o uno de ellos debe
ser un escalar.
. * multiplicacin

* multiplicacin (un operador m x n y el otro n x p)

. ^ potencia

^ potencia (a ^ 2, es equivalente a a * a )

. / divisin izquierda

traspuesta

. \ divisin derecha

\ divisin izquierda x=A\b es la solucin de A*x=b


/ divisin derecha x=b/A es la solucin de x*A=b

Ejemplo: [1,2,3,4] .* [1,2,3,4] = [1,4,9,16]


[1,2,3,4] .^ 2 = [1,4,9,16]

Ultima actualizacin 16/08/2011

5/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Matrices Complejas

Submatrices

Las letras i y j pueden ser utilizadas como unidad imaginaria


(prestar atencin si i y j no estn siendo utilizadas como
variables). Ejemplos:

A=

2+6i
A = [1 2; 3 4] + i*[5 6; 7 8]
B = [1+5i 2+6i; 3+7i 4+8i]

a
e
i
m

b c d
f g h
j k l
n o p

A(1:3 ,4) =

A+B
ans = 2.0000 +10.0000i 4.0000 +12.0000i
6.0000 +14.0000i 8.0000 +16.0000i

A(2 ,:) =

efgh

A(: ,[2 4]) =

A*B

d
h
l

bd
f h
j l
n p

ans = -60.0000 +42.0000i -68.0000 +56.0000i


-76.0000 +74.0000i -84.0000 +96.0000i

Generacin de Matrices especiales


Funcion
eye(n)
zeros(m,n)
ones(m,n)
diag(x)
triu(A)
tril(A)
rand(m,n)
hilb(n)
magic(n)

Ej:

Utilidad
matriz identidad
matriz de ceros
matriz de unos
crea una matriz con diagonal x o extrae la diagonal
obtiene la parte triangular superior de una matriz
obtiene la parte triangular inferior de una matriz
genera una matriz de valores aleatorios
crea una matriz de Hilbert
crea un cuadrado magico
>> a=[2 3; 4 5]
>> diag(a)
ans =
2
5

>> diag([1 2])


ans =
1 0
0 2

Sentencias, expresiones y variables


MATLAB es una lenguaje intrprete, es decir, la expresiones
que se ingresan son interpretadas y evaluadas.
Las Sentencias MATLAB son de la forma:
Variable = expresion
expresion
Las expresiones estn compuestas por operadores,
funciones y nombres de variables.
La evaluacin de la expresin produce una matriz, la cual se
muestra en pantalla y es asignada a una variable para un
futuro uso. Si no se le asigna un nombre a la variable, se
crea la variable ans (answer).

Ultima actualizacin 16/08/2011

6/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Sentencias, expresiones y variables


Nota:
Una sentencia puede ser continuada en la lnea
siguiente colocando
Varias sentencias se pueden colocar en una misma
lnea usando , o ;

Estructuras de Control
CICLO
for variable = valor inicial : {incremento :} valor final

sentencias
end

CICLO CONDICIONAL

Si una sentencia es terminada con ; , el resultado de


la operacin no se muestra en pantalla.

while condicin

MATLAB es sensible a las maysculas y minsculas.


(var es una variable distinta de Var , VAR o vAr)

end

menor que

&

>

mayor que

<=

menor que o igual

no

>=

mayor que o igual

==

igual

~=

no igual

if condicin

sentencias

sentencias 1
{else

sentencias 2 }
end

Operadores relacionales y lgicos

<

CONDICION

Ciclos implcitos
for i =1:100
a(i) = i
end

for i =1:10
c(i) = rand
end

a = 1:100

c = rand(1,10)

Clculo matricial
Tic, sentencias, toc

for i =1:10
if c(i) > 0.5
c(i)
end
end
j=(find (c > 0.5));
c(j)
c(find(c>0.5))

muestra el tiempo empleado

Ultima actualizacin 16/08/2011

7/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Funciones Escalares
Funcin
sin
cos
tan
asin
acos
atan
exp
log
rem
abs
mod
sqrt
sign
round
floor
ceil

Utilidad
Seno
Coseno
Tangente
Arcseno
Arcoseno
Arcotangente
Exponencial
Logaritmo natural
Resto
Valor absoluto
Mdulo
Raz cuadrada
Signo
Redondeo
Truncar
Aproximar hacia arriba

Se aplican a cada
elemento de la matriz
Ej:
>> a=[2 3; 4 5]
>> sin(a)
ans =
0.9093 0.1411
-0.7568 -0.9589

Grficos
Se grafican en una ventana aparte.
Esta ventana posee menes para todas las transformaciones
necesarias. (pueden variar segn la versin)

Funciones Vectoriales
Funcin
max
min
sort
sum
prod
median
mean
std
any
all

Utilidad
Mximo
Mnimo
Ordenar
Suma
Producto
Mediana
Media
Desviacin estandar
Alguno
Todos

Devuelven un nico valor


por vector
Ej:
>> a=[2 3; 4 5]
>> max(a)
ans =
4 5
>> m=max(max(a))
m=
5

Funciones para graficar


plot Abre una ventana de grfico si no existe y grafica una
serie de puntos (x,y), que pueden estar unidos por una lnea.

Comandos:

plot3 Crea una figura si no existe y grafica una serie de


puntos (x,y,z)

figure: Crea una ventana de figura y la hace figura corriente.


La primera se identifica como figura 1, incrementndose el
nmero en sucesivas figuras.

surf y mesh Grafican superficies

figure n: Crea nuevas ventanas que identifica con el nmero n o


toma la figura n como corriente.
hold on: Se mantiene la misma figura, superponiendo los grficos

subplot Divide la ventana de grficos en una matriz de


grficos.
fplot Grafica una funcin dentro de un intervalo

hold off: Desactiva el comando anterior.

Ultima actualizacin 16/08/2011

8/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Ejemplo 1.

Ejemplo 2.
z = x+y;
Plot3 (x,y,z)

x = 0 : pi/50: pi*4;
y = cos(x);
plot(x,y)

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

Ejemplo 3.

Grficos
Otros comandos para grficos, equivalentes a los de
menes de figuras

x = 0 : pi /10 : pi*2;
y =cos(x);
z = x * y;
surf(z)

title Ttulo del grfico.


xlabel Etiqueta del eje x
glabel Etiqueta del eje y
gtext Coloca un texto en el grfico usando el mouse
text Posiciona el texto en coordenadas especificadas.
grid Coloca una grilla al grfico.
axis Cambia la caracterstica de los ejes
mesh(z)

Ultima actualizacin 16/08/2011

9/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Grficos (funciones simblicas)

Ejemplos
ezplot('x^2')

Realizan grficos de f(x) donde f es un string o una


expresin simblica representando una expresin
matemtica, involucrando variables simblicas (syms),
por ej. 'x' e 'y'.

40

ezsurf('x^2+y^2')

20

x2+y2

ezplot. Grafica una funcin y=f(x) en el dominio


elegido, si no se especifica el dominio asume uno por
defecto.

ezplot3. Grafica curvas en 3D.


ezsurf. Grafica superficies.
ezmesh. Grafica superficies grilladas.

0
-5

0
x

50
0
5

0
y

Archivos M
MATLAB puede ejecutar una secuencia de sentencias guardadas
en archivos. Tales archivos son llamados archivos M, pues
estos poseen extensin .m.
Existen dos tipos de archivos M: archivos script y funciones.
Script: Secuencia de comandos que se ejecutan al colocar el
nombre del archivo como comando. Las variables del archivo
crearn o modificarn las del espacio de trabajo
Funciones: Extensin de las funciones MATLAB. Se pueden
crear funciones especficas para el problema que se desea
resolver. Las variables de un archivo de funcin son locales a la
funcin.

-5

-5

Declaracin de
Archivos de Funcin
function salida = nombre_funcion(entrada)
% Explicacin de lo que la funcin realiza
Sentencias
salida = valor a retornar;
function [s1,..,sn]=nombre_funcion(e1,..,em)
% Explicacin de lo que la funcin realiza
Sentencias
s1 = valor a retornar;
...
sn = valor a retornar;
Algunos tipos de funciones pueden ser declaradas en lnea (inline)

Ultima actualizacin 16/08/2011

10/10

Mtodos Numricos Cap 1: Introduccin a Mtodos Numricos, Matlab

Entrada/Salida de texto
Asigna un string a una variable:
variable = texto
Muestra un texto por pantalla:
disp(texto)
Muestra un mensaje de error y finaliza la funcin que se
est ejecutando:
error(texto)
Entrada de un dato. Muestra el texto y el valor que se
ingrese queda almacenado en variable:
variable = input(texto)

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 16/08/2011

S-ar putea să vă placă și