primera practica ecuaciones diferenciales matlab
TRANSCRIPT
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Con Matlab podemos resolver ecuaciones diferenciales. Vamos a considerar una ecuación
diferencial de primer orden de la forma
.
Cuando se escribe una ecuación diferencial en Matlab, para la primera derivada
se usa el
operador diferencial Dy , si se va a usar la segunda derivada
se escribe D2y y en
general para la derivada n-esima
se una Dny.
Ejemplo 1.- Para la ecuación diferencial
(1) usando Matlab se escribe
D2y = 4 – y
Un procedimiento para resolver con Matlab una ecuación diferencial es usar el comando
“dsolve”, para la ecuación diferencial (1) se tiene: En la ventana COMMAND WINDOWS
de MATLAB, a continuación del prompt >>, escribimos:
>>dsolve(’D2y = 4 – y’)
ans =
C1*cos(t) + C2*sin(t) + 4
Donde C1 y C2 son constantes.
Observe que esta respuesta la entendemos como: y(t) = C1*cos(t) + C2*sin(t) + 4
Donde y(t) es la variable dependiente de la ecuación diferencial dada.
Si tiene las condiciones iniciales, por ejemplo y(0) = 1, Dy(0) = 0 Se indican dentro de dsolve después de la ecuación diferencial
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
>> dsolve('D2y+y = 4','y(0) = 1','Dy(0) = 0 ')
ans =
4 - 3*cos(t)
Ahora las constantes toman un valor dependiente de las condiciones iniciales. Nótese que MATLAB tomó a “t” como variable independiente. Si deseamos que “x” sea la variable independiente entonces se escribe
>> dsolve('D2y+y = 4','y(0) = 1','Dy(0) = 0 ','x')
ans =
4 - 3*cos(x)
En general MATLAB permite definir ecuaciones diferenciales ordinarias mediante la siguiente
sintaxis
Sintaxis.- r = dsolve('eq1,eq2,……, 'cond1,cond2,…… ,'x')
r = dsolve('eq1','eq2',……, 'cond1','cond2',…… ,'x')
El comando r = dsolve('eq1,eq2,……, 'cond1,cond2,…… ,'x'), resuelve una ecuación diferencial
ordinaria especificada por eq1,eq2,……, usando x como variable independiente, las condiciones
iniciales se especifican por cond1, cond2,…Por defecto la variable independiente es t.
Ejemplo 2.-Considere la siguiente ecuación diferencial: 3 2 4 con 0 en 0dx
x x tdt
(2)
>>dsolve('3*Dx+2*x = 4', 'x(0) = 0')
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Ans=
2 2exp( 2* /3)t
Ejemplo 3.- Considere la siguiente ecuación diferencial: '' 5 ' 6 0y y y(0)=1, y´(0)=0 (3)
>> y=dsolve('D2y+5*Dy-6*y=0','y(0) = 1','Dy(0) = 0 ')
Ans=
y = 1/(7*exp(6*t)) + (6*exp(t))/7
La solución se puede representar gráficamente usando “ezplot”; por ejemplo, en el intervalo [-1,2]. >> ezplot(y,[-1 2]) Y se obtiene
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
COMANDOS SIMBOLICOS
Para comprobar si una ecuación es solución de una ecuación diferencial, se procede así:
1. Definir simbólicamente y(t). 2. Sustituir en la ED
Ejemplo 4 .-Comprobar si y = e3tcos(2t) es solución de y’’ – 6 y’ + 13y= 0.
Entonces las variables simbólicas que estamos usando son “ t , y “ ,por tanto usamos:
-1 -0.5 0 0.5 1 1.5 2
1
2
3
4
5
6
7
8
9
10
11
t
1/(7 exp(6 t)) + (6 exp(t))/7
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Lo que da como resultado:
y =
cos(2*t)*exp(3*t)
a =
0
Ejemplo 5. Al sacar un pastel del horno, su temperatura es de 300o F. Después de tres minutos, la
temperatura es 200o F. Si la temperatura del medio al cual se lleva el pastel es de 70oF ¿ En cuánto
tiempo se enfriara hasta la temperatura de 100o F.?
Solución.
Al definir las variables se tiene,
T(t) = Temperatura del pastel en cualquier momento t.
T se mide en oF y t en minutos.
Al plantear la ecuación diferencial se obtiene
con la condición inicial para t=0 T(0) =70
Las variables que se usan en La ecuación diferencial son T, t , k
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Por tanto al definirlas en Matlab ,se escribe
ans = 230*exp(k*t) + 70 Al reemplazar t=3 y T(3) =200, para calcular el valor de k, en T(t)= 230*exp(k*t) + 70 se tiene: 200=230*exp(k*t) + 70 Entonces:
ans = log(13/23)/3, por tanto k= -0,190181619 y la solución es T(t)= 230*exp( log(13/23)/3)*t) + 70
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Para calcular el valor de t para T(t) = 100 se usa “solve “ 100=230*exp(-0,190181619*t) + 70 >> solve('230*exp(log(13/23)/3*t)-30') ans = (3*log(3/23))/log(13/23) Por tanto el tiempo para que el pastel tenga 100oF es t= log(13/23)/3 seg = 10,71 seg Otro método para resolver ecuaciones diferenciales es por separación de variables. Por ejemplo, la ecuación
=
La solución se puede obtener integrando a ambos lados de la ecuación por separado, y resolviendo la igualdad resultante. Asi para el miembro de la derecha Igualando las dos soluciones se obtiene la solución de la ecuación diferencial usando el comando
solve como,
Lo que da como resultado: ans = sin(x)
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
ans = log(y) - y^2/2 ans = pi + asin(y^2/2 - log(y)) -asin(1/2*y^2 - log(y)) Campo de direcciones Dada la ecuación diferencial y'(x)=f(x,y(x)), para construir el campo de direcciones de la ecuación diferencial dada, en cada punto (x,y) del plano R2 se dibuja un segmento o vector que representa la pendiente m = y'(x) =f(x,y) Con este procedimiento se puede hacer el estudio grafico de las soluciones de una ED sin haberla resuelto, para esto se usan los comandos meshgrid y quiver, que permite dibujar el campo de direcciones
Ejemplo: Construir el campo de direcciones de ED y’=sin xy
Se obtiene
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Trayectorias de las Isóclinas Dada la ED y'=f(x,y), se llaman curvas de nivel o isoclinas a las obtenidas al imponer la condición y'=k Método de las isóclinas. Es una variante de las ideas antes descritas. Los puntos del plano por los que pasa una solución con pendiente k, son los puntos de la curva de ecuación f(x,y)=k (isóclina de pendiente k). Dibujando las distintas isóclinas se obtiene una representación similar a la del campo de direcciones Construir el campo de direcciones y las curvas de nivel de la ED y'=2 – 3xy {-1≤x ≤4,-4 ≤y ≤4}
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Trayectorias de las Isóclinas Ejemplo 1: Representar las isóclinas de la ED y' = x^2+y^2
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Trayectorias de las Isóclinas Ejemplo 2: Construir el campo de direcciones y las curvas de nivel de la ED y'=2 – 3xy {-1≤x ≤4,-4 ≤y ≤4}
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
AREA DE CIENCIAS BÁSICAS
ECUACIONES DIFERENCIALES LABORATORIO 1 (MATLAB)
Ejercicios Resolver:
(1+x)
= y
=
– 3 y = 6