Project 3

Project 3 due Thursday, March 5th, 2015 Tuesday, March 17th, 2015

Project B: Pendulums

Chapter 6 Section 3 Computer Problems 4, 5, 6, 7, and 8.

Completed by: Austin Alderete, Chelsea Brunson, and Robert Truong


Introduction

In this project we applied different methods of ODE's to our problems. Each problem asked different questions were described at each of the problems listed below.

Note that on this project the output of Matlab was the pendulum figures that are posted on this webpage. In every part there are the associated images and code.


Problem 4

For problem 6.3.4, we created a forced damped version of pend.m . We ran the trapezoid method in two ways:

     a) with d = 1, A = 10, and h = 0.005 and the initial condition of my choice.

     b) with d = 1, A = 10, and h = 0.1 and the initial condition of my choice.

We tried using different initial conditions, including [π2 0], to see if the solutions had attracted the same periodic trajectory. We will describe this in our analysis.

ANALYSIS PART A:

Below are the pendulums when we ran part A. We tried different initial values, pend([0 1], [0 2], 200), pend([0 10], [0 pi], 2000), pend([0 10], [0 3*pi/2], 2000), pend([0 10], [0 pi/2], 2000), and finlly pend([0 10], [pi/2 2*pi], 2000).

NOTE: ALL IMAGES are not included due to the fact that the .gif take up a lot of file space.

Above is pend([0 10], [0 3*pi/2], 2000)

Above is pend([0 10], [pi/2 2*pi], 2000)

While all the figures are not included, and they run really slow they do all go through periodic motion and except for the last image run through ultimately the same motion, which is posted above. It is safe to say that even with different initial values that our function will eventually the pendulum will attract the periodic trajectory.

ANALYSIS PART B:

Below are the pendulums when we ran part B. We tried different initial values, pend([0 10], [0 pi], 100), pend([0 10], [0 pi/2], 100), pend([0 10], [pi/2 0], 100), pend([0 10], [3*pi/2 2*pi], 100), and finally pend([0 10], [3*pi/4 pi], 100).

NOTE: ALL IMAGES are not included due to the fact that the .gif take up a lot of file space.

Above is pend([0 10], [pi/2 0], 100)

Above is pend([0 10], [3*pi/4 pi], 100)

So some things that can be noted in this part of the project, the pendulum is moving much faster than previously. It can also be seen that the pend([0 10], [pi/2 0], 100), runs really differently than any of its previous functions. It makes different motios in the beginning by going all the way around in a circle and then returning to the periodic trajectory. I think this is because of the step sizing we are taking in combination with working backwards on an interval.

Here you will find the code that was used in this part of the project:

     pend.m

Note that the only change in the code from what was posted on the website is that we had to adjust our ydot.m file so that we had a forced damped system and we hard coded the A value and had to test and make sure that our h value went accordingly.


Problem 5

In problem 6.3.5 we are running the same code as in problem 6.3.4 except we are allowing A = 12 and A = 15. We also were to find two initial conditions were (y1, y2) = (a, 0) and (b,0) where |a-b| 0.1 and had different periodic trajectories.

Here are some of the tries that we did when we set A = 12, pend([0 5],[pi/2 0],1000), pend([0 5],[pi/2.1 0],1000), pend([0 5],[pi/1.9 0],1000),pend([0 5],[pi/2.2 0],1000),pend([0 5],[pi/2.3 0],1000), pend([0 5],[pi/2.4 0],1000), and finally pend([0 5],[pi/2.5 0],1000).

NOTE: ALL IMAGES are not included due to the fact that the .gif take up a lot of file space. In fact we only included the ones with different periodic motion

Above is pend([0 5], [pi/2.1 0], 1000)

Above is pend([0 5], [pi/1.99 0], 1000)

