how can i solve an EDF?

How can i solve an equation having this form with Matlab : dy+y(t-h)=0 and plotting it's variation on the time with différents values of h .(h is a constant)

Respuestas (2)

Mischa Kim
Mischa Kim el 15 de Abr. de 2014

0 votos

Triki, use one of the numerical integrators, e.g. ode45
function ODEsim()
tspan = 0:0.1:10; % set up the problem
IC = 1;
h = 0.5;
[t,yt] = ode45(@myODE,tspan,IC,[],h); % call the integrator
plot(t,yt,'r') % plot the result
xlabel('t')
ylabel('y')
grid
end
function dy = myODE(t,y,h) % define the DE
dy = -y*(t - h);
end

1 comentario

Mischa Kim
Mischa Kim el 15 de Abr. de 2014
Editada: Mischa Kim el 16 de Abr. de 2014
Ok, I see.
function DDEsim()
h = 1;
lag = h;
sol = dde23(@DDEeq,lag,@DDEhist,[0,5]);
plot(sol.x,sol.y);
xlabel('t');
ylabel('y');
end
function dydt = DDEeq(t,y,Z)
ylag = Z(:,1);
dydt = -ylag;
end
function S = DDEhist(t)
S = 1;
end
Check out the DDE documatation for more detail.

Iniciar sesión para comentar.

triki
triki el 15 de Abr. de 2014

0 votos

Thank you for your help,but there is a little mistake,witch is my edf is not dy=y*(t-h) but dy=y(t-h). That's mean that y in the second member dependent on t-h not multiplied by (t-h);in other way we can suppose a x=t-h so our equation become: dy/d(x+h)=-y(x)

1 comentario

Mischa Kim
Mischa Kim el 16 de Abr. de 2014
Please add follow-up questions and comments as comments, not answers.

Iniciar sesión para comentar.

Preguntada:

el 15 de Abr. de 2014

Comentada:

el 16 de Abr. de 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by