<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.physicsbook.gatech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ssaravanan9</id>
	<title>Physics Book - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.physicsbook.gatech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ssaravanan9"/>
	<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/Special:Contributions/Ssaravanan9"/>
	<updated>2026-04-27T14:23:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38319</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38319"/>
		<updated>2019-11-25T06:06:19Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* The Main Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. Specifically, &#039;iterate&#039; means to repeat; in physics, it means to perform the same calculation repeatedly using information produced by the previous calculation. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
 &lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]]. Repeat for the total number of time steps.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===Relation between Newton&#039;s 2nd Law and Momentum Principle===&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;math&amp;gt;\Delta mv&amp;lt;/math&amp;gt; = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high-resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low-resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximates the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*http://physicsnet.co.uk/a-level-physics-as-a2/mechanics/newtons-laws-of-motion/&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38318</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38318"/>
		<updated>2019-11-25T06:01:29Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===Relation between Newton&#039;s 2nd Law and Momentum Principle===&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- (mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*http://physicsnet.co.uk/a-level-physics-as-a2/mechanics/newtons-laws-of-motion/&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38317</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38317"/>
		<updated>2019-11-25T05:59:42Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* A Mathematical Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===Relation between Newton&#039;s 2nd Law and Momentum Principle===&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- (mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38316</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38316"/>
		<updated>2019-11-25T05:58:19Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* Relation between Newton&amp;#039;s 2nd Law and Momentum Principle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===Relation between Newton&#039;s 2nd Law and Momentum Principle===&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- (mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38315</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38315"/>
		<updated>2019-11-25T05:57:45Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* Relation between Newton&amp;#039;s 2nd Law and Momentum Principle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===Relation between Newton&#039;s 2nd Law and Momentum Principle===&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = net force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- D(mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38300</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38300"/>
		<updated>2019-11-25T03:21:43Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* The Main Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===Relation between Newton&#039;s 2nd Law and Momentum Principle===&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- D(mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38299</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38299"/>
		<updated>2019-11-25T03:20:36Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* Relation between Newton&amp;#039;s 2nd Law and Momentum Principle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relation between Newton&#039;s 2nd Law and Momentum Principle&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- D(mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38297</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38297"/>
		<updated>2019-11-25T03:20:15Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* The Main Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Relation between Newton&#039;s 2nd Law and Momentum Principle&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- D(mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38295</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38295"/>
		<updated>2019-11-25T03:19:22Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* The Main Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relation between Newton&#039;s 2nd Law and Momentum Principle&#039;&#039;&#039;&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma_.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- D(mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=File:Fma_.jpg&amp;diff=38293</id>
		<title>File:Fma .jpg</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=File:Fma_.jpg&amp;diff=38293"/>
		<updated>2019-11-25T03:17:44Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38292</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38292"/>
		<updated>2019-11-25T03:17:19Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relation between Newton&#039;s 2nd Law and Momentum Principle&#039;&#039;&#039;&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
