Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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.