Solving ODE in MATLAB using Runge-Kutta method of order 4

1 view (last 30 days)
Write a computer program that will solve the initial value problem dy/dx = f(x, y) subjected to y(x0) = y0 by classical fourth order Runge-Kutta method.
Inputs: x0, y0, f(x, y), h = step-size, and n = number of steps. Using the code obtain the solutions of the ODE
Compare each numerically obtained solution with corresponding analytical solution by plotting them in a single figure.
  9 Comments
James Tursa
James Tursa on 14 Dec 2021
Edited: James Tursa on 14 Dec 2021
Still not clear. Is the user supposed to know that z is dy/dx? How would they know this? Is the user supposed to enter a function handle directly using x, y, and z with the assumption that z is dy/dx?
Shankhadeep Saha
Shankhadeep Saha on 14 Dec 2021
Yes, the user knows that. He will input the function interms of x, y and z. Like in this particular case user will input g(x,y,z) = sin 2x -0.2z-y = dz/dx

Sign in to comment.

Answers (1)

James Tursa
James Tursa on 14 Dec 2021
Why aren't you using this to update z:
z(i+1) = z(i) + (1/6)*(l1+(2*l2)+(2*l3)+l4);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!