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)

Answers (2)

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 Comment

Mischa Kim
Mischa Kim on 15 Apr 2014
Edited: Mischa Kim on 16 Apr 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.

Sign in to comment.

triki
triki on 15 Apr 2014

0 votes

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 Comment

Please add follow-up questions and comments as comments, not answers.

Sign in to comment.

Asked:

on 15 Apr 2014

Commented:

on 16 Apr 2014

Community Treasure Hunt

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

Start Hunting!