function y=fode_solm(a,na,b,nb,u,t) % fode_solm - matrix version of fode_sol, with the same syntax % Copyright (c) Dingyu Xue, Northeastern University, China % Last modified 28 March, 2017 % Last modified 18 May, 2022 arguments, a(1,:), na(1,:), b(1,:), nb(1,:), u(:,1), t(:,1), end h=t(2)-t(1); u=u(:); A=0; B=0; g=double(genfunc(1)); nt=length(t); n=length(a); m=length(b); for i=1:n, A=A+get_vecw(na(i),nt,g)*a(i)/(h^na(i)); end for i=1:m, B=B+get_vecw(nb(i),nt,g)*b(i)/(h^nb(i)); end A=rot90(hankel(A(end:-1:1))); B=rot90(hankel(B(end:-1:1))); y=B*(A\u); end