Código do Matlab® para resolver Equações Diferenciais com Retardamento através do método passo-a-passo (quando possível) fazendo uso do pacote de matemática simbólica. A vantagem do método é obter a solução analítica, sendo mais preciso do que aproximações numéricas.
O programa abaixo resolve a equação diferencial
\[{dx \over dt}(t) = \lambda x(t-\tau)\;.\]
% código por: Felipe Longo (ime.unicamp.br/~ra211683/ - longo@ime.unicamp.br) lambda=1; tau=1; phi=@(t) 1; ti=-tau:0.001:0; z=zeros(size(ti)); z(:)=phi(ti(:)); plot(ti,z,'LineWidth',2); hold on; syms t x(t) = phi(0) + lambda*int(phi(t-tau),0,t); %y = matlabFunction(x); %transforma simbolic function em handle function ti=0:0.001:tau; plot(ti,x(ti),'LineWidth',2); hold on; for i=1:5 x(t) = x(i*tau) + lambda*int(x(t-tau),i*tau,t); ti=i*tau:0.001:(i+1)*tau; plot(ti,x(ti),'LineWidth',2); hold on; end grid