MATLAB Answers

Finding the initial conditions which give a specified event using ode45

5 views (last 30 days)
Patrick Shortall
Patrick Shortall on 11 Jan 2021
Answered: Mischa Kim on 11 Jan 2021
I'm using ode45 to solve a system of ODEs which describe the movement of a projectile. I now want to find the initial angle which will result in the projectile crossing the x-axis at a specified point x. Is this possible? I was thinking of some sort of iteration method which tests out different angles until it finds one that works, but I need the angle to 8 significant figures, so I feel as if this would result in a lot of iterations.

Answers (1)

Mischa Kim
Mischa Kim on 11 Jan 2021
Patrick,
as Walter pointed out this is a BVP. However, you can and I personally would use ode45 and the so-called shooting method to solve this problem. I recommend taking a step-by-step approach:
  1. First solve the differential equation of the projectile without worrying about x-axis crossing or how to manipulate the initial angle.
  2. Next use an events function to identify the x-axis crossing. Here is an example that may be helpful.
  3. Once you get this to work implement the shooting method. These are a few more lines of code, and this is where you (MATLAB) would do the iterations you are referring to in your question.
Feel free to share your code if you have more questions.

Tags

Products

Community Treasure Hunt

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

Start Hunting!

Translated by