&lt;br /&gt;
[[File:Fma .jpg]]&lt;br /&gt;
&lt;br /&gt;
- F = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- m = mass in kilograms (kg)&lt;br /&gt;
&lt;br /&gt;
- a = acceleration in meters per second per second (ms-2)&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
- F  = resultant force in newtons (N)&lt;br /&gt;
&lt;br /&gt;
- D(mv) = change in momentum in kilogram metres per second (kg ms-1)&lt;br /&gt;
&lt;br /&gt;
- t = change in time in seconds (s)&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38157</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38157"/>
		<updated>2019-11-24T22:00:06Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* The Main Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relation between Newton&#039;s 2nd Law and Momentum Principle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38150</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38150"/>
		<updated>2019-11-24T20:25:27Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* A Mathematical Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38149</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38149"/>
		<updated>2019-11-24T20:25:10Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* A Mathematical Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. &lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38148</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38148"/>
		<updated>2019-11-24T20:24:41Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: /* A Mathematical Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rate of change of momentum of an object is directly proportional to the net force applied and is in the direction of the net force; the net force is equal to the rate of change of momentum. This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:rate-of-change-of-momentum-2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=File:Rate-of-change-of-momentum-2.jpg&amp;diff=38147</id>
		<title>File:Rate-of-change-of-momentum-2.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=File:Rate-of-change-of-momentum-2.jpg&amp;diff=38147"/>
		<updated>2019-11-24T20:24:26Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38140</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38140"/>
		<updated>2019-11-24T19:26:06Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38139</id>
		<title>Iterative Prediction</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Iterative_Prediction&amp;diff=38139"/>
		<updated>2019-11-24T19:25:56Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shruthi Saravanan - Fall 2019 &lt;br /&gt;
&lt;br /&gt;
This page describes iterative prediction, a technique used to predict the motion of particles over a period of time often used in simulations.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is a mathematical technique for approximating the behavior of one or more particles over an interval of time. An iteration is a repeated procedure, so iterative prediction uses repeated procedures to predict the motion of a system. To perform iterative prediction, the initial position, initial momentum, and mass of each particle must be known, and the forces acting on each particle must be known. This information is used to update the position of each particle periodically.&lt;br /&gt;
&lt;br /&gt;
To perform iterative prediction, the time interval of interest must be divided into small sub-intervals of duration &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; called time steps. For each time step, the following steps should be performed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Net Force]] acting on each particle should be calculated,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The [[Linear Momentum]] of each particle should be updated from the last time step using the newly calculated net force, and&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated [[Velocity]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Iterative_Model.png|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;This is a visual representation of iterative prediction being used to repeatedly update a particle&#039;s momentum. It was found on [https://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict this page] of the Projects &amp;amp; Practices in Physics website, where it is provided under a [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC Attribution-Noncommercial-Share Alike 3.0 Unported] license. It is shown here under the same license.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The size of the time steps used during iterative prediction is referred to as the resolution of the model. Dividing a time interval into a few large time steps is called low resolution, while dividing the same time interval into many small time steps is called high resolution. Performing iterative prediction with a higher resolution requires more computations but produces more accurate results. This is because steps 2 and 3 assume constant force and velocity respectively during the duration of each time step (see the &amp;quot;mathematical model&amp;quot; section). In reality, force and velocity change continually, so this is where inaccuracy is introduced. However, if the time steps are small enough that force and velocity do not significantly change during any time step, iterative prediction is a sufficiently accurate model. In the limit where the time interval is divided into an infinite number of infinitely small time steps, iterative prediction becomes a perfectly accurate model. However, this would require an infinite number of computations, and is therefore impossible to do, although in some simple situations, analytic approaches can be used to this end instead. Deciding what time step to use requires consideration of both the computational resources available and the resolution required to accurately approximate the situation. When performing iterative prediction by hand, it is impractical to perform more than a few time steps, which cannot be used to accurately model much. If computers are available, it becomes feasible to divide the time interval into thousands of time steps, which can accurately simulate most day-to-day situations. Some of the most sensitive simulations, however, require incredibly small time steps. For example, some physicists perform atom-by-atom simulations of molecular structures interacting. A slight change in the position of an atom can cause a huge change in the forces acting on it, so tiny time steps must be used in order to ensure that force and velocity do not significantly change during any one time step. These simulations are run on the world&#039;s most powerful supercomputers and often take weeks to complete. They can simulate time intervals of several nanoseconds (&amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt; s) using time steps of only a few femtoseconds. (&amp;lt;math&amp;gt;10^{-15}&amp;lt;/math&amp;gt; s) [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6286305/ (Click here for an example of a paper about such a simulation.)] Most of the VPython simulations on this wiki use time steps of about .01s.&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is only an approximation, but it is a very powerful tool because it can model complex systems that are impossible to model using known analytical approaches such as calculus and kinematics due to unsolvable differential equations and other obstacles.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
Below are the mathematical formulas required for each of the three steps outlined above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The net force acting on each particle should be calculated.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step varies widely from program to program, depending on what system is being modeled. Sometimes, the forces acting on each particle are constant, such as when modeling the motion of a ball with a specific weight thrown near the surface of the earth. Other times, the forces are functions of properties such as the particles&#039; positions, such as when modeling the motion of celestial bodies whose gravitational attraction is greater when they are closer together. Sometimes, there is only one force acting on each particle, and other times, the net force must be found by adding together the individual force vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The momentum of each particle should be updated from the last time step using the newly calculated net force.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the [[Impulse and Momentum|impulse-momentum theorem]]. The impulse-momentum theorem states that &amp;lt;math&amp;gt;\vec{p}_f = \vec{p}_i + \vec{J} = \vec{p}_i + \vec{F}_{net, avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial momentum is always known; it is simply the momentum the particle had during the previous time step (or, if there is no previous time step, the initial momentum of the particle). &amp;lt;math&amp;gt;\vec{F}_{net, avg}&amp;lt;/math&amp;gt; represents the average net force that has been acting on the particle since the previous time step, resulting in a new momentum this time step. To calculate it, the net force found in step 1 should be used. Note that in reality, the net force acting on the particle is constantly changing, and the net force found in step 1 is the final net force, which is not truly the average net force over the course of the previous time step (except in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the net force does not have much time to change over the course of the time step, meaning the average net force is very similar to the final net force.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The position of each particle should be updated from the last time step using its newly calculated velocity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step uses the kinematic equation &amp;lt;math&amp;gt;\vec{r}_f = \vec{r}_i + \vec{v}_{avg} * \Delta t&amp;lt;/math&amp;gt;. In iterative prediction, the initial position is always known; it is simply the position the particle had during the previous time step (or, if there is no previous time step, the initial position of the particle). &amp;lt;math&amp;gt;\vec{v}_{avg}&amp;lt;/math&amp;gt; represents the average velocity with which the particle has been moving since the previous time step, resulting in a new position this time step. To calculate it, the momentum found in step 2 should simply be divided by the mass of the particle: &amp;lt;math&amp;gt;\vec{v}_f = \frac{\vec{p}_f}{m}&amp;lt;/math&amp;gt;. Note that in reality, the velocity of the particle is constantly changing, and the velocity found above is the final velocity, which is not truly the average velocity over the course of the previous time step (even in a scenario with constant force). As described in the introductory section, this introduces inaccuracy that can be reduced by using shorter time steps; if short time steps are used, the velocity does not have much time to change over the course of the time step, meaning the average velocity is very similar to the final velocity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
Iterative prediction is typically done on computers because many computations are necessary in order to perform it at a meaningful resolution. VPython is a useful program to perform iterative prediction with because of it can graphically display the positions of the particles each time step. Below is an example of a VPython program that uses iterative prediction to simulate a ball thrown near the surface of the earth. Be sure to read and understand the source code by clicking on &amp;quot;view this program&amp;quot; in the top left corner; there are comments for each line designed to introduce readers to their first iterative prediction program.&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction1 high resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
To demonstrate differing resolutions, here is a lower resolution version of the same simulation, which uses larger time steps:&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/IterativePrediction2 low resolution ball trajectory simulation]&lt;br /&gt;
&lt;br /&gt;
Note that the first program is more realistic; the more frequent position updates result in a smoother curve that more closely approximate the true trajectory of a ball. On the other hand, the second program has fewer calculations to do. Both programs are artificially slowed using the &amp;quot;rate&amp;quot; command in order to simulate a realistic travel time, but if both programs were allowed to run as quickly as possible, the second program would finish first. For larger, more complicated simulations, time can be a significant factor.&lt;br /&gt;
&lt;br /&gt;
Here is another more complicated simulation that uses iterative prediction to simulate the motion of a mass swinging on a spring. This is an example of iterative prediction with a varying force; during each time step, the forces acting on the mass must be calculated depending on its position using [[Hooke&#039;s Law]].&lt;br /&gt;
&lt;br /&gt;
[https://www.glowscript.org/#/user/YorickAndeweg/folder/PhysicsBookFolder/program/SpringMass spring mass simulation]&lt;br /&gt;
&lt;br /&gt;
Note: both projectile motion and spring-mass systems can be analytically modeled; that is, in both of the above systems, analytical techniques such as calculus and kinematics can be used to find the position of the particles as a function of time. However, for some other, more complicated systems, analytical approaches may not exist, while iterative prediction often still works. For example, it would be easy to modify the projectile motion simulation to include the effects of [[Air Resistance]], which is difficult to take into account analytically.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
In addition to the example below, know how to create vPython simulations using iterative prediction with both constant and varying forces.&lt;br /&gt;
&lt;br /&gt;
===1. (Middling)===&lt;br /&gt;
&lt;br /&gt;
A 2kg particle is released from rest at time t=0. A constant force of 6N is applied to it. How far has the particle traveled after 4 seconds?&lt;br /&gt;
&lt;br /&gt;
Solve this question&lt;br /&gt;
&lt;br /&gt;
A.) analytically (using kinematic equations)&lt;br /&gt;
&lt;br /&gt;
B.) using iterative prediction with 12 equal time steps&lt;br /&gt;
&lt;br /&gt;
C.) using iterative prediction with 4 equal time steps&lt;br /&gt;
&lt;br /&gt;
D.) using iterative prediction with a single time step&lt;br /&gt;
&lt;br /&gt;
Pay attention to how the resolution of the iterative prediction affects the accuracy of the answer. The analytical answer is completely accurate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A.) To solve this analytically, the following kinematic equation should be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} a t^2 + v_0 t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using [[Newton&#039;s Second Law: the Momentum Principle]], we know that &amp;lt;math&amp;gt;a = \frac{f}{m} = 3&amp;lt;/math&amp;gt;m/s^2. We are also given that &amp;lt;math&amp;gt;v_0 = 0&amp;lt;/math&amp;gt;, and we are interested in the time t=4. Substituting these values into the kinematic equation yields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta x = \frac{1}{2} (3) (4)^2 = 24&amp;lt;/math&amp;gt;m.&lt;br /&gt;
&lt;br /&gt;
B.) To solve this using iterative prediction, a computational tool should be used. Since an animation isn&#039;t necessary for this problem, I used Microsoft Excel; each row populates itself based on the information in the previous row using formula functions. Google Spreadsheets can also be used, as can vPython or any other programming language.&lt;br /&gt;
&lt;br /&gt;
[[File:12steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
Using 12 time steps of 1/3 seconds each results in a simulated displacement of 26m, which is fairly close to the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
C.)&lt;br /&gt;
&lt;br /&gt;
[[File:4steps.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 4 time steps of 1 second each results in a simulated displacement of 30m, which is fairly different from the actual amount of 24m.&lt;br /&gt;
&lt;br /&gt;
D.)&lt;br /&gt;
&lt;br /&gt;
[[File:1step.PNG]]&lt;br /&gt;
&lt;br /&gt;
using 1 time step of 4 seconds results in a simulated displacement of 48m, which is twice the actual amount!&lt;br /&gt;
&lt;br /&gt;
This demonstrates that higher-resolution simulations with smaller time steps are able to predict the motion of particles more accurately than lower-resolution simulations with larger time steps. It also demonstrates that as the length of each time step approaches 0, the predicted motion of the particles approaches their actual motion. It is important to choose a resolution that keeps error within an acceptable margin.&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
===Application: video game industry===&lt;br /&gt;
&lt;br /&gt;
One popular application of iterative prediction is in physics-based video games. These are often little more than physics simulations with player input. Iterative prediction is used in most major video games to predict the motion of in-game objects. It can be used even if the laws of physics within the video game are different from those of the real world.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The impulse-momentum theorem, which is used in iterative prediction to update the momenta of particles, is derived from Newton&#039;s Second Law, which Isaac Newton (1643-1727) publish in his 1687 book Principia Mathematica. From this point onward, all of the math necessary for iterative prediction was known, but it was not useful to perform iterative prediction until significant computational advances in the twentieth century allowed for high resolutions.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Linear Momentum]]&lt;br /&gt;
*[[Impulse and Momentum]]&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
*[http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:modeling_with_vpython Iterative Prediction with VPython]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Wednesday, Week 2 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. &#039;&#039;&#039;Monday, Week 3 Lecture Slides. Fenton, Flavio H&#039;&#039;&#039;&lt;br /&gt;
*Georgia Institute of Technology. Physics Department. PHYS 2211. Fall 2016. Lab 07 Fancart Energy &amp;amp; Spring-Mass Instructions, Greco, Edwin&lt;br /&gt;
*http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes:iterativepredict&lt;br /&gt;
*Bañó-Polo, M., Baeza-Delgado, C., Tamborero, S., Hazel, A., Grau, B., Nilsson, I., … Mingarro, I. (2018). Transmembrane but not soluble helices fold inside the ribosome tunnel. Nature communications, 9(1), 5246. doi:10.1038/s41467-018-07554-7&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Newton%27s_First_Law_of_Motion&amp;diff=38137</id>
		<title>Newton&#039;s First Law of Motion</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Newton%27s_First_Law_of_Motion&amp;diff=38137"/>
		<updated>2019-11-24T19:17:33Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes Newton&#039;s first law of motion, the first of his three famous laws of motion published in his work &amp;lt;i&amp;gt;Principia Mathematica&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law states that an object at rest will stay at rest and an object in motion will stay in motion with the same speed and direction of travel unless the object is acted upon by an unbalanced external force. &lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law states that it is the natural tendency for objects to remain on their current course. The tendency of matter to obey this law is called [[Inertia]], so it is also sometimes called the Law of Inertia.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
The first law states that if the [[Net Force]] acting on the object is zero, then its velocity &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt; will not change over time. Velocity is a vector, which has both direction and magnitude, therefore if the Net Force is zero, neither the direction or magnitude can be changing. In other words, if the net force acting on an object is zero, it will not accelerate.&lt;br /&gt;
&lt;br /&gt;
This idea can be expressed in the following manner:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\sum \mathbf{\vec{F}} = 0\; \Leftrightarrow\; \frac{\mathrm{d} \mathbf{\vec{v}} }{\mathrm{d}t} = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law applies to:&lt;br /&gt;
&lt;br /&gt;
1) Objects at rest (&amp;lt;math&amp;gt;|\vec{v}| = 0&amp;lt;/math&amp;gt;), which will stay at rest unless a nonzero force acts upon it.&lt;br /&gt;
&lt;br /&gt;
2) Objects in motion (&amp;lt;math&amp;gt;|\vec{v}| \neq 0&amp;lt;/math&amp;gt;), which will continue to be in motion with the same velocity, proceeding in the same straight line, unless a nonzero force acts upon it.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Because of the qualitative nature of Newton&#039;s first law, some of these example problems are conceptual questions rather than mathematical calculations.&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
&lt;br /&gt;
Question 1: Suppose you want to push a box across a table in a straight line at a constant speed. What force, if any, would you have to exert on the box? (Describe it qualitatively- not enough information is supplied for a numerical answer.)&lt;br /&gt;
&lt;br /&gt;
Answer: The moving box would experience 3 forces (besides any you exert on it): gravity, normal force from the table, and friction with the table and air. Gravity points downwards, normal force points upwards, and friction opposes the direction of motion. Because of the nature of normal force, the normal force takes on whatever magnitude necessary to cancel gravity. The only unbalanced force is therefore friction. Since your objective is to keep the box moving in a straight line at a constant speed (that is, at a constant velocity), the net force acting on the box must be 0 according to Newton&#039;s first law. The force you exert should therefore balance the friction force by being equal in magnitude and opposite in direction.&lt;br /&gt;
&lt;br /&gt;
Question 2: Is a change in position an indicator of interaction?&lt;br /&gt;
&lt;br /&gt;
Answer: On its own, a change in position is not enough to indicate an interaction because an object can have a nonzero velocity (that is, have a changing position) even with no forces acting on it, so long as that velocity is constant. With some additional information, however, a change in position can indicate an interaction. For example, if an object is initially at rest and is later found at another position, its velocity must have changed and it must have been acted on by a nonzero unbalanced external force.&lt;br /&gt;
&lt;br /&gt;
===Medium===&lt;br /&gt;
&lt;br /&gt;
Question: A 16kg traffic light is suspended by two cables, each 22&amp;lt;math&amp;gt;^\circ&amp;lt;/math&amp;gt; from horizontal, as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:Newtonsfirsttrafficlight.png]]&lt;br /&gt;
&lt;br /&gt;
What is the tension in each of the cables?&lt;br /&gt;
&lt;br /&gt;
Solution: Because the traffic light is at rest and not accelerating, by Newton&#039;s first law, any forces acting on it must be balanced (that is, the net force acting on it must be 0). The forces acting on the traffic light are gravity and tension in the 2 cables. The horizontal components of the cables&#039; tension forces must be equal in magnitude, or the traffic light would be accelerating to the left or the right. Combining that information with the fact that the two cables are inclined by the same amount leads to the conclusion that the tension in the two cables must be the same. Finally, we know that the combined vertical components of the two cables&#039; tension forces must equal the traffic light&#039;s weight, or the light would be accelerating vertically. This allows us to create the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2T\sin(22) = 16*9.8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T = \frac{16*9.8}{2\sin(22)} = 209.3&amp;lt;/math&amp;gt;N.&lt;br /&gt;
&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
(Requires knowledge of [[Static Friction]].)&lt;br /&gt;
&lt;br /&gt;
Question: Suppose there exists a car of mass 9000 kg that is moving at a constant speed of 90 m/s in an easterly direction. The car is being buffeted by a strong wind, which exerts a 1000N force on it in the northerly direction. From this information, you know that the coefficient of static friction between the road and teh car&#039;s tires &amp;lt;math&amp;gt;\mu_s&amp;lt;/math&amp;gt; must be at least what value?&lt;br /&gt;
&lt;br /&gt;
Solution: Because the car is travelling at a constant speed without changing direction, by Newton&#039;s first law, any forces acting on it must be balanced (that is, the net force acting on it must be 0). The forces acting on the car are gravity, the normal force from the road, the wind, and static friction with the road. Gravity acts in the downward direction, the normal force acts in the upward direction, the wind acts in a northerly direction, and static friction acts in a southerly direction. We know that the magnitude of the normal force must be equal to the magnitude of the gravitational force, or the car would be accelerating vertically. That is, the magnitude of the normal force &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; must be 9,000kg * 9.8m/s = 88200N. We also know that the magnitude of the static friction force must be equal to the magnitude of the wind force, or the car would be accelerating along the north-south axis. That is, the magnitude of the friction force &amp;lt;math&amp;gt;f_s&amp;lt;/math&amp;gt; must be 1000N.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_s \leq \mu_s * N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu_s \geq \frac{f_s}{N}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu_s \geq \frac{1000}{88200} = .0113&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law is applicable to any situation where the net force on an object is 0 and its velocity remains constant. There are nearly limitless examples of such situations, as well as nearly limitless applications. A few can be found below.&lt;br /&gt;
&lt;br /&gt;
===Scenario: Tablecloth Party Trick===&lt;br /&gt;
&lt;br /&gt;
A classic demonstration of Newton&#039;s first law is a party trick in which a tablecloth is yanked out from underneath an assortment of dinnerware, which barely moves and remains on the table. The tablecloth accelerates because a strong external force- a person&#039;s arm- acts on it, but the only force acting on the dinnerware is kinetic friction with the sliding tablecloth. This force is significantly weaker, and if the tablecloth is pulled quickly enough, does not have enough time to impart a significant impulse on the dinnerware. This trick demonstrates Newton&#039;s first law because the dinnerware begins at rest and remains so because no significant forces act on it.&lt;br /&gt;
&lt;br /&gt;
===Scenario: Objects in Space===&lt;br /&gt;
&lt;br /&gt;
In space, some intergalactic objects exist so far away from other bodies of matter that gravitational forces acting on them are negligible in magnitude. These objects continue to move in a straight line at a constant speed for very long periods due to Newton&#039;s first law.&lt;br /&gt;
&lt;br /&gt;
===Scenario: Turning car===&lt;br /&gt;
&lt;br /&gt;
You have probably experienced a situation in which you were driving or riding in a car when the driver takes a sharp turn. As a result, you were pressed against the side of the car to the outside of the turn. This is the result of Newton&#039;s first law; when the car changed direction, your body&#039;s natural tendency to continue moving in a straight line caused it to collide with the side of the car (or your seatbelt), which then applied enough normal force to cause your body to turn along with the car.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The nature of the tendencies of matter regarding motion has been the subject of much thought throughout human history. Aristotle (384–322 BCE) famously believed that all objects have a &amp;quot;natural place&amp;quot; towards which they tend: heavy objects belong on the earth and therefore tend to move downwards, while lighter substances such as smoke belong in the sky and therefore tend to move upwards. Once an object reached its natural place, Aristotle believed, it would remain there at rest. Aristotle believed objects could not continue to move forever without being acted on by a force to keep it in motion, which is consistent with any observations he could have made on the surface of the earth, although today, we know this to be the result of [[Friction]].&lt;br /&gt;
&lt;br /&gt;
Galileo Galilei (1564-1642), who studied the motion of celestial bodies, was the first to propose that perpetual motion was actually the natural state of objects, and that forces such as friction were necessary to bring them to rest or otherwise change their velocities. Galileo performed an experiment with two ramps and a bronze ball. The two ramps were set up at the same angle of incline, facing each other. Galileo observed that if a ball was released on one of the ramps from a certain height, it would roll down that ramp and up the other and reach that same height.  He then experimented with altering the angle of the second ramp. He observed that even when the second ramp was less steep than the first, the ball would reach the same height it was dropped from. (Today, this is known to be the result of conservation of energy.) Galileo reasoned that if the second ramp were removed entirely, and the ball rolled down the first ramp and onto a flat surface, it would never be able to reach the height it was dropped from, and would therefore never stop moving if conditions were ideal. Galileo was essentially the first person to propose the idea that we now know as Newton&#039;s first law.&lt;br /&gt;
&lt;br /&gt;
Isaac Newton (1643-1727) confirmed Galileo&#039;s idea with his own experiments and published it along with his 2 other laws in his 1687 work &amp;lt;i&amp;gt;Principia Mathematica&amp;lt;/i&amp;gt;. Although he gave credit to Galileo, today the law is known by Newton&#039;s name. &lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law appears in &amp;lt;i&amp;gt;Principia&amp;lt;/i&amp;gt; (which was written in Latin) as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lex I: Corpus omne perseverare in statu suo quiescendi vel movendi uniformiter in directum, nisi quatenus a viribus impressis cogitur statum illum mutare.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Translated to English, this reads:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Law I: Every body persists in its state of being at rest or of moving uniformly straight forward, except insofar as it is compelled to change its state by force impressed.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Inertia]]&lt;br /&gt;
*[[Velocity]]&lt;br /&gt;
*[[Acceleration]]&lt;br /&gt;
*[[Newton&#039;s Second Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Third Law of Motion]]&lt;br /&gt;
*[[Galileo Galilei]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
Science of NFL Football: https://www.youtube.com/watch?v=08BFCZJDn9w&lt;br /&gt;
&lt;br /&gt;
Real world application of Newton&#039;s First Law: https://www.youtube.com/watch?v=8zsE3mpZ6Hw&lt;br /&gt;
&lt;br /&gt;
Everything you want to know about Newton&#039;s First Law of Motion: http://swift.sonoma.edu/education/newton/newton_1/html/newton1.html&lt;br /&gt;
&lt;br /&gt;
NASA page on Newton&#039;s first law: https://www.grc.nasa.gov/www/k-12/airplane/newton1g.html&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
http://teachertech.rice.edu/Participants/louviere/Newton/law1.html&lt;br /&gt;
&lt;br /&gt;
http://education.seattlepi.com/galileos-experiments-theory-rolling-balls-down-inclined-planes-4831.html&lt;br /&gt;
&lt;br /&gt;
https://science.howstuffworks.com/innovation/scientific-experiments/newton-law-of-motion2.htm&lt;br /&gt;
&lt;br /&gt;
Matter and Interactions: Modern Mechanics. Volume One. 4th Edition.&lt;br /&gt;
&lt;br /&gt;
[[Category: Interactions]]&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Newton%27s_First_Law_of_Motion&amp;diff=38136</id>
		<title>Newton&#039;s First Law of Motion</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Newton%27s_First_Law_of_Motion&amp;diff=38136"/>
		<updated>2019-11-24T19:16:40Z</updated>

		<summary type="html">&lt;p&gt;Ssaravanan9: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Shruthi Saravanan - Fall 2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page describes Newton&#039;s first law of motion, the first of his three famous laws of motion published in his work &amp;lt;i&amp;gt;Principia Mathematica&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law states that an object at rest will stay at rest and an object in motion will stay in motion with the same speed and direction of travel unless the object is acted upon by an unbalanced external force. &lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law states that it is the natural tendency for objects to remain on their current course. The tendency of matter to obey this law is called [[Inertia]], so it is also sometimes called the Law of Inertia.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
The first law states that if the [[Net Force]] acting on the object is zero, then its velocity &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt; will not change over time. Velocity is a vector, which has both direction and magnitude, therefore if the Net Force is zero, neither the direction or magnitude can be changing. In other words, if the net force acting on an object is zero, it will not accelerate.&lt;br /&gt;
&lt;br /&gt;
This idea can be expressed in the following manner:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\sum \mathbf{\vec{F}} = 0\; \Leftrightarrow\; \frac{\mathrm{d} \mathbf{\vec{v}} }{\mathrm{d}t} = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law applies to:&lt;br /&gt;
&lt;br /&gt;
1) Objects at rest (&amp;lt;math&amp;gt;|\vec{v}| = 0&amp;lt;/math&amp;gt;), which will stay at rest unless a nonzero force acts upon it.&lt;br /&gt;
&lt;br /&gt;
2) Objects in motion (&amp;lt;math&amp;gt;|\vec{v}| \neq 0&amp;lt;/math&amp;gt;), which will continue to be in motion with the same velocity, proceeding in the same straight line, unless a nonzero force acts upon it.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Because of the qualitative nature of Newton&#039;s first law, some of these example problems are conceptual questions rather than mathematical calculations.&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
&lt;br /&gt;
Question 1: Suppose you want to push a box across a table in a straight line at a constant speed. What force, if any, would you have to exert on the box? (Describe it qualitatively- not enough information is supplied for a numerical answer.)&lt;br /&gt;
&lt;br /&gt;
Answer: The moving box would experience 3 forces (besides any you exert on it): gravity, normal force from the table, and friction with the table and air. Gravity points downwards, normal force points upwards, and friction opposes the direction of motion. Because of the nature of normal force, the normal force takes on whatever magnitude necessary to cancel gravity. The only unbalanced force is therefore friction. Since your objective is to keep the box moving in a straight line at a constant speed (that is, at a constant velocity), the net force acting on the box must be 0 according to Newton&#039;s first law. The force you exert should therefore balance the friction force by being equal in magnitude and opposite in direction.&lt;br /&gt;
&lt;br /&gt;
Question 2: Is a change in position an indicator of interaction?&lt;br /&gt;
&lt;br /&gt;
Answer: On its own, a change in position is not enough to indicate an interaction because an object can have a nonzero velocity (that is, have a changing position) even with no forces acting on it, so long as that velocity is constant. With some additional information, however, a change in position can indicate an interaction. For example, if an object is initially at rest and is later found at another position, its velocity must have changed and it must have been acted on by a nonzero unbalanced external force.&lt;br /&gt;
&lt;br /&gt;
===Medium===&lt;br /&gt;
&lt;br /&gt;
Question: A 16kg traffic light is suspended by two cables, each 22&amp;lt;math&amp;gt;^\circ&amp;lt;/math&amp;gt; from horizontal, as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:Newtonsfirsttrafficlight.png]]&lt;br /&gt;
&lt;br /&gt;
What is the tension in each of the cables?&lt;br /&gt;
&lt;br /&gt;
Solution: Because the traffic light is at rest and not accelerating, by Newton&#039;s first law, any forces acting on it must be balanced (that is, the net force acting on it must be 0). The forces acting on the traffic light are gravity and tension in the 2 cables. The horizontal components of the cables&#039; tension forces must be equal in magnitude, or the traffic light would be accelerating to the left or the right. Combining that information with the fact that the two cables are inclined by the same amount leads to the conclusion that the tension in the two cables must be the same. Finally, we know that the combined vertical components of the two cables&#039; tension forces must equal the traffic light&#039;s weight, or the light would be accelerating vertically. This allows us to create the following equation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2T\sin(22) = 16*9.8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T = \frac{16*9.8}{2\sin(22)} = 209.3&amp;lt;/math&amp;gt;N.&lt;br /&gt;
&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
(Requires knowledge of [[Static Friction]].)&lt;br /&gt;
&lt;br /&gt;
Question: Suppose there exists a car of mass 9000 kg that is moving at a constant speed of 90 m/s in an easterly direction. The car is being buffeted by a strong wind, which exerts a 1000N force on it in the northerly direction. From this information, you know that the coefficient of static friction between the road and teh car&#039;s tires &amp;lt;math&amp;gt;\mu_s&amp;lt;/math&amp;gt; must be at least what value?&lt;br /&gt;
&lt;br /&gt;
Solution: Because the car is travelling at a constant speed without changing direction, by Newton&#039;s first law, any forces acting on it must be balanced (that is, the net force acting on it must be 0). The forces acting on the car are gravity, the normal force from the road, the wind, and static friction with the road. Gravity acts in the downward direction, the normal force acts in the upward direction, the wind acts in a northerly direction, and static friction acts in a southerly direction. We know that the magnitude of the normal force must be equal to the magnitude of the gravitational force, or the car would be accelerating vertically. That is, the magnitude of the normal force &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; must be 9,000kg * 9.8m/s = 88200N. We also know that the magnitude of the static friction force must be equal to the magnitude of the wind force, or the car would be accelerating along the north-south axis. That is, the magnitude of the friction force &amp;lt;math&amp;gt;f_s&amp;lt;/math&amp;gt; must be 1000N.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f_s \leq \mu_s * N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu_s \geq \frac{f_s}{N}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mu_s \geq \frac{1000}{88200} = .0113&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law is applicable to any situation where the net force on an object is 0 and its velocity remains constant. There are nearly limitless examples of such situations, as well as nearly limitless applications. A few can be found below.&lt;br /&gt;
&lt;br /&gt;
===Scenario: Tablecloth Party Trick===&lt;br /&gt;
&lt;br /&gt;
A classic demonstration of Newton&#039;s first law is a party trick in which a tablecloth is yanked out from underneath an assortment of dinnerware, which barely moves and remains on the table. The tablecloth accelerates because a strong external force- a person&#039;s arm- acts on it, but the only force acting on the dinnerware is kinetic friction with the sliding tablecloth. This force is significantly weaker, and if the tablecloth is pulled quickly enough, does not have enough time to impart a significant impulse on the dinnerware. This trick demonstrates Newton&#039;s first law because the dinnerware begins at rest and remains so because no significant forces act on it.&lt;br /&gt;
&lt;br /&gt;
===Scenario: Objects in Space===&lt;br /&gt;
&lt;br /&gt;
In space, some intergalactic objects exist so far away from other bodies of matter that gravitational forces acting on them are negligible in magnitude. These objects continue to move in a straight line at a constant speed for very long periods due to Newton&#039;s first law.&lt;br /&gt;
&lt;br /&gt;
===Scenario: Turning car===&lt;br /&gt;
&lt;br /&gt;
You have probably experienced a situation in which you were driving or riding in a car when the driver takes a sharp turn. As a result, you were pressed against the side of the car to the outside of the turn. This is the result of Newton&#039;s first law; when the car changed direction, your body&#039;s natural tendency to continue moving in a straight line caused it to collide with the side of the car (or your seatbelt), which then applied enough normal force to cause your body to turn along with the car.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The nature of the tendencies of matter regarding motion has been the subject of much thought throughout human history. Aristotle (384–322 BCE) famously believed that all objects have a &amp;quot;natural place&amp;quot; towards which they tend: heavy objects belong on the earth and therefore tend to move downwards, while lighter substances such as smoke belong in the sky and therefore tend to move upwards. Once an object reached its natural place, Aristotle believed, it would remain there at rest. Aristotle believed objects could not continue to move forever without being acted on by a force to keep it in motion, which is consistent with any observations he could have made on the surface of the earth, although today, we know this to be the result of [[Friction]].&lt;br /&gt;
&lt;br /&gt;
Galileo Galilei (1564-1642), who studied the motion of celestial bodies, was the first to propose that perpetual motion was actually the natural state of objects, and that forces such as friction were necessary to bring them to rest or otherwise change their velocities. Galileo performed an experiment with two ramps and a bronze ball. The two ramps were set up at the same angle of incline, facing each other. Galileo observed that if a ball was released on one of the ramps from a certain height, it would roll down that ramp and up the other and reach that same height.  He then experimented with altering the angle of the second ramp. He observed that even when the second ramp was less steep than the first, the ball would reach the same height it was dropped from. (Today, this is known to be the result of conservation of energy.) Galileo reasoned that if the second ramp were removed entirely, and the ball rolled down the first ramp and onto a flat surface, it would never be able to reach the height it was dropped from, and would therefore never stop moving if conditions were ideal. Galileo was essentially the first person to propose the idea that we now know as Newton&#039;s first law.&lt;br /&gt;
&lt;br /&gt;
Isaac Newton (1643-1727) confirmed Galileo&#039;s idea with his own experiments and published it along with his 2 other laws in his 1687 work &amp;lt;i&amp;gt;Principia Mathematica&amp;lt;/i&amp;gt;. Although he gave credit to Galileo, today the law is known by Newton&#039;s name. &lt;br /&gt;
&lt;br /&gt;
Newton&#039;s first law appears in &amp;lt;i&amp;gt;Principia&amp;lt;/i&amp;gt; (which was written in Latin) as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lex I: Corpus omne perseverare in statu suo quiescendi vel movendi uniformiter in directum, nisi quatenus a viribus impressis cogitur statum illum mutare.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Translated to English, this reads:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Law I: Every body persists in its state of being at rest or of moving uniformly straight forward, except insofar as it is compelled to change its state by force impressed.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Inertia]]&lt;br /&gt;
*[[Velocity]]&lt;br /&gt;
*[[Acceleration]]&lt;br /&gt;
*[[Newton&#039;s Second Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Third Law of Motion]]&lt;br /&gt;
*[[Galileo Galilei]]&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
Science of NFL Football: https://www.youtube.com/watch?v=08BFCZJDn9w&lt;br /&gt;
&lt;br /&gt;
Real world application of Newton&#039;s First Law: https://www.youtube.com/watch?v=8zsE3mpZ6Hw&lt;br /&gt;
&lt;br /&gt;
Everything you want to know about Newton&#039;s First Law of Motion: http://swift.sonoma.edu/education/newton/newton_1/html/newton1.html&lt;br /&gt;
&lt;br /&gt;
NASA page on Newton&#039;s first law: https://www.grc.nasa.gov/www/k-12/airplane/newton1g.html&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
http://teachertech.rice.edu/Participants/louviere/Newton/law1.html&lt;br /&gt;
&lt;br /&gt;
http://education.seattlepi.com/galileos-experiments-theory-rolling-balls-down-inclined-planes-4831.html&lt;br /&gt;
&lt;br /&gt;
https://science.howstuffworks.com/innovation/scientific-experiments/newton-law-of-motion2.htm&lt;br /&gt;
&lt;br /&gt;
Matter and Interactions: Modern Mechanics. Volume One. 4th Edition.&lt;br /&gt;
&lt;br /&gt;
[[Category: Interactions]]&lt;/div&gt;</summary>
		<author><name>Ssaravanan9</name></author>
	</entry>
</feed>