# MATLAB: Finite Difference method solver

finite differencemathematicaMATLABnumerical solversum series

I have the following code in Mathematica using the Finite difference method to solve for c1(t), where . However, I am having trouble writing the sum series in Matlab. The attatched image shows how the plot of real(c(t) should look like.
``\[CapitalOmega] = 0.3;\[Alpha][\[Tau]] := Exp[I \[CapitalOmega] \[Tau]] ;dt = 0.1;Ns = 1000;ds = dt/Ns;Ttab = Table[T, {T, 0, 10, dt}];Stab = Table[s, {s, 0, dt - ds, ds}];c[0] = 1;Do[corrSum[n] = Sum[c[nn - 1]*Sum[\[Alpha][n dt - m ds]*ds, {m, Ns (nn - 1), Ns nn , 1}], {nn, 1, n}]; c[n] = c[n - 1] - dt*corrSum[n](*c[n-1]*\[Alpha][n dt]*), {n, 1, 100}]cTtab = Table[{n*dt, c[n]}, {n, 0, 100}]FDiff = ListPlot[Re[cTtab], PlotStyle -> Orange, PlotLegends -> {"Finite Difference"}]``

• By differentiating c' again you can solve the resulting second order ode as follows
`` c0 = 1; v0 = 0; IC = [c0 v0]; tspan = [0 10]; [t, C] = ode45(@odefn, tspan, IC); c = C(:,1);  plot(t,real(c),'ro'),grid xlabel('t'), ylabel('real(c)')  function dCdt = odefn(~,C)                   Omega = 0.3;          c = C(1);          v = C(2);          dCdt = [v;                  -1i*Omega*v - c];   end``
This results in