function v=adams(f,x0,u0,D,h) %funkcija odredjuje resenje Kosijevog zadatka u'(x)=f(x,u(x)), u(x0)=u0 %na intervalu (x0,x0+D) Adamsovom metodom sa korakom h. %Za aproksimacije na pocetnom delu intervala koristi metodu Runge-Kutta %test: %v=adams(@(x,u)2/3*log(x-u)+u ,0.5,-0.28544,0.5,0.1) % %v = % % -0.2854 -0.3265 -0.3614 -0.3911 -0.4165 -0.4379 k=D/h+1; v=zeros(1,k); v(1:4)=runge_kutta_h(f,x0,u0,h,4); %racunamo vrednosti v1,v2,v3, v=[v0 v1 v2 v3 0 ...0] for i=4:k-1 u_z=v(i)+h/24*(55*f(x0+(i-1)*h,v(i))-59*f(x0+(i-2)*h,v(i-1))+37*f(x0+(i-3)*h,v(i-2))-9*f(x0+(i-4)*h,v(i-3))); %pomocna vrednost u* v(i+1)=v(i)+h/24*(9*f(x0+i*h,u_z)+19*f(x0+(i-1)*h,v(i))-5*f(x0+(i-2)*h,v(i-1))+f(x0+(i-3)*h,v(i-2)));% racunamo vrednost u(x0+i*h)=u_i end