26 views (last 30 days)

Show older comments

How do I write a code and plot a graph for a projectile motion of a ball thrown at 60 deg with a speed of 50 m/s using ode and runge kutta method.

Somebody please help

Scott MacKenzie
on 2 Jun 2021

James Tursa
on 11 Jun 2021

Edited: James Tursa
on 11 Jun 2021

Your main problem is that you don't have enough state variables. You have these two equations:

x'' = 0

y'' = -g

That's two 2nd order equations, so you need to have 2 * 2 = 4 state variables. The state variables you need to integrate are x, y, Vx, Vy. But you only integrate two of these state variables, x and y. You have no code for integrating Vx and Vy. You need to add code for integrating Vx and Vy.

You also are using the solution of x and y integration as the derivative functions, which is incorrect. For a Runge-Kutta method, just use the derivatives. The code would be patterned after:

x' = Vx

y' = Vy

Vx' = x'' = 0

Vy' = y'' = -g

You also use g for both gravity and a function handle, so to avoid confusion you might want to change one of these.

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

Start Hunting!