RK Plot123 4 Ball
RK Plot123 4 Ball
m
function RK_4()
h = 0.5;
t = 0;
w = 0.5;
for i = 1:4
k1 = h * f(t, w);
k2 = h * f(t + h/2, w + k1/2);
k3 = h * f(t + h/2, w + k2/2);
k4 = h * f(t + h, w + k3);
w = w + (k1 + 2*k2 + 2*k3 + k4) / 6;
t = t + h;
% Store results
T(end+1) = t;
W(end+1) = w;
end
% Plot results
plot(T, W, 'b-', 'DisplayName', 'h = 0.2');
hold on;
end
function v = f(t, y)
v = y - t^2 + 1;
end
% RK_4_2.m
function RK_4_2()
h = 0.2;
t = 0;
w = 0.5;
for i = 1:10
k1 = h * f(t, w);
k2 = h * f(t + h/2, w + k1/2);
k3 = h * f(t + h/2, w + k2/2);
k4 = h * f(t + h, w + k3);
w = w + (k1 + 2*k2 + 2*k3 + k4) / 6;
t = t + h;
% Store results
T(end+1) = t;
W(end+1) = w;
end
% Plot results
plot(T, W, 'r-','DisplayName', 'h = 0.2');
end
function v = f(t, y)
v = y - t^2 + 1;
end
% RK_4_3.m
function RK_4_3()
h = 0.05;
t = 0;
w = 0.5;
for i = 1:40
k1 = h * f(t, w);
k2 = h * f(t + h/2, w + k1/2);
k3 = h * f(t + h/2, w + k2/2);
k4 = h * f(t + h, w + k3);
w = w + (k1 + 2*k2 + 2*k3 + k4) / 6;
t = t + h;
% Store results
T(end+1) = t;
W(end+1) = w;
end
% Plot results
plot(T, W, 'g-', 'DisplayName', 'h = 0.05');
end
function v = f(t, y)
v = y - t^2 + 1;
end
figure;
RK_4();
RK_4_2();
RK_4_3();
xlabel('t');
ylabel('w');
title('RK4 Method with Different Step Sizes');
legend;
grid on;
hold on;
% RK_4.m
function plot_1()
h = 240;
t = 0;
w = 1200;
for i = 1:2
k1 = h * f(t, w);
k2 = h * f(t + h/2, w + k1/2);
k3 = h * f(t + h/2, w + k2/2);
k4 = h * f(t + h, w + k3);
w = w + (k1 + 2*k2 + 2*k3 + k4) / 6;
t = t + h;
% Store results
T(end+1) = t;
W(end+1) = w;
end
% Plot results
plot(T, W, 'DisplayName', 'h = 0.5');
hold on;
end
function v = f(t, y)
v = (-2.2067*10^(-12))*(y^4-81*(10^8))
end