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!