Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

330 lines (289 sloc) 22.748 kb
<!DOCTYPE html>
<html data-require="math">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Kinematic equations</title>
<script src="../khan-exercise.js"></script>
</head>
<body>
<div class="exercise">
<div class="problems">
<div id="accelerated" data-weight="3">
<div class="vars" data-ensure="(OMITTED !== UNKNOWN) && !NO_SOLUTION">
<var id="OMITTED">randFromArray(['a', 'd', 't', 'v_i', 'v_f'])</var>
<var id="UNKNOWN">randFromArray(['a', 'd', 't', 'v_i', 'v_f'])</var>
<var id="ACCEL">randRangeNonZero(-200, 200) / 10</var>
<var id="V_INIT">randRange(-400, 400) / 10</var>
<var id="TIME">randRange(100, 200) / 10</var>
<var id="DISP">roundTo(2, V_INIT * TIME + (1/2) * ACCEL * TIME * TIME)</var>
<var id="V_FINAL">roundTo(2, V_INIT + ACCEL * TIME)</var>
<var id="NO_SOLUTION">
/* negative under radical */
(OMITTED === 'v_i' && UNKNOWN === 't' && (V_FINAL * V_FINAL - 2 * ACCEL * DISP &lt; 0.1)) ||
(OMITTED === 'v_f' && UNKNOWN === 't' && (V_INIT * V_INIT + 2 * ACCEL * DISP &lt; 0.1)) ||
(OMITTED === 't' && UNKNOWN === 'v_i' && (V_FINAL * V_FINAL - 2 * ACCEL * DISP &lt; 0.1)) ||
(OMITTED === 't' && UNKNOWN === 'v_f' && (V_INIT * V_INIT + 2 * ACCEL * DISP &lt; 0.1)) ||
/* division by 0 */
(OMITTED === 'd' && UNKNOWN === 'a' && TIME === 0) ||
(OMITTED === 'd' && UNKNOWN === 't' && ACCEL === 0) ||
(OMITTED === 'v_i' && UNKNOWN === 'v_f' && TIME === 0) ||
(OMITTED === 'v_i' && UNKNOWN === 'a' && TIME === 0) ||
(OMITTED === 'v_i' && UNKNOWN === 't' && ACCEL === 0) ||
(OMITTED === 'v_f' && UNKNOWN === 'v_i' && TIME === 0) ||
(OMITTED === 'v_f' && UNKNOWN === 'a' && TIME === 0) ||
(OMITTED === 'v_f' && UNKNOWN === 't' && ACCEL === 0) ||
(OMITTED === 'a' && UNKNOWN === 'v_i' && TIME === 0) ||
(OMITTED === 'a' && UNKNOWN === 'v_f' && TIME === 0) ||
(OMITTED === 'a' && UNKNOWN === 't' && (-0.1 &lt; V_INIT + V_FINAL) && (V_INIT + V_FINAL &lt; 0.1)) ||
(OMITTED === 't' && UNKNOWN === 'd' && ACCEL === 0) ||
(OMITTED === 't' && UNKNOWN === 'a' && DISP === 0)
</var>
<var id="PLUS_OR_MINUS_SOLUTION">
(OMITTED === 't' && UNKNOWN === 'v_i') ||
(OMITTED === 't' && UNKNOWN === 'v_f')
</var>
<var id="QUADRATIC_TWO_SOLUTION">
(OMITTED === 'v_i' && UNKNOWN === 't' && (V_FINAL * V_FINAL - 2 * ACCEL * DISP > 0.1)) ||
(OMITTED === 'v_f' && UNKNOWN === 't' && (V_INIT * V_INIT + 2 * ACCEL * DISP > 0.1))
</var>
</div>
<div class="problem">
<p data-if="'d' !== OMITTED && 'd' !== UNKNOWN"><code>d = <var>DISP</var> \text{m}</code></p>
<p data-if="'v_i' !== OMITTED && 'v_i' !== UNKNOWN"><code>v_i = <var>V_INIT</var> \frac{\text{m}}{\text{s}}</code></p>
<p data-if="'v_f' !== OMITTED && 'v_f' !== UNKNOWN"><code>v_f = <var>V_FINAL</var> \frac{\text{m}}{\text{s}}</code></p>
<p data-if="'a' !== OMITTED && 'a' !== UNKNOWN"><code>a = <var>ACCEL</var> \frac{\text{m}}{\text{s}^2}</code></p>
<p data-if="'t' !== OMITTED && 't' !== UNKNOWN"><code>t = <var>TIME</var> \text{s}</code></p>
<p><code><var>OMITTED</var> = {?}</code></p>
<p><code><var>UNKNOWN</var> = {?}</code></p>
</div>
<div class="question">
<p>Solve for <code><var>UNKNOWN</var></code>. Round to the nearest tenth.</p>
<p>Make sure you select the proper units. You may do arithmetic with a calculator. If there is more than one correct solution, you may enter either one.</p>
</div>
<div class="solution" data-type="set" data-show-unused="true">
<div class="set-sol" data-type="multiple" data-if="!QUADRATIC_TWO_SOLUTION">
<span class="sol" data-type="decimal" data-inexact data-max-error="0.1">
<var data-if="UNKNOWN === 'd'">roundTo(1, DISP)</var>
<var data-if="UNKNOWN === 'v_i'">roundTo(1, V_INIT)</var>
<var data-if="UNKNOWN === 'v_f'">roundTo(1, V_FINAL)</var>
<var data-if="UNKNOWN === 'a'">roundTo(1, ACCEL)</var>
<var data-if="UNKNOWN === 't'">roundTo(1, TIME)</var>
</span>
<span class="sol" data-type="list" data-choices="['', 'm', 'm/s', 'm/s&sup2;', 's']">
<span data-if="UNKNOWN === 'd'">m</span>
<span data-if="UNKNOWN === 'v_i'">m/s</span>
<span data-if="UNKNOWN === 'v_f'">m/s</span>
<span data-if="UNKNOWN === 'a'">m/s&sup2;</span>
<span data-if="UNKNOWN === 't'">s</span>
</span>
</div>
<div class="set-sol" data-type="multiple" data-if="PLUS_OR_MINUS_SOLUTION">
<span class="sol" data-type="decimal" data-inexact data-max-error="0.1">
<var data-if="UNKNOWN === 'v_i'">roundTo(1, -V_INIT)</var>
<var data-if="UNKNOWN === 'v_f'">roundTo(1, -V_FINAL)</var>
</span>
<span class="sol" data-type="list" data-choices="['', 'm', 'm/s', 'm/s&sup2;', 's']">m/s</span>
</div>
<div class="set-sol" data-type="multiple" data-if="QUADRATIC_TWO_SOLUTION">
<span class="sol" data-type="decimal" data-inexact data-max-error="0.1">
<var data-if="UNKNOWN === 't' && OMITTED === 'v_i'">roundTo(1, ((-V_FINAL) + sqrt(V_FINAL * V_FINAL - 2 * ACCEL * DISP))/(-ACCEL))</var>
<var data-if="UNKNOWN === 't' && OMITTED === 'v_f'">roundTo(1, ((-V_INIT) + sqrt(V_INIT * V_INIT + 2 * ACCEL * DISP))/ACCEL)</var>
</span>
<span class="sol" data-type="list" data-choices="['', 'm', 'm/s', 'm/s&sup2;', 's']">s</span>
</div>
<div class="set-sol" data-type="multiple" data-if="QUADRATIC_TWO_SOLUTION">
<span class="sol" data-type="decimal" data-inexact data-max-error="0.1">
<var data-if="UNKNOWN === 't' && OMITTED === 'v_i'">roundTo(1, ((-V_FINAL) - sqrt(V_FINAL * V_FINAL - 2 * ACCEL * DISP))/(-ACCEL))</var>
<var data-if="UNKNOWN === 't' && OMITTED === 'v_f'">roundTo(1, ((-V_INIT) - sqrt(V_INIT * V_INIT + 2 * ACCEL * DISP))/ACCEL)</var>
</span>
<span class="sol" data-type="list" data-choices="['', 'm', 'm/s', 'm/s&sup2;', 's']">s</span>
</div>
<p class="input-format">
<span class="entry" data-type="multiple">
<code><var>UNKNOWN</var> = </code>
<span class="sol" data-type="decimal" data-inexact data-max-error="0.1"></span>
<span class="sol" data-type="list" data-choices="['', 'm', 'm/s', 'm/s&sup2;', 's']"></span>
</span>
</p>
<p class="example">a decimal <em>and</em> a unit of measure</p>
</div>
</div>
<div id="freefall" data-type="accelerated" data-weight="2">
<div class="vars">
<var id="ACCEL">-9.8</var>
<var id="V_INIT">rand(2) ? 0 : randRange(-100, 300) / 10</var>
<var id="TIME">randRange(3, 200)/10</var>
<var id="DISP">roundTo(2, V_INIT * TIME + (1/2) * ACCEL * TIME * TIME)</var>
<var id="V_FINAL">roundTo(2, V_INIT + ACCEL * TIME)</var>
</div>
</div>
<div id="constant" data-type="accelerated" data-weight="1">
<div class="vars" data-ensure="!(OMITTED === 'd' && UNKNOWN === 't') && !(OMITTED === 't' && UNKNOWN === 'd')">
<var id="ACCEL">0</var>
<var id="V_INIT">randRange(5, 25)</var>
<var id="V_FINAL">V_INIT</var>
<var id="TIME">randRange(1, 25)</var>
<var id="DISP">TIME * V_INIT</var>
<var id="PLUS_OR_MINUS_SOLUTION">false</var>
</div>
</div>
</div>
<div class="hints">
<div data-if="OMITTED === 'd'" data-unwrap>
<p><code>v_f = v_i + at</code></p>
<div data-if="UNKNOWN === 'v_f'" data-unwrap>
<p><code>v_f = <var>V_INIT</var> \frac{\text{m}}{\text{s}} + (<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>TIME</var> \text{s})</code></p>
<p><code>v_f = <var>roundTo(1, V_FINAL)</var> \frac{\text{m}}{\text{s}}</code></p>
</div>
<div data-if="UNKNOWN === 'v_i'" data-unwrap>
<p><code>v_f - at = v_i</code></p>
<p><code><var>V_FINAL</var> \frac{\text{m}}{\text{s}} - (<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>TIME</var> \text{s}) = v_i</code></p>
<p><code><var>roundTo(1, V_INIT)</var> \frac{\text{m}}{\text{s}} = v_i</code></p>
</div>
<div data-if="UNKNOWN === 'a'" data-unwrap>
<p><code>\dfrac{v_f - v_i}{t} = a</code></p>
<p><code>\dfrac{<var>V_FINAL</var> \frac{\text{m}}{\text{s}} - <var>V_INIT</var> \frac{\text{m}}{\text{s}}}{<var>TIME</var> \text{s}} = a</code></p>
<p><code><var>roundTo(1, ACCEL)</var> \frac{\text{m}}{\text{s}^2} = a</code></p>
</div>
<div data-if="UNKNOWN === 't'" data-unwrap>
<p><code>\dfrac{v_f - v_i}{a} = t</code></p>
<p><code>\dfrac{<var>V_FINAL</var> \frac{\text{m}}{\text{s}} - <var>V_INIT</var> \frac{\text{m}}{\text{s}}}{<var>ACCEL</var> \frac{\text{m}}{\text{s}^2}} = t</code></p>
<p><code><var>roundTo(1, TIME)</var> \text{s} = t</code></p>
</div>
</div>
<div data-if="OMITTED === 'v_i'" data-unwrap>
<p><code>d = v_f t - \frac{1}{2}at^2</code></p>
<div data-if="UNKNOWN === 'd'" data-unwrap>
<p><code>d = (<var>V_FINAL</var> \frac{\text{m}}{\text{s}})(<var>TIME</var> \text{s}) - \frac{1}{2}(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>TIME</var> \text{s})^2</code></p>
<p><code>d = <var>roundTo(1, DISP)</var> \text{m}</code></p>
</div>
<div data-if="UNKNOWN === 'v_f'" data-unwrap>
<p><code>\dfrac{d + \frac{1}{2} at^2}{t} = v_f</code></p>
<p><code>\dfrac{<var>DISP</var> \text{m} + \frac{1}{2}(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>TIME</var> \text{s})^2}{<var>TIME</var> \text{s}} = v_f</code></p>
<p><code><var>roundTo(1, V_FINAL)</var> \frac{\text{m}}{\text{s}} = v_f</code></p>
</div>
<div data-if="UNKNOWN === 'a'" data-unwrap>
<p><code>\dfrac{d - v_f*t}{-\frac{1}{2}t^2} = a</code></p>
<p><code>\dfrac{<var>DISP</var> \text{m} - (<var>V_FINAL</var> \frac{\text{m}}{\text{s}})(<var>TIME</var> \text{s})}{-\frac{1}{2}(<var>TIME</var> \text{s})^2} = a</code></p>
<p><code><var>roundTo(1, ACCEL)</var> \frac{\text{m}}{\text{s}^2} = a</code></p>
</div>
<div data-if="UNKNOWN === 't'" data-unwrap>
<p><code>0 = -\frac{1}{2}a*t^2 + v_f*t - d</code></p>
<div>
<p>By the quadratic formula:</p>
<p><code>t = \dfrac{ -v_f \pm \sqrt{ v_f^2 - 2ad } }{-a}</code></p>
</div>
<p><code>t = \dfrac{-(<var>V_FINAL</var> \frac{\text{m}}{\text{s}}) \pm \sqrt{(<var>V_FINAL</var> \frac{\text{m}}{\text{s}})^2 - 2(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>DISP</var> \text{m})}}{-(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})}</code></p>
<p data-if="QUADRATIC_TWO_SOLUTION">
The quadratic has two solutions. Without making any assumptions about the direction of <code>v_i</code>,
either one could be correct. Intuitively, you can imagine throwing an object upward or downward in such a way
that they will both have the same downward velocity at the same point in space, but the one thrown downward
will get there sooner.
</p>
<p data-if="QUADRATIC_TWO_SOLUTION">
<code>t = <var>roundTo(1, ((-V_FINAL) + sqrt(V_FINAL * V_FINAL - 2 * ACCEL * DISP))/(-ACCEL))</var> \text{s}
\text{ or } <var>roundTo(1, ((-V_FINAL) - sqrt(V_FINAL * V_FINAL - 2 * ACCEL * DISP))/(-ACCEL))</var> \text{s}</code>
</p>
<p data-if="!QUADRATIC_TWO_SOLUTION"><code>t = <var>TIME</var> \text{s}</code></p>
</div>
</div>
<div data-if="OMITTED === 'v_f'" data-unwrap>
<p><code>d = v_i t + \frac{1}{2}at^2</code></p>
<div data-if="UNKNOWN === 'd'" data-unwrap>
<p><code>d = (<var>V_INIT</var> \frac{\text{m}}{\text{s}})(<var>TIME</var> \text{s}) + \frac{1}{2}(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>TIME</var> \text{s})^2</code></p>
<p><code>d = <var>roundTo(1, DISP)</var> \text{m}</code></p>
</div>
<div data-if="UNKNOWN === 'v_i'" data-unwrap>
<p><code>\dfrac{d - \frac{1}{2}at^2}{t} = v_i</code></p>
<p><code>\dfrac{<var>DISP</var> \text{m} - \frac{1}{2}(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>TIME</var> \text{s})^2}{<var>TIME</var> \text{s}} = v_i</code></p>
<p><code><var>roundTo(1, V_INIT)</var> \frac{\text{m}}{\text{s}} = v_i</code></p>
</div>
<div data-if="UNKNOWN === 'a'" data-unwrap>
<p><code>\dfrac{d - v_i t}{\frac{1}{2} t^2} = a</code></p>
<p><code>\dfrac{<var>DISP</var> \text{m} - (<var>V_INIT</var> \frac{\text{m}}{\text{s}})(<var>TIME</var> \text{s})}{\frac{1}{2}(<var>TIME</var> \text{s})^2} = a</code></p>
<p><code><var>roundTo(1, ACCEL)</var> \frac{\text{m}}{\text{s}^2} = a</code></p>
</div>
<div data-if="UNKNOWN === 't'" data-unwrap>
<p><code>0 = \frac{1}{2} at^2 + v_i t - d</code></p>
<div>
<p>By the quadratic formula:</p>
<p><code>t = \dfrac{ -v_i \pm \sqrt{v_i^2 + 2ad} }{a}</code></p>
</div>
<p><code>t = \dfrac{-(<var>V_INIT</var> \frac{\text{m}}{\text{s}}) \pm \sqrt{(<var>V_INIT</var> \frac{\text{m}}{\text{s}})^2 + 2(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>DISP</var> \text{m})}}{<var>ACCEL</var> \frac{\text{m}}{\text{s}^2}}</code></p>
<p data-if="QUADRATIC_TWO_SOLUTION">
The quadratic has two solutions. Without making any assumptions about the direction of <code>v_f</code>,
either one could be correct. Intuitively, this is because an object moving upward at velocity <code>v</code>
at one point in time will eventually be falling at the same speed (<code>-v</code>) at a different point in time.
</p>
<p data-if="QUADRATIC_TWO_SOLUTION">
<code>t = <var>roundTo(1, ((-V_INIT) + sqrt(V_INIT * V_INIT + 2 * ACCEL * DISP))/ACCEL)</var> \text{s}
\text{ or } <var>roundTo(1, ((-V_INIT) - sqrt(V_INIT * V_INIT + 2 * ACCEL * DISP))/ACCEL)</var> \text{s}</code>
</p>
<p data-if="!QUADRATIC_TWO_SOLUTION"><code>t = <var>TIME</var> \text{s}</code></p>
</div>
</div>
<div data-if="OMITTED === 'a'" data-unwrap>
<p><code>d = \frac{1}{2}(v_i + v_f)t</code></p>
<div data-if="UNKNOWN === 'd'" data-unwrap>
<p><code>d = \frac{1}{2}(<var>V_INIT</var> \frac{\text{m}}{\text{s}} + <var>V_FINAL</var> \frac{\text{m}}{\text{s}})(<var>TIME</var> \text{s})</code></p>
<p><code>d = <var>roundTo(1, DISP)</var> \text{m}</code></p>
</div>
<div data-if="UNKNOWN === 'v_i'" data-unwrap>
<p><code>\dfrac{2d}{t} - v_f = v_i</code></p>
<p><code>\dfrac{2(<var>DISP</var> \text{m})}{<var>TIME</var> \text{s}} - <var>V_FINAL</var> \frac{\text{m}}{\text{s}} = v_i</code></p>
<p><code><var>roundTo(1, V_INIT)</var> \frac{\text{m}}{\text{s}} = v_i</code></p>
</div>
<div data-if="UNKNOWN === 'v_f'" data-unwrap>
<p><code>\dfrac{2d}{t} - v_i = v_f</code></p>
<p><code>\dfrac{2(<var>DISP</var> \text{m})}{<var>TIME</var> \text{s}} - <var>V_INIT</var> \frac{\text{m}}{\text{s}} = v_f</code></p>
<p><code><var>roundTo(1, V_FINAL)</var> \frac{\text{m}}{\text{s}} = v_f</code></p>
</div>
<div data-if="UNKNOWN === 't'" data-unwrap>
<p><code>\dfrac{2d}{v_i + v_f} = t</code></p>
<p><code>\dfrac{2(<var>DISP</var> \text{m})}{(<var>V_INIT</var> \frac{\text{m}}{\text{s}}) + (<var>V_FINAL</var> \frac{\text{m}}{\text{s}})} = t</code></p>
<p><code><var>roundTo(1, TIME)</var> \text{s} = t</code></p>
</div>
</div>
<div data-if="OMITTED === 't'" data-unwrap>
<p><code>v_f^2 = v_i^2 + 2ad</code></p>
<div data-if="UNKNOWN === 'd'" data-unwrap>
<p><code>\dfrac{v_f^2 - v_i^2}{2a} = d</code></p>
<p><code>\dfrac{(<var>V_FINAL</var> \frac{\text{m}}{\text{s}} )^2 - (<var>V_INIT</var> \frac{\text{m}}{\text{s}} )^2}{2(<var>ACCEL</var> \text{s})} = d</code></p>
<p><code><var>roundTo(1, DISP)</var> \text{m} = d</code></p>
</div>
<div data-if="UNKNOWN === 'v_i'" data-unwrap>
<p><code>\pm\sqrt{v_f^2 - 2ad} = v_i</code></p>
<p><code>\pm\sqrt{(<var>V_FINAL</var> \frac{\text{m}}{\text{s}})^2 - 2(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>DISP</var> \text{m})} = v_i</code></p>
<p data-if="ACCEL !== 0">
Without making any assumptions about <code>t</code>, either direction for <code>v_i</code> could be correct.
Imagine throwing an object upward at velocity <code>v</code> compared to throwing it downward at the same
speed (<code>-v</code>). In both cases it will reach the same final velocity <code>v_f</code> at the same
point in space; it will just take different amounts of time to get there.
</p>
<p><code>v_i = <var>roundTo(1, V_INIT)</var> \frac{\text{m}}{\text{s}} \text{ or } <var>roundTo(1, -V_INIT)</var> \frac{\text{m}}{\text{s}}</code></p>
<p data-if="ACCEL === 0">However, we also know <code>a = 0 \frac{\text{m}}{\text{s}^2}</code></p>
<p data-if="ACCEL === 0">We know intuitively that with zero acceleration <code>v_i</code> must equal <code>v_f</code>, so <code>v_i = <var>roundTo(1, V_INIT)</var> \frac{\text{m}}{\text{s}}</code></p>
</div>
<div data-if="UNKNOWN === 'v_f'" data-unwrap>
<p><code>v_f = \pm\sqrt{v_i^2 + 2ad}</code></p>
<p><code>v_f = \pm\sqrt{(<var>V_INIT</var> \frac{\text{m}}{\text{s}})^2 + 2(<var>ACCEL</var> \frac{\text{m}}{\text{s}^2})(<var>DISP</var> \text{m})}</code></p>
<p data-if="ACCEL !== 0">
Without making any assumptions about <code>t</code>, either direction for <code>v_f</code> could be correct.
Imagine an object traveling upward at velocity <code>v_i</code>. It will reach a particular velocity
<code>v</code> on the way up, then reach the same speed in the opposite direction (<code>-v</code>) on the
way down at the same point in space; it will just take a different amount of time to get there.
</p>
<p><code>v_f = <var>roundTo(1, V_FINAL)</var> \frac{\text{m}}{\text{s}} \text{ or } <var>roundTo(1, -V_FINAL)</var> \frac{\text{m}}{\text{s}}</code></p>
<p data-if="ACCEL === 0">However, we also know <code>a = 0 \frac{\text{m}}{\text{s}^2}</code></p>
<p data-if="ACCEL === 0">We know intuitively that with zero acceleration <code>v_f</code> must equal <code>v_i</code>, so <code>v_f = <var>roundTo(1, V_FINAL)</var> \frac{\text{m}}{\text{s}}</code></p>
</div>
<div data-if="UNKNOWN === 'a'" data-unwrap>
<p><code>\dfrac{v_f^2 - v_i^2}{2d} = a</code></p>
<p><code>\dfrac{(<var>V_FINAL</var> \frac{\text{m}}{\text{s}})^2 - (<var>V_INIT</var> \frac{\text{m}}{\text{s}})^2}{2(<var>DISP</var> \text{m})} = a</code></p>
<p><code><var>roundTo(1, ACCEL)</var> \frac{\text{m}}{\text{s}^2} = a</code></p>
</div>
</div>
</div>
</div>
</body>
</html>
Jump to Line
Something went wrong with that request. Please try again.