Practica_Computacional_I

Páginas: 5 (1247 palabras) Publicado: 25 de octubre de 2015
Universidad de Pamplona
Facultad de Ciencias B´asicas
Departamento de Matem´aticas
Pr´
actica Computacional Ecuaciones Diferencales 2015-II

Contenido:
1. Funciones en la l´ınea de comando.
2. Campo de direcciones.
3. Soluciones num´ericas de un problema de valor inicial.
Gr´afica de la soluci´on.
Gr´afica del campo de direcciones y curvas soluci´on.
Encontrar valores num´ericos de la soluci´onen valores t.
4. Soluci´on simb´olica de las EDOs.
Soluci´on general.
Resoluci´on de los problemas de valor inicial.
Gr´afica de la soluci´on.
Encontrar valores num´ericos de la soluci´on en valores t.
1. Definici´
on de funciones en la l´ınea de comando
Si se desea utilizar una funci´on varias veces es conveniente definirla como una funci´on de
l´ınea de comando (inline function):
f1=inline(sin(x)*x , x )
define la funci´on f1 (x) = sen(x) ∗ x. Hay que notar que los argumentos de inline deben
ser cadenas de caracteres (strings) y no expresiones simb´olicas. De esta forma se puede
usar f1 en las expresiones que se escriban en la l´ınea de comando.
Tambi´en se pueden definir funciones de varias variables:
g1=inline( x*y+sin(x) , x , y )
define la funci´on g1 (x, y) = xy + sen(x) de dosvariables.
2. Campo de direcciones
En primer termino debes copiar el archivo dirfield.m al directorio de trabajo de Matlab.
function dirfield(f,tval,yval)
% dirfield(f, t1:dt:t2, y1:dy:y2)
% grafica el campo de direcciones para la ED ordinaria de primer orden
y’=f(t,y)
% usando valores de t desde t1 hasta t2 con espaciamiento dt

%
%
%
%
%
%
%
%

usando valores de y desde y1 hasta t2 conespaciamiento dy
f es el nombre de funcion escrita (sin comillas) (inline function) o el
nombre de un archivo m (con comilas).
Ejemplo: y’ = -y^ 2+t
Muestra el campo de direcciones para t en [-1,3], y en [-2,2], usando
un espaciamiento de 0.2 tanto para t como para y:
f = inline(’- y^ 2 + t’,’t’,’y’)
dirfield(f, -1:.2:3, -2:.2:2)

[tm,ym]=meshgrid(tval,yval);
dt = tval(2) - tval(1);
dy = yval(2) - yval(1);yp=feval(vectorize(f),tm,ym);
s = 1./max(1/dt,abs(yp)./dy)*0.35;
h = ishold;
quiver(tval,yval,s,s.*yp,0,’.r’); hold on;
quiver(tval,yval,-s,-s.*yp,0,’.r’);
if h
hold on
else
hold off
end
axis([tval(1)-dt/2,tval(end)+dt/2,yval(1)-dy/2,yval(end)+dy/2])
Se define la funci´on g en la l´ınea de comando. Dicha funci´on es de dos variables: t y y,
correspondientes al lado derecho de la ecuaci´ondiferencial y (t) = g(t, y(t)). Por ejemplo,
la ecuaci´on diferencial y (t) = ty 2 se define como:
g=inline( t*y^ 2 , t , y )
Es necesario utilizar inline(. . ., t , y ), aunque las variables t o y no aparezcan en la
f´ormula.
Para graficar el campo de direcciones de la EDO para un domino de t desde t0 hasta
t1 con un espaciamiento de dt y y desde y0 hasta y1 con un espaciamiento de dy, se
utilizadirfield(g,t0:dt:t1,y0:dy:y1). Por ejemplo, para t y y entre -2 y 2 con un
espaciamiento de 0.2, es necesario escribir en la l´ınea de comando:
dirfield(g,-2:0.2:2,-2:0.2:2)
lo que resulta en:

3. Soluci´
on num´
erica de un problema de valor inicial
En primer t´ermino es necesario definir la funci´on en la l´ınea de comandos g correspondiente
al lado derecho de la ecuaci´on diferencial y (t) = g(t,y(t)). Continuando con el ejemplo, la
ecuaci´on diferencial y (t) = ty 2 se define como:
g=inline( t*y^ 2 , t , y )
Para graficar la soluci´on num´erica de un problema de valor inicial con la condici´on inicial y(t0 ) = y0 , se puede graficar la soluci´on para t que va desde t0 hasta t1 usando
ode45(g,[t0,t1],y0).
Ejemplo: Para resolver el problema de valor inicial y (t) = ty 2 sujeto a y(−2) = 1 enel
intervalo [−2, 2] se usa:
ode45(g,[-2,2],1)
lo que resulta en

Los c´ırculos marcan los puntos en los que se realiz´o el c´alculo num´erico (dichos puntos
son elegidos por Matlab para optimizar la exactitud y eficiencia del algoritmo). Se pueden
obtener los vectores ts y ys con las coordenadas de estos puntos usando
[ts,ys]=ode45(g,[t0,t1],y0). Posteriormente es posible graficar la soluci´on...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS