Vous êtes sur la page 1sur 8

Simple Pendulum Spreadsheet Michael Fowler, University of Virginia

Link to lecture
Si
We consider the case of a simple pendulum
in which the string is replaced by a light rod,
which is constrained to move in a vertical circle. 0.15
In other words, this pendulum can "loop the loop",
going over the top, where a string one would slacken.
The rod has length L, and is at angle theta relative
to vertically down, so the force on the pendulum in the 0.1
direction of motion is -mg sin theta.
This equals md2s/dt2 = mLd2 theta/dt2.
The equation of motion of this pendulum is
0.05

position in radians
Ld2 theta/dt2 = -gsin theta
We call the angular velocity omega,
and the angular acceleration alpha.
0
Click on and change the red numbers below!
(See Sheet 2 for a brief discussion of the construction of the table
0 0.5 1 1
below from the differential equation.)
-0.05
L= 1 length of pendulum
g= 9.8 gravity
theta_init= 0.1 initial position -0.1
omega_init= 0 initial velocity
delta_t= 0.02 time interval in seconds
-0.15
midway
time theta omega alpha
0 0.1 0 -0.978367
0.02 0.099804 -0.009784 -0.976459
0.04 0.099218 -0.029313 -0.970743
0.06 0.098244 -0.048728 -0.961238
0.08 0.096884 -0.067952 -0.947983
0.1 0.095146 -0.086912 -0.931027
0.12 0.093036 -0.105533 -0.910434
0.14 0.090561 -0.123741 -0.886283
0.16 0.087731 -0.141467 -0.858665
0.18 0.084559 -0.15864 -0.827687
0.2 0.081055 -0.175194 -0.793467
0.22 0.077233 -0.191063 -0.756136
0.24 0.07311 -0.206186 -0.715837
0.26 0.0687 -0.220503 -0.672727
0.28 0.064021 -0.233957 -0.626973
0.3 0.059091 -0.246497 -0.578751
0.32 0.053929 -0.258072 -0.528249
0.34 0.048556 -0.268637 -0.475666
0.36 0.042993 -0.27815 -0.421206
0.38 0.037262 -0.286574 -0.365082
0.4 0.031384 -0.293876 -0.307517
0.42 0.025384 -0.300026 -0.248735
0.44 0.019284 -0.305001 -0.18897
0.46 0.013108 -0.30878 -0.128457
0.48 0.006881 -0.31135 -0.067436
0.5 0.000627 -0.312698 -0.006147
0.52 -0.005629 -0.312821 0.055165
0.54 -0.011863 -0.311718 0.116259
0.56 -0.018051 -0.309393 0.176894
0.58 -0.024168 -0.305855 0.236828
0.6 -0.030191 -0.301118 0.295825
0.62 -0.036095 -0.295202 0.353653
0.64 -0.041857 -0.288129 0.410083
0.66 -0.047456 -0.279927 0.464894
0.68 -0.052869 -0.270629 0.51787
0.7 -0.058074 -0.260272 0.568805
0.72 -0.063052 -0.248896 0.617499
0.74 -0.067783 -0.236546 0.663763
0.76 -0.072248 -0.22327 0.707417
0.78 -0.076431 -0.209122 0.748291
0.8 -0.080314 -0.194156 0.786229
0.82 -0.083882 -0.178432 0.821084
0.84 -0.087123 -0.16201 0.852722
0.86 -0.090022 -0.144956 0.881022
0.88 -0.092568 -0.127335 0.905876
0.9 -0.094753 -0.109218 0.927188
0.92 -0.096566 -0.090674 0.944879
0.94 -0.098002 -0.071776 0.958881
0.96 -0.099054 -0.052599 0.96914
0.98 -0.099718 -0.033216 0.975618
1 -0.099992 -0.013703 0.978291
1.02 -0.099875 0.005862 0.977148
1.04 -0.099367 0.025405 0.972193
1.06 -0.09847 0.044849 0.963445
1.08 -0.097187 0.064118 0.950938
1.1 -0.095525 0.083137 0.934719
1.12 -0.093488 0.101831 0.914849
1.14 -0.091086 0.120128 0.891404
1.16 -0.088326 0.137956 0.864474
1.18 -0.085221 0.155246 0.83416
1.2 -0.081783 0.171929 0.800579
1.22 -0.078024 0.187941 0.763861
1.24 -0.07396 0.203218 0.724145
1.26 -0.069606 0.217701 0.681585
1.28 -0.064979 0.231332 0.636347
1.3 -0.060098 0.244059 0.588605
1.32 -0.054981 0.255831 0.538545
1.34 -0.049649 0.266602 0.486362
1.36 -0.044123 0.27633 0.432261
1.38 -0.038423 0.284975 0.376454
1.4 -0.032573 0.292504 0.31916
1.42 -0.026595 0.298887 0.260603
1.44 -0.020513 0.304099 0.201017
1.46 -0.014351 0.308119 0.140634
1.48 -0.008132 0.310932 0.079696
1.5 -0.001882 0.312526 0.018441
1.52 0.004376 0.312895 -0.042886
1.54 0.010617 0.312037 -0.104043
1.56 0.016816 0.309956 -0.164789
1.58 0.022949 0.30666 -0.224882
1.6 0.028992 0.302163 -0.284086
1.62 0.034922 0.296481 -0.342167
1.64 0.040715 0.289638 -0.398895
1.66 0.046348 0.28166 -0.454048
1.68 0.0518 0.272579 -0.507409
1.7 0.057048 0.262431 -0.558769
1.72 0.062073 0.251255 -0.607928
1.74 0.066855 0.239097 -0.654694
1.76 0.071375 0.226003 -0.698884
1.78 0.075616 0.212025 -0.740329
1.8 0.07956 0.197219 -0.778868
1.82 0.083193 0.181641 -0.814351
1.84 0.0865 0.165354 -0.846644
1.86 0.089469 0.148421 -0.875622
1.88 0.092087 0.130909 -0.901175
1.9 0.094344 0.112885 -0.923204
1.92 0.096233 0.094421 -0.941627
1.94 0.097745 0.075589 -0.956373
1.96 0.098874 0.056461 -0.967386
1.98 0.099616 0.037114 -0.974624
2 0.099969 0.017621 -0.978061
2.02 0.09993 -0.00194 -0.977682
2.04 0.0995 -0.021494 -0.973491
2.06 0.098681 -0.040964 -0.965501
2.08 0.097475 -0.060274 -0.953744
2.1 0.095888 -0.079348 -0.938265
2.12 0.093926 -0.098114 -0.919121
2.14 0.091596 -0.116496 -0.896386
2.16 0.088907 -0.134424 -0.870146
2.18 0.085871 -0.151827 -0.840502
2.2 0.082498 -0.168637 -0.807566
2.22 0.078802 -0.184788 -0.771465
2.24 0.074798 -0.200217 -0.732338
2.26 0.070501 -0.214864 -0.690336
2.28 0.065927 -0.228671 -0.645621
2.3 0.061096 -0.241583 -0.598366
2.32 0.056025 -0.253551 -0.548755
2.34 0.050734 -0.264526 -0.496982
2.36 0.045245 -0.274465 -0.443249
2.38 0.039578 -0.28333 -0.387766
2.4 0.033757 -0.291086 -0.330752
2.42 0.027803 -0.297701 -0.27243
2.44 0.02174 -0.303149 -0.213031
2.46 0.015591 -0.30741 -0.152789
2.48 0.009382 -0.310466 -0.091943
2.5 0.003136 -0.312305 -0.030733
2.52 -0.003122 -0.312919 0.030599
2.54 -0.009369 -0.312307 0.09181
2.56 -0.015578 -0.310471 0.152658
2.58 -0.021726 -0.307418 0.212901
2.6 -0.02779 -0.30316 0.272302
2.62 -0.033744 -0.297714 0.330626
2.64 -0.039566 -0.291101 0.387644
2.66 -0.045233 -0.283348 0.44313
2.68 -0.050723 -0.274486 0.496867
2.7 -0.056013 -0.264548 0.548645
2.72 -0.061085 -0.253576 0.598261
2.74 -0.065917 -0.24161 0.645521
2.76 -0.070491 -0.2287 0.690242
2.78 -0.074789 -0.214895 0.73225
2.8 -0.078794 -0.20025 0.771383
2.82 -0.082491 -0.184822 0.807491
2.84 -0.085864 -0.168673 0.840434
2.86 -0.088901 -0.151864 0.870085
2.88 -0.091591 -0.134462 0.896333
2.9 -0.093921 -0.116536 0.919075
2.92 -0.095884 -0.098154 0.938227
2.94 -0.097472 -0.07939 0.953715
2.96 -0.098678 -0.060315 0.96548
2.98 -0.099499 -0.041006 0.973477
3 -0.099929 -0.021536 0.977677
3.02 -0.099969 -0.001983 0.978064
3.04 -0.099617 0.017579 0.974636
3.06 -0.098876 0.037071 0.967406
3.08 -0.097747 0.05642 0.956401
3.1 -0.096237 0.075548 0.941663
3.12 -0.094349 0.094381 0.923248
3.14 -0.092092 0.112846 0.901227
3.16 -0.089475 0.13087 0.875682
3.18 -0.086507 0.148384 0.846711
3.2 -0.083201 0.165318 0.814425
3.22 -0.079568 0.181607 0.778948
3.24 -0.075625 0.197186 0.740416
3.26 -0.071385 0.211994 0.698977
3.28 -0.066865 0.225974 0.654792
3.3 -0.062084 0.239069 0.608032
3.32 -0.057059 0.25123 0.558878
3.34 -0.051811 0.262408 0.507523
3.36 -0.04636 0.272558 0.454166
3.38 -0.040727 0.281641 0.399017
3.4 -0.034935 0.289622 0.342291
3.42 -0.029005 0.296468 0.284214
3.44 -0.022962 0.302152 0.225012
3.46 -0.016829 0.306652 0.16492
3.48 -0.01063 0.30995 0.104176
3.5 -0.00439 0.312034 0.043019
3.52 0.001868 0.312894 -0.018308
3.54 0.008119 0.312528 -0.079563
3.56 0.014338 0.310937 -0.140503
3.58 0.0205 0.308127 -0.200886
3.6 0.026582 0.304109 -0.260475
3.62 0.03256 0.2989 -0.319034
3.64 0.038411 0.292519 -0.376331
3.66 0.04411 0.284992 -0.432142
3.68 0.049637 0.276349 -0.486247
3.7 0.05497 0.266625 -0.538434
3.72 0.060087 0.255856 -0.588499
3.74 0.064969 0.244086 -0.636246
3.76 0.069596 0.231361 -0.68149
3.78 0.073951 0.217731 -0.724055
3.8 0.078016 0.20325 -0.763777
3.82 0.081775 0.187974 -0.800503
3.84 0.085214 0.171964 -0.834091
3.86 0.08832 0.155283 -0.864411
3.88 0.09108 0.137994 -0.89135
3.9 0.093483 0.120167 -0.914802
3.92 0.095521 0.101871 -0.93468
3.94 0.097184 0.083178 -0.950907
3.96 0.098467 0.06416 -0.963422
3.98 0.099365 0.044891 -0.972178
ersity of Virginia

