examen1ahorrodeenergia odes matlab
DESCRIPTION
ODES MATLABTRANSCRIPT
-
Examen 1: Ahorro de energa en procesos de manufactura
Manuel Alejandro Tapia Romero
Ejercicio 1
Resolver el siguiente problema usando ODES de MATLAB
Un paracaidista de masa M=70kg salta desde un avin en t=0. Suponemos que la velocidad
vertical inicial del paracadas es cero en t=0 y que la cada es vertical.
Si el arrastre aerodinmico est dado por con
y v es la velocidad
vertical (positiva hacia abajo) determine la velocidad vertical del paracaidista.
Grafique para los primeros 20 segundos la posicin y velocidad del paracaidista.
Resolucin:
Diagrama de cuerpo libre:
En el cuerpo solo actan dos fuerzas: el peso (w) del cuerpo y el arrastre aerodinmico como
se observa en el diagrama de arriba:
Suma de fuerzas en y:
Se puede escribir como:
-
Sustituyendo los valores de las constantes:
( )
Convirtiendo el sistema de segundo orden en un sistema de ecuaciones diferenciales de primer
orden obtenemos:
Podemos sustituir:
Creando un vector y renombrando las variables:
[ ] [
]
Derivando:
[ ] [
] ( )
Y se obtiene el siguiente sistema de primer orden:
Utilizando los siguientes dos programas:
CuerpoCayendo.m:
function dz=CuerpoCayendo(~,z) %Introduciendo los valores constantes: g=9.81; c=0.27; m=70; %Calculando las derivadas de z dz=zeros(size(z)); dz(1)=z(2); dz(2)=-c*z(2)*z(2)/m+g;
SolCuerpoCayendo.m:
[t,z]=ode45(@CuerpoCayendo,[0 20],[0;0]); whos z
-
subplot(211) plot(t,z(:,1)) title('Posicin del paracaidista') subplot(212) plot(t,z(:,2)) title('velocidad del paracaidista')
Ejercicio 2
-
Resolver el siguiente problema usando Odes de MATLAB. Grafique la corriente y carga de t=0 a t=0.05, con E=1vcd y compare la corriente con Simulink.
La ecuacin para un circuito RLC es la siguiente:
Creando un vector y renombrando las variables:
[ ] [
]
Derivando:
[ ] [
] ( )
El sistema de ecuaciones en funcin de z es el siguiente:
Utilizando los siguientes dos programas:
CircuitoRLC.m function dz=CircuitoRLC(~,z) %Introduciendo los valores constantes: L=0.2; C=0.00001; V=1; R=100; %Calculando las derivadas de z dz=zeros(size(z)); dz(1)=z(2); dz(2)=V-R*z(2)-(1/C)*z(1);
SolCircuitoRLC.m [t,z]=ode45(@CircuitoRLC,[0 0.05],[0;0]);
-
whos z subplot(211) plot(t,z(:,1)) title('Carga') subplot(212) plot(t,z(:,2)) title('Corriente')