Given the following system of partial integro-differential equations -
$\frac{dS(t)}{dt}=\Lambda-\mu S(t)-\beta S(t)F(t),\\ \frac{\partial I(t,\omega)}{\partial t}+\frac{\partial I(t,\omega)}{\partial \omega}=-\delta I(t,\omega),\\ \frac{dF(t)}{dt}=-\gamma F(t)+(N-F(t))\int^{\infty}_{0}\kappa (\omega)I(t,\omega)d\omega$
with the boundary condition, $I(t,0)=\beta S(t)F(t)$ and
initial conditions $S(0)=S_{0},I(0,\omega)=0,F(0)=F_{0}$ where all parameters $\Lambda,\mu,\beta,\delta,\gamma,N,\kappa(\omega),S_{0},F_{0}$ are positive and $\kappa(\omega)$ can be a simple fourth order polynomial.
How does one numerically compute a solution for this on Matlab?
Well, one might try following scheme. Let $$ I^{n}_j = I(t_n, \omega_j), \quad S^n = S(t_n), \quad F^n = F(t_n), \quad t_n = n \tau, \quad \omega_j = j h $$ Note that $I(t,\omega) = 0$ when $\omega > t$. So let's limit the computational domain to $0 \leq t \leq T, 0 \leq \omega \leq L \geq T$. Then $$\begin{aligned} \frac{S^{n+1} - S^n}{\tau} &= \Lambda - \mu S^{n+1} - \beta S^{n+1} F^{n+1}\\ \frac{F^{n+1} - F^n}{\tau} &= -\gamma F^{n+1} + (N - F^{n+1}) h\sum_{j=0}^{M-1} \frac{\kappa(\omega_j) I^n_j + \kappa(\omega_{j+1}) I^n_{j+1}}{2}\\ \frac{I^{n+1}_j - I^n_j}{\tau} + \frac{I^{n}_j - I^n_{j-1}}{h} &= -\delta I^{n+1}_j, \qquad j = 1, 2, \dots, M\\ I^{n+1}_0 &= \beta S^{n+1} F^{n+1}\\ I^0_j &= 0, \quad j = 0,1, \dots, M\\ S^0 &= S_0, \quad F^0 = F_0 \end{aligned} $$ The third equation is an upwind approximation for advection equation. The scheme is stable if $\tau \leq h$. For integral term the trapeziodal rule is used. Right-hand terms of the ordinary DE are approximated implcitly, to resolve possible instabilities if system is stiff.
The algorithm:
Here's Matlab code which implements algorithm above