Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- f = @(t,y) (-12*y);
- a = 0;
- b = 1;
- %z = exp(1);
- alpha = 1; %y(0) = 1;
- N1 = 20;
- N2 = 50;
- N3 = 100;
- y0 = RK2(f,a,b,alpha,N1).'
- y1 = RK2(f,a,b,alpha,N2).';
- y2 = RK2(f,a,b,alpha,N3).';
- t = 1;
- Err_y0 = abs(y0(t)-t)
- Err_y1 = abs(y1(t)-t)
- Err_y2 = abs(y2(t)-t)
- Err = [(Err_y0) (Err_y1) (Err_y2)]
- plot(y0,t)
- plot(y1,t)
- plot(y2,t)
- loglog(Err)
- hold on
- function [y,t] = RK2(f,a,b,alpha,N)
- h = (b-a)/N;
- t = alpha;
- y = alpha;
- for i = 1:N
- k1 = h.*f(t,y(i));
- k2 = h.*f(t,y(i)+(k1));
- y(i+1) = y(i)+(k1+k2)/2;
- t = a + i.*h;
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement