Example 4.6
Runge-Kutta
Contents
Setup
close all; clear h w Tmax g T y_true f yex; h = 0.15; w = 4; Tmax = 6;
Analyic solution
g = @(x) cos(w*x); T = linspace(0,6,100); y_true = g(T);
Function
f = @(t,y) [y(2); -16*y(1)];
Use Runge-Kutta code
[t y2] = rk2(f,[0 6],[1 0]',40); [t y4] = rk4(f,[0 6],[1 0]',40); yex = exp(4*i*t);
Plot
figure(1); plot(t,y2(1,:),'--') hold on plot(t,y4(1,:),'^:') plot(T,y_true) grid on axis([0 6 -2 3]) xlabel('t') ylabel('y(t)') legend('2nd O Runge-Kutta','4th O Runge-Kutta','Exact','Location','NorthWest')
![](ch4ex6_01.png)