how to modify code for distributed delay
41 次查看(过去 30 天)
显示 更早的评论
I have a code, which gives a solution of a delay logistic equation with discrete delay.
tau = 1;
tspan = [0 20];
y0 = 0.5;
sol = dde23(@ddefunc, tau, y0, tspan);
% Plot the solution
figure;
plot(sol.x, sol.y, 'LineWidth', 2);
xlabel('Time (days)');
ylabel('Population');
legend('y');
% Define the delay differential equation
function g = ddefunc(t, y, Z)
r = 1.5;
y_tau = Z;
g = r * y * (1 - y_tau);
end
Now I want to modify my code for distributed delay as attached below.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1754289/image.png)
Can someone guide me how to deal with distributed delay
0 个评论
采纳的回答
Torsten
2024-8-16,19:06
r = 1.5;
fun = @(t,x)[r*x(1)*(1-x(2));x(1)];
x0 = [0.5;0];
tspan = [0 20];
[t,x] = ode45(fun,tspan,x0);
plot(t,x(:,1))
grid on
4 个评论
Torsten
2024-8-16,20:54
编辑:Torsten
2024-8-16,20:58
This is the solution for equation (1.6) with r=1.5 and x(0) = 0.5.
If you have something different in mind, you must post it.
Note that the second equation
dy/dt = x, y(0) = 0
gives
y(t) = integral_{tau=0}^{tau=t} x(tau) dtau
as solution, thus the integral in (1.6).
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!