primera practica ecuaciones diferenciales matlab

12
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

Upload: omar-esteban-molina-penagos

Post on 31-Jul-2015

390 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Primera Practica Ecuaciones Diferenciales Matlab

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

Page 2: Primera Practica Ecuaciones Diferenciales Matlab

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')

Page 3: Primera Practica Ecuaciones Diferenciales Matlab

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

Page 4: Primera Practica Ecuaciones Diferenciales Matlab

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

Page 5: Primera Practica Ecuaciones Diferenciales Matlab

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

Page 6: Primera Practica Ecuaciones Diferenciales Matlab

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

Page 7: Primera Practica Ecuaciones Diferenciales Matlab

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)

Page 8: Primera Practica Ecuaciones Diferenciales Matlab

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

Page 9: Primera Practica Ecuaciones Diferenciales Matlab

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}

Page 10: Primera Practica Ecuaciones Diferenciales Matlab

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

Page 11: Primera Practica Ecuaciones Diferenciales Matlab

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}

Page 12: Primera Practica Ecuaciones Diferenciales Matlab

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