Simple Pendulum

0.5 1 1.5 2 2.5 3 3.5 4 4.5

time in seconds
CONSTRUCTING THE SPREADSHEET FROM THE DIFFERENTIAL EQUATION

(For a full discussion and examples, click here.)

In the table, the values of position theta and acceleration alpha


are shown at times n delta_t, where n is an integer.

HOWEVER, the values of velocity omega are actually at


the "midpoints" of these times, that is, at times (n - 0.5) delta_t.

We ensure this from the beginning, by increasing omega from omega_init


in C23 to omega_init + 0.5*delta_t*D23 in C24, that is, to the value it would accelerate to
in one-half the time interval delta_t. Every other time-step throughout the table is delta_t.
This ensures that omega is permanently "out of step" with theta and alpha.

The reason we do this is that to find how the position of the pendulum
changes during the time interval delta_t it is much more accurate to
multiply delta_t by the velocity at the center of the time interval
than the velocity at the beginning (doing that is called Euler integration, and it isn't very reliable).
Using the velocity at the center of the interval is called the "leapfrog" method,
because the values of omega and theta "leapfrog" over each other in time on going down the spreadsheet.
I found the leapfrog method used in spreadsheets first (for physics) by Misner and Cooney
in Spreadsheet Physics.

Similarly, it is more accurate in finding the change in velocity in


a time interval to use the acceleration in the middle of the relevant interval,
as this method does, since the values at which the acceleration is
given (column D) are in the center of the intervals between calculated values of
the velocity (column C) so the velocity values jump leapfrog-like over the acceleration values.

Specifically, in line 24, the position theta and acceleration alpha


are both at time delta_t. The acceleration simply depends on the
position, of course, in the usual way for a rigid pendulum.
But, still in line 24, the angular velocity omega is at time 0.5*delta_t.
Note that in line 25, the angular velocity omega is at time 1.5*delta_t,
the initial half-step was a one shot deal to set up the leap frog -- all further steps must equal delta_t!

Therefore to get the change in position over the next time interval,
from delta_t to 2*delta_t, we must add delta_t multiplied by the
average velocity, that is, to a good approximation, the velocity at
1.5*delta_t, which is C25.

Hence, B25 = B24 + C25*delta_t.

To track the motion, we must also update the velocity on each step.

So, C25 = C24 + (avge accn.)*delta_t

Remember now that C24 is at time 0.5*delta_t, and so C25 is at 1.5*delta_t.


Therefore our average acceleration between these times is to a good
approximation that at time delta_t, which is D24.
So the C formula is slightly different from the B formula:

C25 = C24 + D24*delta_t