Deriving Position WRT time of ball travelling on curve

Click For Summary
SUMMARY

The discussion focuses on modeling a tautochrone curve using MATLAB, specifically with a parabolic equation y = x² instead of a cycloid. The user applies the conservation of energy principle, deriving the relationship between potential and kinetic energy, leading to the equation x(t) = sin(sqrt(2g)*t + sin⁻¹(x₀/sqrt(y₀))) * sqrt(y₀). Despite successful visualizations, the user questions the accuracy of their model, particularly regarding the ball's velocity at the curve's lowest point and the unexpected timing consistency across different starting positions. The discussion concludes that while the parabolic model exhibits tautochrone properties, it diverges from the unique characteristics of a cycloid.

PREREQUISITES
  • Understanding of MATLAB programming for simulations
  • Knowledge of classical mechanics, specifically conservation of energy
  • Familiarity with calculus, particularly integration and differential equations
  • Basic understanding of curve equations, specifically parabolas and cycloids
NEXT STEPS
  • Explore MATLAB's plotting functions for real-time simulations
  • Study the derivation of cycloid equations for specific endpoints
  • Learn about the implications of different gravitational constants in simulations
  • Investigate the numerical methods for solving complex integrals in physics
USEFUL FOR

Students and educators in physics and engineering, MATLAB programmers, and anyone interested in the mathematical modeling of motion along curves.

RileyF1
Messages
6
Reaction score
0

Homework Statement


[/B]
I'm trying to write a program in MATLAB which demonstrates a tautochrone curve and how the starting point of a ball is irrelevant as to the time it takes to get to the lowest point in the curve (without friction).

At the moment I'm just trying to model it using a simple parabola of y = x2 rather than a cycloid. My idea is that I can plot the ball's position for a specific time, then plot it again 0.1 seconds later after pausing the program for 0.1 seconds which would effectively simulate the ball going down the curve in real time.

Homework Equations



E = K + U

The Attempt at a Solution


[/B]
I've used the conservation of energy and the fact that the potential energy at the top will be equal to the kinetic energy at the bottom though I wasn't sure if this would work since it is traveling on a pre-defined path rather than just falling naturally.

So mgh = (1/2)mv2

and solving for v = sqrt(2gh)

and h is the displacement in the y direction so h = ynaught - y

Given that v = dx/dt,

I separate the variables so sqrt(2g)*dt = 1/(sqrt(ynaught - x2)) *dx

(given that y = x2 )

integrating both sides and solving for x(t) I end up with:

x = sin(sqrt(2g)*t + sin-1 (xnaught/sqrt(ynaught))) *sqrt(ynaught)

for this specific equation the square root of ynaught should just be xnaught anyway

At first glance and plotting it in MATLAB it seems to work but I don't know if it is just a visual effect but my ball appears to slow down slightly as it reaches the lowermost point of the parabola. Not to mention that it goes ridiculously quickly when i set the gravity to 10m/s/s but that might be a fault of my programming.

Any ideas? Mainly I'm just looking for confirmation that the equation is correct. I tried doing it by using the normal force and the angle etc etc but it got too complicated. I've actually just plotted 2 balls on the parabola with different initial x and y coordinates and have noticed that no matter where they are placed, they always reach the bottom of the curve at the exact same time and just oscillate around it but always meet at the centre. It was my understanding that this was unique to a cycloid which is pretty much the point of me doing this so it seems odd to me that it would occur on this parabola.

Thanks for any assistance you can provide, just looking for some simple guidance
 
Physics news on Phys.org
RileyF1 said:

Homework Statement


[/B]
I'm trying to write a program in MATLAB which demonstrates a tautochrone curve and how the starting point of a ball is irrelevant as to the time it takes to get to the lowest point in the curve (without friction).

At the moment I'm just trying to model it using a simple parabola of y = x2 rather than a cycloid. My idea is that I can plot the ball's position for a specific time, then plot it again 0.1 seconds later after pausing the program for 0.1 seconds which would effectively simulate the ball going down the curve in real time.

Homework Equations



E = K + U

The Attempt at a Solution


[/B]
I've used the conservation of energy and the fact that the potential energy at the top will be equal to the kinetic energy at the bottom though I wasn't sure if this would work since it is traveling on a pre-defined path rather than just falling naturally.

So mgh = (1/2)mv2

and solving for v = sqrt(2gh)

and h is the displacement in the y direction so h = ynaught - y

Given that v = dx/dt,

I separate the variables so sqrt(2g)*dt = 1/(sqrt(ynaught - x2)) *dx

(given that y = x2 )

integrating both sides and solving for x(t) I end up with:

x = sin(sqrt(2g)*t + sin-1 (xnaught/sqrt(ynaught))) *sqrt(ynaught)

for this specific equation the square root of ynaught should just be xnaught anyway

At first glance and plotting it in MATLAB it seems to work but I don't know if it is just a visual effect but my ball appears to slow down slightly as it reaches the lowermost point of the parabola. Not to mention that it goes ridiculously quickly when i set the gravity to 10m/s/s but that might be a fault of my programming.

Any ideas? Mainly I'm just looking for confirmation that the equation is correct. I tried doing it by using the normal force and the angle etc etc but it got too complicated. I've actually just plotted 2 balls on the parabola with different initial x and y coordinates and have noticed that no matter where they are placed, they always reach the bottom of the curve at the exact same time and just oscillate around it but always meet at the centre. It was my understanding that this was unique to a cycloid which is pretty much the point of me doing this so it seems odd to me that it would occur on this parabola.

Thanks for any assistance you can provide, just looking for some simple guidance

If ##(x(t),y(t))## goes along the curve ##y = f(x)##, then the velocity components are ##v_x = dx/dt## and ##v_y = dy/dt = (dy/dx)(dx/dt)##, by the chain rule. Thus, ##v_y = f'(x) v_x##, where ##f'(x) = df(x)/dx## is the slope of the curve. The kinetic energy is
K = \frac{1}{2} m (v_x^2 + v_y^2) = \frac{1}{2} m v_x^2 [ 1 + f'(x)^2]
So, conservation of energy gives \text{const} = E = K + V = (m/2) (1 + f'(x)^2) v_x^2 + m g f(x), since ##y = f(x)##. Thus, we have the differential-equation
v_x = \frac{dx}{dt} = \left[ \frac{2(E - g f(x))}{m(1 + f'(x)^2)} \right]^{1/2}

For your case of ##f(x) = x^2## we have ##f'(x) = 2x##, so
\frac{dx}{dt} = \left[ \frac{2(E - g x^2)}{m(1+4x^2)} \right]^{1/2}
 
  • Like
Likes   Reactions: RileyF1
Cool, thanks! Exactly what I was after. Was just a dull moment not separating the velocity into x and y components.

I'm guessing the next step would be to use separation of variables so it would be dt = ~~~~~~dx and then integrate? That could get messy.
 
So I've discovered that it's pretty impossible to solve for the integral of that function when f(x) = x^2. Wolfram alpha seems to think so at least but it works fine for a simpler function like y = x. I want to sub in the equation of a cycloid but I actually have no idea how to get the equation of a cycloid where the start and end of a 'hump' is at 2 specific points. I'm going to need that if I want to plot it in matlab.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
11
Views
2K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 2 ·
Replies
2
Views
14K
Replies
3
Views
2K