To find an inteval that was requested I used the initial guess of [pi/2 0] because it had such an interesting and easy to follow pendulum movement. So I just started to make guesses that would have |a-b| 0.1. I used MATLAB to do the math and then plugged the values in to see if there was a different periodic motion. I found that the values I tested that were .1 or less away would only do the same periodic motion, I literally counted how many times the pendulumn when clockwise and counterclockwise to see if the movement was different. I moved along the number line in the denominator to find a different movement.

We can conclude that pend([0 5], [pi/2.1 0], 1000) has about .25 turns clockwise, then 2.5 turns counterclockwise, and the 1.25 turn clockwise again. And that pend([0 5], [pi/1.99 0], 1000) has about .25 turns clockwise, then 2.25 turns counterclockwise, and the 1.5 turn clockwise again which is different, and abs(pi/.99-pi/2.1) = 0.082693273963838 .1

Here are some of the outputs that we got when we set A = 15, pend([0 5], [pi/2 0], 1000), pend([0 5], [0 pi/2], 1000), pend([0 5], [0 3*pi/2], 1000), pend([0 5], [0 pi], 1000), and finally pend([0 5],[pi/2 0],1000).

NOTE: ALL IMAGES are not included due to the fact that the .gif take up a lot of file space.

Above is pend([0 5], [pi/2 0], 1000)

Here you will find the code that was used in this part of the project:

     A = 12 and A = 15

NOTE: We used the same code as the previous question we just hard coded our A value to be 12 and 15.


Problem 6

In problem 6.3.6, we adapted pend.m to build a damped pendulum with oscillating pivot. What we wanted to accomplish in this part of the project was to investigate the phenomenon of parametric resonance, which by the inverted pendulum becomes stable.

The equation that was needed for this part of the project is listed below:

y'' + dy' + (gl + Acos(2πt))sin(y) = 0

We define A to be the forcing strength. We set d = 0.1 and the length of the pendulum to 2.4 meters. We should note that when A = 0 and y = 0 there is stable equilibrium. But when y = π the inverted pendulum is unstable. In this part of the project we were trying to find, as accurately as we could, the range of parameter A where the inverted pendulum becomes stable. The book noted that A = 0 is too small but A= 30 is too big, and we should try the initial condition of y = 3.1 and work from there.

In the image below the forcing strength is A = 19. Through iterative methods and a less sophisticated manual binary search, the following bounds were determined for a forcing strength A which stabilized the inverted pendulum with initial position y = 3.1: 18.125 ± 0.005 < A < 25.445 ± 0.005 depending on the duration the pendulum is allowed to run for. All told, it can be shown that there can exist sufficient parametric resonance to stabilize the inverted pendulum.

Here you will find the code that was used in this part of the project:

    pendosc.m


Problem 7

For problem 6.3.7 we were to use the parameter settings that were used in problem 6 to see other effects to parametric resonance. We can make stable equilibrium become unstable with the oscillating pivot. We wanted to find the smallest positive value of A for which this would happen. We classified the downwatrd position as unstable when the pendulum would eventually travel back to the inverted position.

Above is the .gif file that is associated with this part of the project. With an oscillating pivot, the stable equilibrium can become unstable. The produced image demonstrates this phenomenon to some degree, but lacks the time to show the pendulum pass through the inverted position which does eventually happen for 17.920528. Iterative techniques were used to find this degree of precision.

Here you will find the code that was used in this part of the project:

    pendosc.m


Problem 8

For problem 6.3.8 we were to adapt pend.m to build a double pendulum. First, a new bob-rod pair was defined in the same fashion as the original one, except instead of (0, 0) as a starting point, it starts from the first previously-defined bob. Next, both trapstep and ydot were definted to have pair outputs, as well as being tweaked with more equations to be able to solve for both bobs' angles and their corresponding angular velocities instead of just one. Likewise, the pend.m function was tweaked to take in two angular displacement/velocity pairs instead of just one.

Here you will find the code that was used in this part of the project:

     pend8.m


Credits:

6.3.4, 6.3.5, and web design by Chelsea Brunson

6.3.6, 6.3.7 by Austin Alderete

6.3.8 by Robert Truong