You are on page 1of 4

AME-404 HW 1

Problem 1
Main script
clear
global Tinit alpha Tm
Tinit = 2000;
alpha = 2E-12;
Tm = 300;
tspan = 0:10:2000;
[t,T1] = ode45(@odefun,tspan,Tinit);
[t,T2] = ode45(@odefun2,tspan,Tinit);
figure
plot(t,T1,'r.')
hold on
plot(t,T2,'b.')
xlabel('time (s)'), ylabel('u(t)')
legend('original','approximation')
figure
plot(t,(T1-T2)/Tm,'r.')
xlabel('time(s)'), ylabel('relative difference')

odefun.m
function dudt = odefun(t, u)
global alpha Tm
dudt = (-1)*alpha*(u^4-Tm^4);

odefun2.m
function dudt = odefun2(t,u)
global alpha
dudt = (-1)*alpha*u^4;
end

#1.
Main script
clear
R =.5;
Cd = 0.8;
d =0.025;
Ad = pi()*d^2/4;
g = 9.81;
hinit = 0;
tspan = [0,3600];
Qinval = [0.001,0.002,0.003];
linespec = {'-','--','-.',':'};
for n=1:length(Qinval)
Qin=Qinval(n);
[t,h] = ode45(@odefun3,tspan,hinit,[],Qin,R,Cd,Ad,g);
plot(t,h,linespec{n}), hold on
end
xlabel('time(s)'),ylabel('h(m)')

odefun3.m
function dhdt = odefun3 (t,h,Qin,R,Cd,Ad,g)
dhdt = (Qin-Cd*Ad*sqrt(2*g*h))/(pi()*R^2);
end

#2.
Main Script
clear

R =.5;
Cd = 0.8;
d =0.025;
Ad = pi()*d^2/4;
g = 9.81;
hinit = 0;
tspan = [0,7500];
Qinval = [0.001,0.002,0.003];
linespec = {'-','--','-.',':'};
steadyh = zeros(length(Qinval),1);
for n=1:length(Qinval)
Qin=Qinval(n);
[t,h] = ode45(@odefun3,tspan,hinit,[],Qin,R,Cd,Ad,g);
steadyh(n)=steadyh(n)+h(7500);
plot(t,h,linespec{n}), hold on
end
xlabel('time(s)'),ylabel('h(m)')
fprintf(steadyh);

You might also like