1931 lines
161 KiB
HTML
1931 lines
161 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="generator" content="quarto-1.0.32">
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||
|
||
|
||
<title>Calculus with Julia - 25 The mean value theorem for differentiable functions.</title>
|
||
<style>
|
||
code{white-space: pre-wrap;}
|
||
span.smallcaps{font-variant: small-caps;}
|
||
span.underline{text-decoration: underline;}
|
||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||
ul.task-list{list-style: none;}
|
||
pre > code.sourceCode { white-space: pre; position: relative; }
|
||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||
.sourceCode { overflow: visible; }
|
||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||
div.sourceCode { margin: 1em 0; }
|
||
pre.sourceCode { margin: 0; }
|
||
@media screen {
|
||
div.sourceCode { overflow: auto; }
|
||
}
|
||
@media print {
|
||
pre > code.sourceCode { white-space: pre-wrap; }
|
||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||
}
|
||
pre.numberSource code
|
||
{ counter-reset: source-line 0; }
|
||
pre.numberSource code > span
|
||
{ position: relative; left: -4em; counter-increment: source-line; }
|
||
pre.numberSource code > span > a:first-child::before
|
||
{ content: counter(source-line);
|
||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||
border: none; display: inline-block;
|
||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||
-khtml-user-select: none; -moz-user-select: none;
|
||
-ms-user-select: none; user-select: none;
|
||
padding: 0 4px; width: 4em;
|
||
color: #aaaaaa;
|
||
}
|
||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||
div.sourceCode
|
||
{ }
|
||
@media screen {
|
||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||
}
|
||
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||
code span.at { color: #7d9029; } /* Attribute */
|
||
code span.bn { color: #40a070; } /* BaseN */
|
||
code span.bu { } /* BuiltIn */
|
||
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||
code span.ch { color: #4070a0; } /* Char */
|
||
code span.cn { color: #880000; } /* Constant */
|
||
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||
code span.dt { color: #902000; } /* DataType */
|
||
code span.dv { color: #40a070; } /* DecVal */
|
||
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||
code span.ex { } /* Extension */
|
||
code span.fl { color: #40a070; } /* Float */
|
||
code span.fu { color: #06287e; } /* Function */
|
||
code span.im { } /* Import */
|
||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||
code span.op { color: #666666; } /* Operator */
|
||
code span.ot { color: #007020; } /* Other */
|
||
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||
code span.sc { color: #4070a0; } /* SpecialChar */
|
||
code span.ss { color: #bb6688; } /* SpecialString */
|
||
code span.st { color: #4070a0; } /* String */
|
||
code span.va { color: #19177c; } /* Variable */
|
||
code span.vs { color: #4070a0; } /* VerbatimString */
|
||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
||
</style>
|
||
|
||
|
||
<script src="../site_libs/quarto-nav/quarto-nav.js"></script>
|
||
<script src="../site_libs/quarto-nav/headroom.min.js"></script>
|
||
<script src="../site_libs/clipboard/clipboard.min.js"></script>
|
||
<script src="../site_libs/quarto-search/autocomplete.umd.js"></script>
|
||
<script src="../site_libs/quarto-search/fuse.min.js"></script>
|
||
<script src="../site_libs/quarto-search/quarto-search.js"></script>
|
||
<meta name="quarto:offset" content="../">
|
||
<link href="../derivatives/optimization.html" rel="next">
|
||
<link href="../derivatives/symbolic_derivatives.html" rel="prev">
|
||
<script src="../site_libs/quarto-html/quarto.js"></script>
|
||
<script src="../site_libs/quarto-html/popper.min.js"></script>
|
||
<script src="../site_libs/quarto-html/tippy.umd.min.js"></script>
|
||
<script src="../site_libs/quarto-html/anchor.min.js"></script>
|
||
<link href="../site_libs/quarto-html/tippy.css" rel="stylesheet">
|
||
<link href="../site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||
<script src="../site_libs/bootstrap/bootstrap.min.js"></script>
|
||
<link href="../site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||
<link href="../site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light">
|
||
<script id="quarto-search-options" type="application/json">{
|
||
"location": "navbar",
|
||
"copy-button": false,
|
||
"collapse-after": 3,
|
||
"panel-placement": "end",
|
||
"type": "overlay",
|
||
"limit": 20,
|
||
"language": {
|
||
"search-no-results-text": "No results",
|
||
"search-matching-documents-text": "matching documents",
|
||
"search-copy-link-title": "Copy link to search",
|
||
"search-hide-matches-text": "Hide additional matches",
|
||
"search-more-match-text": "more match in this document",
|
||
"search-more-matches-text": "more matches in this document",
|
||
"search-clear-button-title": "Clear",
|
||
"search-detached-cancel-button-title": "Cancel",
|
||
"search-submit-button-title": "Submit"
|
||
}
|
||
}</script>
|
||
<script async="" src="https://hypothes.is/embed.js"></script>
|
||
<script type="module" src="../site_libs/quarto-ojs/quarto-ojs-runtime.js"></script>
|
||
<link href="../site_libs/quarto-ojs/quarto-ojs.css" rel="stylesheet">
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" integrity="sha512-c3Nl8+7g4LMSTdrm621y7kf9v3SDPnhxLNhcjFJbKECVnmZHTdo+IRO05sNLTH/D3vA6u1X32ehoLC7WFVdheg==" crossorigin="anonymous"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
|
||
<script type="application/javascript">define('jquery', [],function() {return window.jQuery;})</script>
|
||
|
||
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script>
|
||
|
||
</head>
|
||
|
||
<body class="nav-sidebar floating nav-fixed">
|
||
|
||
<div id="quarto-search-results"></div>
|
||
<header id="quarto-header" class="headroom fixed-top">
|
||
<nav class="navbar navbar-expand-lg navbar-dark ">
|
||
<div class="navbar-container container-fluid">
|
||
<a class="navbar-brand" href="../index.html">
|
||
<img src="../logo.png" alt="">
|
||
<span class="navbar-title">Calculus with Julia</span>
|
||
</a>
|
||
<div id="quarto-search" class="" title="Search"></div>
|
||
</div> <!-- /container-fluid -->
|
||
</nav>
|
||
<nav class="quarto-secondary-nav" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
|
||
<div class="container-fluid d-flex justify-content-between">
|
||
<h1 class="quarto-secondary-nav-title"><span class="chapter-number">25</span> <span class="chapter-title">The mean value theorem for differentiable functions.</span></h1>
|
||
<button type="button" class="quarto-btn-toggle btn" aria-label="Show secondary navigation">
|
||
<i class="bi bi-chevron-right"></i>
|
||
</button>
|
||
</div>
|
||
</nav>
|
||
</header>
|
||
<!-- content -->
|
||
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar">
|
||
<!-- sidebar -->
|
||
<nav id="quarto-sidebar" class="sidebar collapse sidebar-navigation floating overflow-auto">
|
||
<div class="mt-2 flex-shrink-0 align-items-center">
|
||
<div class="sidebar-search">
|
||
<div id="quarto-search" class="" title="Search"></div>
|
||
</div>
|
||
</div>
|
||
<div class="sidebar-menu-container">
|
||
<ul class="list-unstyled mt-1">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../index.html" class="sidebar-item-text sidebar-link">Preface</a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-1" aria-expanded="false">Precalculus Concepts</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-1" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-1" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/calculator.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">1</span> <span class="chapter-title">From calculator to computer</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/variables.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">2</span> <span class="chapter-title">Variables</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/numbers_types.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">3</span> <span class="chapter-title">Number systems</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/logical_expressions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">4</span> <span class="chapter-title">Inequalities, Logical expressions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/vectors.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">5</span> <span class="chapter-title">Vectors</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/ranges.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">6</span> <span class="chapter-title">Ranges and Sets</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">7</span> <span class="chapter-title">Functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">8</span> <span class="chapter-title">The Graph of a Function</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/transformations.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">9</span> <span class="chapter-title">Function manipulations</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/inversefunctions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">10</span> <span class="chapter-title">The Inverse of a Function</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/polynomial.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">11</span> <span class="chapter-title">Polynomials</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/polynomial_roots.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">12</span> <span class="chapter-title">Roots of a polynomial</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/polynomials_package.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">13</span> <span class="chapter-title">The Polynomials package</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/rational_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">14</span> <span class="chapter-title">Rational functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/exp_log_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">15</span> <span class="chapter-title">Exponential and logarithmic functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/trig_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">16</span> <span class="chapter-title">Trigonometric functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/julia_overview.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">17</span> <span class="chapter-title">Overview of Julia commands</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-2" aria-expanded="false">Limits</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-2" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-2" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/limits.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">18</span> <span class="chapter-title">Limits</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/limits_extensions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">19</span> <span class="chapter-title">Limits, issues, extensions of the concept</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/continuity.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">20</span> <span class="chapter-title">Continuity</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/intermediate_value_theorem.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">21</span> <span class="chapter-title">Implications of continuity</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-3" aria-expanded="true">Derivatives</a>
|
||
<a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-3" aria-expanded="true">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-3" class="collapse list-unstyled sidebar-section depth1 show">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">22</span> <span class="chapter-title">Derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/numeric_derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">23</span> <span class="chapter-title">Numeric derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/symbolic_derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">24</span> <span class="chapter-title">Symbolic derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/mean_value_theorem.html" class="sidebar-item-text sidebar-link active"><span class="chapter-number">25</span> <span class="chapter-title">The mean value theorem for differentiable functions.</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/optimization.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">26</span> <span class="chapter-title">Optimization</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/first_second_derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">27</span> <span class="chapter-title">The first and second derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/curve_sketching.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">28</span> <span class="chapter-title">Curve Sketching</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/linearization.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">29</span> <span class="chapter-title">Linearization</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/newtons_method.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">30</span> <span class="chapter-title">Newton’s method</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/more_zeros.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">31</span> <span class="chapter-title">Derivative-free alternatives to Newton’s method</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/lhospitals_rule.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">32</span> <span class="chapter-title">L’Hospital’s Rule</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/implicit_differentiation.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">33</span> <span class="chapter-title">Implicit Differentiation</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/related_rates.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">34</span> <span class="chapter-title">Related rates</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/taylor_series_polynomials.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">35</span> <span class="chapter-title">Taylor Polynomials and other Approximating Polynomials</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-4" aria-expanded="false">Integrals</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-4" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-4" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/area.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">36</span> <span class="chapter-title">Area under a curve</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/ftc.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">37</span> <span class="chapter-title">Fundamental Theorem or Calculus</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/substitution.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">38</span> <span class="chapter-title">Substitution</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/integration_by_parts.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">39</span> <span class="chapter-title">Integration By Parts</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/partial_fractions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">40</span> <span class="chapter-title">Partial Fractions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/improper_integrals.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">41</span> <span class="chapter-title">Improper Integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/mean_value_theorem.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">42</span> <span class="chapter-title">Mean value theorem for integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/area_between_curves.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">43</span> <span class="chapter-title">Area between two curves</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/center_of_mass.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">44</span> <span class="chapter-title">Center of Mass</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/volumes_slice.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">45</span> <span class="chapter-title">Volumes by slicing</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/arc_length.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">46</span> <span class="chapter-title">Arc length</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/surface_area.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">47</span> <span class="chapter-title">Surface Area</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-5" aria-expanded="false">ODEs</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-5" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-5" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/odes.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">48</span> <span class="chapter-title">ODEs</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/euler.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">49</span> <span class="chapter-title">Euler’s method</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/solve.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">50</span> <span class="chapter-title">The problem-algorithm-solve interface</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/differential_equations.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">51</span> <span class="chapter-title">The <code>DifferentialEquations</code> suite</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-6" aria-expanded="false">Differential vector calculus</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-6" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-6" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/polar_coordinates.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">52</span> <span class="chapter-title">Polar Coordinates and Curves</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/vectors.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">53</span> <span class="chapter-title">Vectors and matrices</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/vector_valued_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">54</span> <span class="chapter-title">Vector-valued functions, <span class="math inline">\(f:R \rightarrow R^n\)</span></span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/scalar_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">55</span> <span class="chapter-title">Scalar functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/scalar_functions_applications.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">56</span> <span class="chapter-title">Applications with scalar functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/vector_fields.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">57</span> <span class="chapter-title">Functions <span class="math inline">\(R^n \rightarrow R^m\)</span></span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/plots_plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">58</span> <span class="chapter-title">2D and 3D plots in Julia with Plots</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-7" aria-expanded="false">Integral vector calculus</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-7" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-7" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/double_triple_integrals.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">59</span> <span class="chapter-title">Multi-dimensional integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/line_integrals.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">60</span> <span class="chapter-title">Line and Surface Integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/div_grad_curl.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">61</span> <span class="chapter-title">The Gradient, Divergence, and Curl</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/stokes_theorem.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">62</span> <span class="chapter-title">Green’s Theorem, Stokes’ Theorem, and the Divergence Theorem</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/review.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">63</span> <span class="chapter-title">Quick Review of Vector Calculus</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-8" aria-expanded="false">Alternatives</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-8" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-8" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../alternatives/plotly_plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">64</span> <span class="chapter-title">JavaScript based plotting libraries</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../alternatives/makie_plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">65</span> <span class="chapter-title">Calculus plots with Makie</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-9" aria-expanded="false">Appendices</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-9" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-9" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/getting_started_with_julia.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">66</span> <span class="chapter-title">Getting started with Julia</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/julia_interfaces.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">67</span> <span class="chapter-title">Julia interfaces</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/calculus_with_julia.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">68</span> <span class="chapter-title">The <code>CalculusWithJulia</code> package</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/unicode.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">69</span> <span class="chapter-title">Usages of Unicode symbols</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/quick_notes.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">70</span> <span class="chapter-title">Quick introduction to Calculus with Julia</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../references.html" class="sidebar-item-text sidebar-link">References</a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
<!-- margin-sidebar -->
|
||
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
||
<nav id="TOC" role="doc-toc">
|
||
<h2 id="toc-title">Table of contents</h2>
|
||
|
||
<ul>
|
||
<li><a href="#differentiable-is-more-restrictive-than-continuous." id="toc-differentiable-is-more-restrictive-than-continuous." class="nav-link active" data-scroll-target="#differentiable-is-more-restrictive-than-continuous."> <span class="header-section-number">25.1</span> Differentiable is more restrictive than continuous.</a></li>
|
||
<li><a href="#derivatives-and-maxima." id="toc-derivatives-and-maxima." class="nav-link" data-scroll-target="#derivatives-and-maxima."> <span class="header-section-number">25.2</span> Derivatives and maxima.</a>
|
||
<ul class="collapse">
|
||
<li><a href="#numeric-derivatives" id="toc-numeric-derivatives" class="nav-link" data-scroll-target="#numeric-derivatives"> <span class="header-section-number">25.2.1</span> Numeric derivatives</a></li>
|
||
</ul></li>
|
||
<li><a href="#rolles-theorem" id="toc-rolles-theorem" class="nav-link" data-scroll-target="#rolles-theorem"> <span class="header-section-number">25.3</span> Rolle’s theorem</a></li>
|
||
<li><a href="#the-mean-value-theorem" id="toc-the-mean-value-theorem" class="nav-link" data-scroll-target="#the-mean-value-theorem"> <span class="header-section-number">25.4</span> The mean value theorem</a>
|
||
<ul class="collapse">
|
||
<li><a href="#the-cauchy-mean-value-theorem" id="toc-the-cauchy-mean-value-theorem" class="nav-link" data-scroll-target="#the-cauchy-mean-value-theorem"> <span class="header-section-number">25.4.1</span> The Cauchy mean value theorem</a></li>
|
||
<li><a href="#visualizing-the-cauchy-mean-value-theorem" id="toc-visualizing-the-cauchy-mean-value-theorem" class="nav-link" data-scroll-target="#visualizing-the-cauchy-mean-value-theorem"> <span class="header-section-number">25.4.2</span> Visualizing the Cauchy mean value theorem</a></li>
|
||
</ul></li>
|
||
<li><a href="#questions" id="toc-questions" class="nav-link" data-scroll-target="#questions"> <span class="header-section-number">25.5</span> Questions</a></li>
|
||
</ul>
|
||
<div class="toc-actions"><div><i class="bi bi-github"></i></div><div class="action-links"><p><a href="https://github.com/jverzani/CalculusWithJuliaNotes.jl/edit/main/quarto/derivatives/mean_value_theorem.qmd" class="toc-action">Edit this page</a></p><p><a href="https://github.com/jverzani/CalculusWithJuliaNotes.jl/issues/new" class="toc-action">Report an issue</a></p></div></div></nav>
|
||
</div>
|
||
<!-- main -->
|
||
<main class="content" id="quarto-document-content">
|
||
|
||
<header id="title-block-header" class="quarto-title-block default">
|
||
<div class="quarto-title">
|
||
<h1 class="title d-none d-lg-block"><span class="chapter-number">25</span> <span class="chapter-title">The mean value theorem for differentiable functions.</span></h1>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="quarto-title-meta">
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
</header>
|
||
|
||
<p>This section uses these add-on packages:</p>
|
||
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">CalculusWithJulia</span></span>
|
||
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Plots</span></span>
|
||
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Roots</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<hr>
|
||
<p>A function is <em>continuous</em> at <span class="math inline">\(c\)</span> if <span class="math inline">\(f(c+h) - f(c) \rightarrow 0\)</span> as <span class="math inline">\(h\)</span> goes to <span class="math inline">\(0\)</span>. We can write that as <span class="math inline">\(f(c+h) - f(x) = \epsilon_h\)</span>, with <span class="math inline">\(\epsilon_h\)</span> denoting a function going to <span class="math inline">\(0\)</span> as <span class="math inline">\(h \rightarrow 0\)</span>. With this notion, differentiability could be written as <span class="math inline">\(f(c+h) - f(c) - f'(c)h = \epsilon_h \cdot h\)</span>. This is clearly a more demanding requirement that mere continuity at <span class="math inline">\(c\)</span>.</p>
|
||
<p>We defined a function to be <em>continuous</em> on an interval <span class="math inline">\(I=(a,b)\)</span> if it was continuous at each point <span class="math inline">\(c\)</span> in <span class="math inline">\(I\)</span>. Similarly, we define a function to be <em>differentiable</em> on the interval <span class="math inline">\(I\)</span> it it is differentiable at each point <span class="math inline">\(c\)</span> in <span class="math inline">\(I\)</span>.</p>
|
||
<p>This section looks at properties of differentiable functions. As there is a more stringent definition, perhaps more properties are a consequence of the definition.</p>
|
||
<section id="differentiable-is-more-restrictive-than-continuous." class="level2" data-number="25.1">
|
||
<h2 data-number="25.1" class="anchored" data-anchor-id="differentiable-is-more-restrictive-than-continuous."><span class="header-section-number">25.1</span> Differentiable is more restrictive than continuous.</h2>
|
||
<p>Let <span class="math inline">\(f\)</span> be a differentiable function on <span class="math inline">\(I=(a,b)\)</span>. We see that <span class="math inline">\(f(c+h) - f(c) = f'(c)h + \epsilon_h\cdot h = h(f'(c) + \epsilon_h)\)</span>. The right hand side will clearly go to <span class="math inline">\(0\)</span> as <span class="math inline">\(h\rightarrow 0\)</span>, so <span class="math inline">\(f\)</span> will be continuous. In short:</p>
|
||
<blockquote class="blockquote">
|
||
<p>A differentiable function on <span class="math inline">\(I=(a,b)\)</span> is continuous on <span class="math inline">\(I\)</span>.</p>
|
||
</blockquote>
|
||
<p>Is it possible that all continuous functions are differentiable?</p>
|
||
<p>The fact that the derivative is related to the tangent line’s slope might give an indication that this won’t be the case - we just need a function which is continuous but has a point with no tangent line. The usual suspect is <span class="math inline">\(f(x) = \lvert x\rvert\)</span> at <span class="math inline">\(0\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="4">
|
||
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> <span class="fu">abs</span>(x)</span>
|
||
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(f, <span class="op">-</span><span class="fl">1</span>,<span class="fl">1</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="5">
|
||
<p><img src="mean_value_theorem_files/figure-html/cell-5-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>We can see formally that the secant line expression will not have a limit when <span class="math inline">\(c=0\)</span> (the left limit is <span class="math inline">\(-1\)</span>, the right limit <span class="math inline">\(1\)</span>). But more insight is gained by looking a the shape of the graph. At the origin, the graph always is vee-shaped. There is no linear function that approximates this function well. The function is just not smooth enough, as it has a kink.</p>
|
||
<p>There are other functions that have kinks. These are often associated with powers. For example, at <span class="math inline">\(x=0\)</span> this function will not have a derivative:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="5">
|
||
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> (x<span class="op">^</span><span class="fl">2</span>)<span class="op">^</span>(<span class="fl">1</span><span class="op">/</span><span class="fl">3</span>)</span>
|
||
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(f, <span class="op">-</span><span class="fl">1</span>, <span class="fl">1</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="6">
|
||
<p><img src="mean_value_theorem_files/figure-html/cell-6-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>Other functions have tangent lines that become vertical. The natural slope would be <span class="math inline">\(\infty\)</span>, but this isn’t a limiting answer (except in the extended sense we don’t apply to the definition of derivatives). A candidate for this case is the cube root function:</p>
|
||
<div class="cell" data-execution_count="6">
|
||
<div class="sourceCode cell-code" id="cb4"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(cbrt, <span class="op">-</span><span class="fl">1</span>, <span class="fl">1</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="7">
|
||
<p><img src="mean_value_theorem_files/figure-html/cell-7-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>The derivative at <span class="math inline">\(0\)</span> would need to be <span class="math inline">\(+\infty\)</span> to match the graph. This is implied by the formula for the derivative from the power rule: <span class="math inline">\(f'(x) = 1/3 \cdot x^{-2/3}\)</span>, which has a vertical asymptote at <span class="math inline">\(x=0\)</span>.</p>
|
||
<div class="callout-note callout callout-style-default callout-captioned">
|
||
<div class="callout-header d-flex align-content-center">
|
||
<div class="callout-icon-container">
|
||
<i class="callout-icon"></i>
|
||
</div>
|
||
<div class="callout-caption-container flex-fill">
|
||
Note
|
||
</div>
|
||
</div>
|
||
<div class="callout-body-container callout-body">
|
||
<p>The <code>cbrt</code> function is used above, instead of <code>f(x) = x^(1/3)</code>, as the latter is not defined for negative <code>x</code>. Though it can be for the exact power <code>1/3</code>, it can’t be for an exact power like <code>1/2</code>. This means the value of the argument is important in determining the type of the output - and not just the type of the argument. Having type-stable functions is part of the magic to making <code>Julia</code> run fast, so <code>x^c</code> is not defined for negative <code>x</code> and most floating point exponents.</p>
|
||
</div>
|
||
</div>
|
||
<p>Lest you think that continuous functions always have derivatives except perhaps at exceptional points, this isn’t the case. The functions used to <a href="http://tinyurl.com/cpdpheb">model</a> the stock market are continuous but have no points where they are differentiable.</p>
|
||
</section>
|
||
<section id="derivatives-and-maxima." class="level2" data-number="25.2">
|
||
<h2 data-number="25.2" class="anchored" data-anchor-id="derivatives-and-maxima."><span class="header-section-number">25.2</span> Derivatives and maxima.</h2>
|
||
<p>We have defined an <em>absolute maximum</em> of <span class="math inline">\(f(x)\)</span> over an interval to be a value <span class="math inline">\(f(c)\)</span> for a point <span class="math inline">\(c\)</span> in the interval that is as large as any other value in the interval. Just specifying a function and an interval does not guarantee an absolute maximum, but specifying a <em>continuous</em> function and a <em>closed</em> interval does, by the extreme value theorem.</p>
|
||
<blockquote class="blockquote">
|
||
<p><em>A relative maximum</em>: We say <span class="math inline">\(f(x)\)</span> has a <em>relative maximum</em> at <span class="math inline">\(c\)</span> if there exists <em>some</em> interval <span class="math inline">\(I=(a,b)\)</span> with <span class="math inline">\(a < c < b\)</span> for which <span class="math inline">\(f(c)\)</span> is an absolute maximum for <span class="math inline">\(f\)</span> and <span class="math inline">\(I\)</span>.</p>
|
||
</blockquote>
|
||
<p>The difference is a bit subtle, for an absolute maximum the interval must also be specified, for a relative maximum there just needs to exist some interval, possibly really small, though it must be bigger than a point.</p>
|
||
<div class="callout-note callout callout-style-default callout-captioned">
|
||
<div class="callout-header d-flex align-content-center">
|
||
<div class="callout-icon-container">
|
||
<i class="callout-icon"></i>
|
||
</div>
|
||
<div class="callout-caption-container flex-fill">
|
||
Note
|
||
</div>
|
||
</div>
|
||
<div class="callout-body-container callout-body">
|
||
<p>A hiker can appreciate the difference. A relative maximum would be the crest of any hill, but an absolute maximum would be the summit.</p>
|
||
</div>
|
||
</div>
|
||
<p>What does this have to do with derivatives?</p>
|
||
<p><a href="http://science.larouchepac.com/fermat/fermat-maxmin.pdf">Fermat</a>, perhaps with insight from Kepler, was interested in maxima of polynomial functions. As a warm up, he considered a line segment <span class="math inline">\(AC\)</span> and a point <span class="math inline">\(E\)</span> with the task of choosing <span class="math inline">\(E\)</span> so that <span class="math inline">\((E-A) \times (C-A)\)</span> being a maximum. We might recognize this as finding the maximum of <span class="math inline">\(f(x) = (x-A)\cdot(C-x)\)</span> for some <span class="math inline">\(A < C\)</span>. Geometrically, we know this to be at the midpoint, as the equation is a parabola, but Fermat was interested in an algebraic solution that led to more generality.</p>
|
||
<p>He takes <span class="math inline">\(b=AC\)</span> and <span class="math inline">\(a=AE\)</span>. Then the product is <span class="math inline">\(a \cdot (b-a) = ab - a^2\)</span>. He then perturbs this writing <span class="math inline">\(AE=a+e\)</span>, then this new product is <span class="math inline">\((a+e) \cdot (b - a - e)\)</span>. Equating the two, and canceling like terms gives <span class="math inline">\(be = 2ae + e^2\)</span>. He cancels the <span class="math inline">\(e\)</span> and basically comments that this must be true for all <span class="math inline">\(e\)</span> even as <span class="math inline">\(e\)</span> goes to <span class="math inline">\(0\)</span>, so <span class="math inline">\(b = 2a\)</span> and the value is at the midpoint.</p>
|
||
<p>In a more modern approach, this would be the same as looking at this expression:</p>
|
||
<p><span class="math display">\[
|
||
\frac{f(x+e) - f(x)}{e} = 0.
|
||
\]</span></p>
|
||
<p>Working on the left hand side, for non-zero <span class="math inline">\(e\)</span> we can cancel the common <span class="math inline">\(e\)</span> terms, and then let <span class="math inline">\(e\)</span> become <span class="math inline">\(0\)</span>. This becomes a problem in solving <span class="math inline">\(f'(x)=0\)</span>. Fermat could compute the derivative for any polynomial by taking a limit, a task we would do now by the power rule and the sum and difference of function rules.</p>
|
||
<p>This insight holds for other types of functions:</p>
|
||
<blockquote class="blockquote">
|
||
<p>If <span class="math inline">\(f(c)\)</span> is a relative maximum then either <span class="math inline">\(f'(c) = 0\)</span> or the derivative at <span class="math inline">\(c\)</span> does not exist.</p>
|
||
</blockquote>
|
||
<p>When the derivative exists, this says the tangent line is flat. (If it had a slope, then the the function would increase by moving left or right, as appropriate, a point we pursue later.)</p>
|
||
<p>For a continuous function <span class="math inline">\(f(x)\)</span>, call a point <span class="math inline">\(c\)</span> in the domain of <span class="math inline">\(f\)</span> where either <span class="math inline">\(f'(c)=0\)</span> or the derivative does not exist a <strong>critical</strong> <strong>point</strong>.</p>
|
||
<p>We can combine Bolzano’s extreme value theorem with Fermat’s insight to get the following:</p>
|
||
<blockquote class="blockquote">
|
||
<p>A continuous function on <span class="math inline">\([a,b]\)</span> has an absolute maximum that occurs at a critical point <span class="math inline">\(c\)</span>, <span class="math inline">\(a < c < b\)</span>, or an endpoint, <span class="math inline">\(a\)</span> or <span class="math inline">\(b\)</span>.</p>
|
||
</blockquote>
|
||
<p>A similar statement holds for an absolute minimum. This gives a restricted set of places to look for absolute maximum and minimum values - all the critical points and the endpoints.</p>
|
||
<p>It is also the case that all relative extrema occur at a critical point, <em>however</em> not all critical points correspond to relative extrema. We will see <em>derivative tests</em> that help characterize when that occurs.</p>
|
||
<div class="quarto-figure quarto-figure-center">
|
||
<figure class="figure">
|
||
<p><img src="../derivatives/figures/lhopital-32.png" class="img-fluid figure-img"></p>
|
||
<p></p><figcaption class="figure-caption">Image number <code>32</code> from L’Hopitals calculus book (the first) showing that at a relative minimum, the tangent line is parallel to the <span class="math inline">\(x\)</span>-axis. This of course is true when the tangent line is well defined by Fermat’s observation.</figcaption><p></p>
|
||
</figure>
|
||
</div>
|
||
<section id="numeric-derivatives" class="level3" data-number="25.2.1">
|
||
<h3 data-number="25.2.1" class="anchored" data-anchor-id="numeric-derivatives"><span class="header-section-number">25.2.1</span> Numeric derivatives</h3>
|
||
<p>The <code>ForwardDiff</code> package provides a means to numerically compute derivatives without approximations at a point. In <code>CalculusWithJulia</code> this is extended to find derivatives of functions and the <code>'</code> notation is overloaded for function objects. Hence these two give nearly identical answers, the difference being only the type of number used:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="8">
|
||
<div class="sourceCode cell-code" id="cb5"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> <span class="fl">3</span>x<span class="op">^</span><span class="fl">3</span> <span class="op">-</span> <span class="fl">2</span>x</span>
|
||
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="fu">fp</span>(x) <span class="op">=</span> <span class="fl">9</span>x<span class="op">^</span><span class="fl">2</span> <span class="op">-</span> <span class="fl">2</span></span>
|
||
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a>f<span class="op">'</span>(<span class="fl">3</span>), <span class="fu">fp</span>(<span class="fl">3</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="9">
|
||
<pre><code>(79.0, 79)</code></pre>
|
||
</div>
|
||
</div>
|
||
<section id="example" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example">Example</h5>
|
||
<p>For the function <span class="math inline">\(f(x) = x^2 \cdot e^{-x}\)</span> find the absolute maximum over the interval <span class="math inline">\([0, 5]\)</span>.</p>
|
||
<p>We have that <span class="math inline">\(f(x)\)</span> is continuous on the closed interval of the question, and in fact differentiable on <span class="math inline">\((0,5)\)</span>, so any critical point will be a zero of the derivative. We can check for these with:</p>
|
||
<div class="cell" data-execution_count="9">
|
||
<div class="sourceCode cell-code" id="cb7"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> x<span class="op">^</span><span class="fl">2</span> <span class="op">*</span> <span class="fu">exp</span>(<span class="op">-</span>x)</span>
|
||
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a>cps <span class="op">=</span> <span class="fu">find_zeros</span>(f<span class="op">'</span>, <span class="op">-</span><span class="fl">1</span>, <span class="fl">6</span>) <span class="co"># find_zeros in `Roots`</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="10">
|
||
<pre><code>2-element Vector{Float64}:
|
||
0.0
|
||
1.9999999999999998</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>We get <span class="math inline">\(0\)</span> and <span class="math inline">\(2\)</span> are critical points. The endpoints are <span class="math inline">\(0\)</span> and <span class="math inline">\(5\)</span>. So the absolute maximum over this interval is either at <span class="math inline">\(0\)</span>, <span class="math inline">\(2\)</span>, or <span class="math inline">\(5\)</span>:</p>
|
||
<div class="cell" data-execution_count="10">
|
||
<div class="sourceCode cell-code" id="cb9"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(<span class="fl">0</span>), <span class="fu">f</span>(<span class="fl">2</span>), <span class="fu">f</span>(<span class="fl">5</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="11">
|
||
<pre><code>(0.0, 0.5413411329464508, 0.16844867497713667)</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>We see that <span class="math inline">\(f(2)\)</span> is then the maximum.</p>
|
||
<p>A few things. First, <code>find_zeros</code> can miss some roots, in particular endpoints and roots that just touch <span class="math inline">\(0\)</span>. We should graph to verify it didn’t. Second, it can be easier sometimes to check the values using the “dot” notation. If <code>f</code>, <code>a</code>,<code>b</code> are the function and the interval, then this would typically follow this pattern:</p>
|
||
<div class="cell" data-execution_count="11">
|
||
<div class="sourceCode cell-code" id="cb11"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a>a, b <span class="op">=</span> <span class="fl">0</span>, <span class="fl">5</span></span>
|
||
<span id="cb11-2"><a href="#cb11-2" aria-hidden="true" tabindex="-1"></a>critical_pts <span class="op">=</span> <span class="fu">find_zeros</span>(f<span class="op">'</span>, a, b)</span>
|
||
<span id="cb11-3"><a href="#cb11-3" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>.(critical_pts), <span class="fu">f</span>(a), <span class="fu">f</span>(b)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="12">
|
||
<pre><code>([0.0, 0.5413411329464508], 0.0, 0.16844867497713667)</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>For this problem, we have the left endpoint repeated, but in general this won’t be a point where the derivative is zero.</p>
|
||
<p>As an aside, the output above is not a single container. To achieve that, the values can be combined before the broadcasting:</p>
|
||
<div class="cell" data-execution_count="12">
|
||
<div class="sourceCode cell-code" id="cb13"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>.(<span class="fu">vcat</span>(a, critical_pts, b))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="13">
|
||
<pre><code>4-element Vector{Float64}:
|
||
0.0
|
||
0.0
|
||
0.5413411329464508
|
||
0.16844867497713667</code></pre>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="example-1" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example-1">Example</h5>
|
||
<p>For the function <span class="math inline">\(g(x) = e^x\cdot(x^3 - x)\)</span> find the absolute maximum over the interval <span class="math inline">\([0, 2]\)</span>.</p>
|
||
<p>We follow the same pattern. Since <span class="math inline">\(f(x)\)</span> is continuous on the closed interval and differentiable on the open interval we know that the absolute maximum must occur at an endpoint (<span class="math inline">\(0\)</span> or <span class="math inline">\(2\)</span>) or a critical point where <span class="math inline">\(f'(c)=0\)</span>. To solve for these, we have again:</p>
|
||
<div class="cell" data-execution_count="13">
|
||
<div class="sourceCode cell-code" id="cb15"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">g</span>(x) <span class="op">=</span> <span class="fu">exp</span>(x) <span class="op">*</span> (x<span class="op">^</span><span class="fl">3</span> <span class="op">-</span> x)</span>
|
||
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a>gcps <span class="op">=</span> <span class="fu">find_zeros</span>(g<span class="op">'</span>, <span class="fl">0</span>, <span class="fl">2</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="14">
|
||
<pre><code>1-element Vector{Float64}:
|
||
0.675130870566646</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>And checking values gives:</p>
|
||
<div class="cell" data-execution_count="14">
|
||
<div class="sourceCode cell-code" id="cb17"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">g</span>.(<span class="fu">vcat</span>(<span class="fl">0</span>, gcps, <span class="fl">2</span>))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="15">
|
||
<pre><code>3-element Vector{Float64}:
|
||
0.0
|
||
-0.7216901289290208
|
||
44.3343365935839</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>Here the maximum occurs at an endpoint. The critical point <span class="math inline">\(c=0.67\dots\)</span> does not produce a maximum value. Rather <span class="math inline">\(f(0.67\dots)\)</span> is an absolute minimum.</p>
|
||
<div class="callout-note callout callout-style-default callout-captioned">
|
||
<div class="callout-header d-flex align-content-center">
|
||
<div class="callout-icon-container">
|
||
<i class="callout-icon"></i>
|
||
</div>
|
||
<div class="callout-caption-container flex-fill">
|
||
Note
|
||
</div>
|
||
</div>
|
||
<div class="callout-body-container callout-body">
|
||
|
||
</div>
|
||
</div>
|
||
<p><strong>Absolute minimum</strong> We haven’t discussed the parallel problem of absolute minima over a closed interval. By considering the function <span class="math inline">\(h(x) = - f(x)\)</span>, we see that the any thing true for an absolute maximum should hold in a related manner for an absolute minimum, in particular an absolute minimum on a closed interval will only occur at a critical point or an end point.</p>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="rolles-theorem" class="level2" data-number="25.3">
|
||
<h2 data-number="25.3" class="anchored" data-anchor-id="rolles-theorem"><span class="header-section-number">25.3</span> Rolle’s theorem</h2>
|
||
<p>Let <span class="math inline">\(f(x)\)</span> be differentiable on <span class="math inline">\((a,b)\)</span> and continuous on <span class="math inline">\([a,b]\)</span>. Then the absolute maximum occurs at an endpoint or where the derivative is <span class="math inline">\(0\)</span> (as the derivative is always defined). This gives rise to:</p>
|
||
<blockquote class="blockquote">
|
||
<p><em><a href="http://en.wikipedia.org/wiki/Rolle%27s_theorem">Rolle’s</a> theorem</em>: For <span class="math inline">\(f\)</span> differentiable on <span class="math inline">\((a,b)\)</span> and continuous on <span class="math inline">\([a,b]\)</span>, if <span class="math inline">\(f(a)=f(b)\)</span>, then there exists some <span class="math inline">\(c\)</span> in <span class="math inline">\((a,b)\)</span> with <span class="math inline">\(f'(c) = 0\)</span>.</p>
|
||
</blockquote>
|
||
<p>This modest observation opens the door to many relationships between a function and its derivative, as it ties the two together in one statement.</p>
|
||
<p>To see why Rolle’s theorem is true, we assume that <span class="math inline">\(f(a)=0\)</span>, otherwise consider <span class="math inline">\(g(x)=f(x)-f(a)\)</span>. By the extreme value theorem, there must be an absolute maximum and minimum. If <span class="math inline">\(f(x)\)</span> is ever positive, then the absolute maximum occurs in <span class="math inline">\((a,b)\)</span> - not at an endpoint - so at a critical point where the derivative is <span class="math inline">\(0\)</span>. Similarly if <span class="math inline">\(f(x)\)</span> is ever negative. Finally, if <span class="math inline">\(f(x)\)</span> is just <span class="math inline">\(0\)</span>, then take any <span class="math inline">\(c\)</span> in <span class="math inline">\((a,b)\)</span>.</p>
|
||
<p>The statement in Rolle’s theorem speaks to existence. It doesn’t give a recipe to find <span class="math inline">\(c\)</span>. It just guarantees that there is <em>one</em> or <em>more</em> values in the interval <span class="math inline">\((a,b)\)</span> where the derivative is <span class="math inline">\(0\)</span> if we assume differentiability on <span class="math inline">\((a,b)\)</span> and continuity on <span class="math inline">\([a,b]\)</span>.</p>
|
||
<section id="example-2" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example-2">Example</h5>
|
||
<p>Let <span class="math inline">\(j(x) = e^x \cdot x \cdot (x-1)\)</span>. We know <span class="math inline">\(j(0)=0\)</span> and <span class="math inline">\(j(1)=0\)</span>, so on <span class="math inline">\([0,1]\)</span>. Rolle’s theorem guarantees that we can find <em>at</em> <em>least</em> one answer (unless numeric issues arise):</p>
|
||
<div class="cell" data-execution_count="15">
|
||
<div class="sourceCode cell-code" id="cb19"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="fu">j</span>(x) <span class="op">=</span> <span class="fu">exp</span>(x) <span class="op">*</span> x <span class="op">*</span> (x<span class="op">-</span><span class="fl">1</span>)</span>
|
||
<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="fu">find_zeros</span>(j<span class="op">'</span>, <span class="fl">0</span>, <span class="fl">1</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="16">
|
||
<pre><code>1-element Vector{Float64}:
|
||
0.6180339887498948</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>This graph illustrates the lone value for <span class="math inline">\(c\)</span> for this problem</p>
|
||
<div class="cell" data-execution_count="16">
|
||
<div class="cell-output cell-output-display" data-execution_count="17">
|
||
<p><img src="mean_value_theorem_files/figure-html/cell-17-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="the-mean-value-theorem" class="level2" data-number="25.4">
|
||
<h2 data-number="25.4" class="anchored" data-anchor-id="the-mean-value-theorem"><span class="header-section-number">25.4</span> The mean value theorem</h2>
|
||
<p>We are driving south and in one hour cover 70 miles. If the speed limit is 65 miles per hour, were we ever speeding? We’ll we averaged more than the speed limit so we know the answer is yes, but why? Speeding would mean our instantaneous speed was more than the speed limit, yet we only know for sure our <em>average</em> speed was more than the speed limit. The mean value tells us that if some conditions are met, then at some point (possibly more than one) we must have that our instantaneous speed is equal to our average speed.</p>
|
||
<p>The mean value theorem is a direct generalization of Rolle’s theorem.</p>
|
||
<blockquote class="blockquote">
|
||
<p><em>Mean value theorem</em>: Let <span class="math inline">\(f(x)\)</span> be differentiable on <span class="math inline">\((a,b)\)</span> and continuous on <span class="math inline">\([a,b]\)</span>. Then there exists a value <span class="math inline">\(c\)</span> in <span class="math inline">\((a,b)\)</span> where <span class="math inline">\(f'(c) = (f(b) - f(a)) / (b - a)\)</span>.</p>
|
||
</blockquote>
|
||
<p>This says for any secant line between <span class="math inline">\(a < b\)</span> there will be a parallel tangent line at some <span class="math inline">\(c\)</span> with <span class="math inline">\(a < c < b\)</span> (all provided <span class="math inline">\(f\)</span> is differentiable on <span class="math inline">\((a,b)\)</span> and continuous on <span class="math inline">\([a,b]\)</span>).</p>
|
||
<p>This graph illustrates the theorem. The orange line is the secant line. A parallel line tangent to the graph is guaranteed by the mean value theorem. In this figure, there are two such lines, rendered using red.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="17">
|
||
<div class="cell-output cell-output-display" data-execution_count="18">
|
||
<p><img src="mean_value_theorem_files/figure-html/cell-18-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>Like Rolle’s theorem this is a guarantee that something exists, not a recipe to find it. In fact, the mean value theorem is just Rolle’s theorem applied to:</p>
|
||
<p><span class="math display">\[
|
||
g(x) = f(x) - (f(a) + (f(b) - f(a)) / (b-a) \cdot (x-a))
|
||
\]</span></p>
|
||
<p>That is the function <span class="math inline">\(f(x)\)</span>, minus the secant line between <span class="math inline">\((a,f(a))\)</span> and <span class="math inline">\((b, f(b))\)</span>.</p>
|
||
<div id="jsxgraph" style="width: 500px; height: 500px;"></div>
|
||
<div class="cell">
|
||
<div class="sourceCode cell-code hidden" id="cb21" data-startfrom="375" data-source-offset="-1"><pre class="sourceCode js code-with-copy"><code class="sourceCode javascript" style="counter-reset: source-line 374;"><span id="cb21-375"><a href="#cb21-375" aria-hidden="true" tabindex="-1"></a>JXG <span class="op">=</span> <span class="pp">require</span>(<span class="st">"jsxgraph"</span>)<span class="op">;</span></span>
|
||
<span id="cb21-376"><a href="#cb21-376" aria-hidden="true" tabindex="-1"></a></span>
|
||
<span id="cb21-377"><a href="#cb21-377" aria-hidden="true" tabindex="-1"></a>board <span class="op">=</span> JXG<span class="op">.</span><span class="at">JSXGraph</span><span class="op">.</span><span class="fu">initBoard</span>(<span class="st">'jsxgraph'</span><span class="op">,</span> {<span class="dt">boundingbox</span><span class="op">:</span> [<span class="op">-</span><span class="dv">5</span><span class="op">,</span> <span class="dv">10</span><span class="op">,</span> <span class="dv">7</span><span class="op">,</span> <span class="op">-</span><span class="dv">6</span>]<span class="op">,</span> <span class="dt">axis</span><span class="op">:</span><span class="kw">true</span>})<span class="op">;</span></span>
|
||
<span id="cb21-378"><a href="#cb21-378" aria-hidden="true" tabindex="-1"></a>p <span class="op">=</span> [</span>
|
||
<span id="cb21-379"><a href="#cb21-379" aria-hidden="true" tabindex="-1"></a> board<span class="op">.</span><span class="fu">create</span>(<span class="st">'point'</span><span class="op">,</span> [<span class="op">-</span><span class="dv">1</span><span class="op">,-</span><span class="dv">2</span>]<span class="op">,</span> {<span class="dt">size</span><span class="op">:</span><span class="dv">2</span>})<span class="op">,</span></span>
|
||
<span id="cb21-380"><a href="#cb21-380" aria-hidden="true" tabindex="-1"></a> board<span class="op">.</span><span class="fu">create</span>(<span class="st">'point'</span><span class="op">,</span> [<span class="dv">6</span><span class="op">,</span><span class="dv">5</span>]<span class="op">,</span> {<span class="dt">size</span><span class="op">:</span><span class="dv">2</span>})<span class="op">,</span></span>
|
||
<span id="cb21-381"><a href="#cb21-381" aria-hidden="true" tabindex="-1"></a> board<span class="op">.</span><span class="fu">create</span>(<span class="st">'point'</span><span class="op">,</span> [<span class="op">-</span><span class="fl">0.5</span><span class="op">,</span><span class="dv">1</span>]<span class="op">,</span> {<span class="dt">size</span><span class="op">:</span><span class="dv">2</span>})<span class="op">,</span></span>
|
||
<span id="cb21-382"><a href="#cb21-382" aria-hidden="true" tabindex="-1"></a> board<span class="op">.</span><span class="fu">create</span>(<span class="st">'point'</span><span class="op">,</span> [<span class="dv">3</span><span class="op">,</span><span class="dv">3</span>]<span class="op">,</span> {<span class="dt">size</span><span class="op">:</span><span class="dv">2</span>})</span>
|
||
<span id="cb21-383"><a href="#cb21-383" aria-hidden="true" tabindex="-1"></a>]<span class="op">;</span></span>
|
||
<span id="cb21-384"><a href="#cb21-384" aria-hidden="true" tabindex="-1"></a>f <span class="op">=</span> JXG<span class="op">.</span><span class="at">Math</span><span class="op">.</span><span class="at">Numerics</span><span class="op">.</span><span class="fu">lagrangePolynomial</span>(p)<span class="op">;</span></span>
|
||
<span id="cb21-385"><a href="#cb21-385" aria-hidden="true" tabindex="-1"></a>graph <span class="op">=</span> board<span class="op">.</span><span class="fu">create</span>(<span class="st">'functiongraph'</span><span class="op">,</span> [f<span class="op">,-</span><span class="dv">10</span><span class="op">,</span> <span class="dv">10</span>])<span class="op">;</span></span>
|
||
<span id="cb21-386"><a href="#cb21-386" aria-hidden="true" tabindex="-1"></a></span>
|
||
<span id="cb21-387"><a href="#cb21-387" aria-hidden="true" tabindex="-1"></a>g <span class="op">=</span> <span class="kw">function</span>(x) {</span>
|
||
<span id="cb21-388"><a href="#cb21-388" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> JXG<span class="op">.</span><span class="at">Math</span><span class="op">.</span><span class="at">Numerics</span><span class="op">.</span><span class="fu">D</span>(f)(x)<span class="op">-</span>(p[<span class="dv">1</span>]<span class="op">.</span><span class="fu">Y</span>()<span class="op">-</span>p[<span class="dv">0</span>]<span class="op">.</span><span class="fu">Y</span>())<span class="op">/</span>(p[<span class="dv">1</span>]<span class="op">.</span><span class="fu">X</span>()<span class="op">-</span>p[<span class="dv">0</span>]<span class="op">.</span><span class="fu">X</span>())<span class="op">;</span></span>
|
||
<span id="cb21-389"><a href="#cb21-389" aria-hidden="true" tabindex="-1"></a>}<span class="op">;</span></span>
|
||
<span id="cb21-390"><a href="#cb21-390" aria-hidden="true" tabindex="-1"></a></span>
|
||
<span id="cb21-391"><a href="#cb21-391" aria-hidden="true" tabindex="-1"></a>r <span class="op">=</span> board<span class="op">.</span><span class="fu">create</span>(<span class="st">'glider'</span><span class="op">,</span> [</span>
|
||
<span id="cb21-392"><a href="#cb21-392" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span>() { <span class="cf">return</span> JXG<span class="op">.</span><span class="at">Math</span><span class="op">.</span><span class="at">Numerics</span><span class="op">.</span><span class="fu">root</span>(g<span class="op">,</span>(p[<span class="dv">0</span>]<span class="op">.</span><span class="fu">X</span>()<span class="op">+</span>p[<span class="dv">1</span>]<span class="op">.</span><span class="fu">X</span>())<span class="op">*</span><span class="fl">0.5</span>)<span class="op">;</span> }<span class="op">,</span></span>
|
||
<span id="cb21-393"><a href="#cb21-393" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span>() { <span class="cf">return</span> <span class="fu">f</span>(JXG<span class="op">.</span><span class="at">Math</span><span class="op">.</span><span class="at">Numerics</span><span class="op">.</span><span class="fu">root</span>(g<span class="op">,</span>(p[<span class="dv">0</span>]<span class="op">.</span><span class="fu">X</span>()<span class="op">+</span>p[<span class="dv">1</span>]<span class="op">.</span><span class="fu">X</span>())<span class="op">*</span><span class="fl">0.5</span>))<span class="op">;</span> }<span class="op">,</span></span>
|
||
<span id="cb21-394"><a href="#cb21-394" aria-hidden="true" tabindex="-1"></a> graph]<span class="op">,</span> {<span class="dt">name</span><span class="op">:</span><span class="st">' '</span><span class="op">,</span><span class="dt">size</span><span class="op">:</span><span class="dv">4</span><span class="op">,</span><span class="dt">fixed</span><span class="op">:</span><span class="kw">true</span>})<span class="op">;</span></span>
|
||
<span id="cb21-395"><a href="#cb21-395" aria-hidden="true" tabindex="-1"></a>board<span class="op">.</span><span class="fu">create</span>(<span class="st">'tangent'</span><span class="op">,</span> [r]<span class="op">,</span> {<span class="dt">strokeColor</span><span class="op">:</span><span class="st">'#ff0000'</span>})<span class="op">;</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-1" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-2" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-3" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-4" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-5" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-6" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-7" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-8" data-nodetype="expression">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sourceCode cell-code hidden" id="cb22" data-startfrom="396" data-source-offset="-830"><pre class="sourceCode js code-with-copy"><code class="sourceCode javascript" style="counter-reset: source-line 395;"><span id="cb22-396"><a href="#cb22-396" aria-hidden="true" tabindex="-1"></a>line <span class="op">=</span> board<span class="op">.</span><span class="fu">create</span>(<span class="st">'line'</span><span class="op">,</span>[p[<span class="dv">0</span>]<span class="op">,</span>p[<span class="dv">1</span>]]<span class="op">,</span>{<span class="dt">strokeColor</span><span class="op">:</span><span class="st">'#ff0000'</span><span class="op">,</span><span class="dt">dash</span><span class="op">:</span><span class="dv">1</span>})<span class="op">;</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display hidden">
|
||
<div>
|
||
<div id="ojs-cell-1-9" data-nodetype="declaration">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>This interactive example can also be found at <a href="http://jsxgraph.uni-bayreuth.de/wiki/index.php?title=Mean_Value_Theorem">jsxgraph</a>. It shows a cubic polynomial fit to the <span class="math inline">\(4\)</span> adjustable points labeled A through D. The secant line is drawn between points A and B with a dashed line. A tangent line – with the same slope as the secant line – is identified at a point <span class="math inline">\((\alpha, f(\alpha))\)</span> where <span class="math inline">\(\alpha\)</span> is between the points A and B. That this can always be done is a conseuqence of the mean value theorem.</p>
|
||
<section id="example-3" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example-3">Example</h5>
|
||
<p>The mean value theorem is an extremely useful tool to relate properties of a function with properties of its derivative, as, like Rolle’s theorem, it includes both <span class="math inline">\(f\)</span> and <span class="math inline">\(f'\)</span> in its statement.</p>
|
||
<p>For example, suppose we have a function <span class="math inline">\(f(x)\)</span> and we know that the derivative is <strong>always</strong> <span class="math inline">\(0\)</span>. What can we say about the function?</p>
|
||
<p>Well, constant functions have derivatives that are constantly <span class="math inline">\(0\)</span>. But do others? We will see the answer is no: If a function has a zero derivative in <span class="math inline">\((a,b)\)</span> it must be a constant. We can readily see that if <span class="math inline">\(f\)</span> is a polynomial function this is the case, as we can differentiate a polynomial function and this will be zero only if <strong>all</strong> its coefficients are <span class="math inline">\(0\)</span>, which would mean there is no non-constant leading term in the polynomial. But polynomials are not representative of all functions, and so a proof requires a bit more effort.</p>
|
||
<p>Suppose it is known that <span class="math inline">\(f'(x)=0\)</span> on some interval <span class="math inline">\(I\)</span> and we take any <span class="math inline">\(a < b\)</span> in <span class="math inline">\(I\)</span>. Since <span class="math inline">\(f'(x)\)</span> always exists, <span class="math inline">\(f(x)\)</span> is always differentiable, and hence always continuous. So on <span class="math inline">\([a,b]\)</span> the conditions of the mean value theorem apply. That is, there is a <span class="math inline">\(c\)</span> in <span class="math inline">\((a,b)\)</span> with <span class="math inline">\((f(b) - f(a)) / (b-a) = f'(c) = 0\)</span>. But this would imply <span class="math inline">\(f(b) - f(a)=0\)</span>. That is <span class="math inline">\(f(x)\)</span> is a constant, as for any <span class="math inline">\(a\)</span> and <span class="math inline">\(b\)</span>, we see <span class="math inline">\(f(a)=f(b)\)</span>.</p>
|
||
</section>
|
||
<section id="the-cauchy-mean-value-theorem" class="level3" data-number="25.4.1">
|
||
<h3 data-number="25.4.1" class="anchored" data-anchor-id="the-cauchy-mean-value-theorem"><span class="header-section-number">25.4.1</span> The Cauchy mean value theorem</h3>
|
||
<p><a href="http://en.wikipedia.org/wiki/Mean_value_theorem#Cauchy.27s_mean_value_theorem">Cauchy</a> offered an extension to the mean value theorem above. Suppose both <span class="math inline">\(f\)</span> and <span class="math inline">\(g\)</span> satisfy the conditions of the mean value theorem on <span class="math inline">\([a,b]\)</span> with <span class="math inline">\(g(b)-g(a) \neq 0\)</span>, then there exists at least one <span class="math inline">\(c\)</span> with <span class="math inline">\(a < c < b\)</span> such that</p>
|
||
<p><span class="math display">\[
|
||
f'(c) = g'(c) \cdot \frac{f(b) - f(a)}{g(b) - g(a)}.
|
||
\]</span></p>
|
||
<p>The proof follows by considering <span class="math inline">\(h(x) = f(x) - r\cdot g(x)\)</span>, with <span class="math inline">\(r\)</span> chosen so that <span class="math inline">\(h(a)=h(b)\)</span>. Then Rolle’s theorem applies so that there is a <span class="math inline">\(c\)</span> with <span class="math inline">\(h'(c)=0\)</span>, so <span class="math inline">\(f'(c) = r g'(c)\)</span>, but <span class="math inline">\(r\)</span> can be seen to be <span class="math inline">\((f(b)-f(a))/(g(b)-g(a))\)</span>, which proves the theorem.</p>
|
||
<p>Letting <span class="math inline">\(g(x) = x\)</span> demonstrates that the mean value theorem is a special case.</p>
|
||
<section id="example-4" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example-4">Example</h5>
|
||
<p>Suppose <span class="math inline">\(f(x)\)</span> and <span class="math inline">\(g(x)\)</span> satisfy the Cauchy mean value theorem on <span class="math inline">\([0,x]\)</span>, <span class="math inline">\(g'(x)\)</span> is non-zero on <span class="math inline">\((0,x)\)</span>, and <span class="math inline">\(f(0)=g(0)=0\)</span>. Then we have:</p>
|
||
<p><span class="math display">\[
|
||
\frac{f(x) - f(0)}{g(x) - g(0)} = \frac{f(x)}{g(x)} = \frac{f'(c)}{g'(c)},
|
||
\]</span></p>
|
||
<p>For some <span class="math inline">\(c\)</span> in <span class="math inline">\([0,x]\)</span>. If <span class="math inline">\(\lim_{x \rightarrow 0} f'(x)/g'(x) = L\)</span>, then the right hand side will have a limit of <span class="math inline">\(L\)</span>, and hence the left hand side will too. That is, when the limit exists, we have under these conditions that <span class="math inline">\(\lim_{x\rightarrow 0}f(x)/g(x) = \lim_{x\rightarrow 0}f'(x)/g'(x)\)</span>.</p>
|
||
<p>This could be used to prove the limit of <span class="math inline">\(\sin(x)/x\)</span> as <span class="math inline">\(x\)</span> goes to <span class="math inline">\(0\)</span> just by showing the limit of <span class="math inline">\(\cos(x)/1\)</span> is <span class="math inline">\(1\)</span>, as is known by continuity.</p>
|
||
</section>
|
||
</section>
|
||
<section id="visualizing-the-cauchy-mean-value-theorem" class="level3" data-number="25.4.2">
|
||
<h3 data-number="25.4.2" class="anchored" data-anchor-id="visualizing-the-cauchy-mean-value-theorem"><span class="header-section-number">25.4.2</span> Visualizing the Cauchy mean value theorem</h3>
|
||
<p>The Cauchy mean value theorem can be visualized in terms of a tangent line and a <em>parallel</em> secant line in a similar manner as the mean value theorem as long as a <em>parametric</em> graph is used. A parametric graph plots the points <span class="math inline">\((g(t), f(t))\)</span> for some range of <span class="math inline">\(t\)</span>. That is, it graphs <em>both</em> functions at the same time. The following illustrates the construction of such a graph:</p>
|
||
<div class="cell" data-cache="true" data-hold="true" data-execution_count="19">
|
||
<div class="cell-output cell-output-display" data-execution_count="20">
|
||
<div class="d-flex justify-content-center"> <figure class="figure"> <img src="data:image/gif;base64,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gBQL+cg+1oJyh7hkJDv5yVCOcowprMSAAAAh+QQFZAABACxRAG8AbQGeAQAI/wADCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFiwPzBaCHcWK+QjECvOhjbyGoMzZEiPhRR92/gf/o6SpExguplx1z6tzJs6fPn0AnqgrgJijCfEMCYAjgIUAMjglLAIiwooQBABq4wXQAoCsAOf9wGh1LtqzZs2gZDi2KllCAICX1SQkgRyEobmH/oTMC4AnMIWcknfmaN63hw4gTK1ZLFO0/DgCiDSw3gIFGhIUFbpt6UBDhsItDix5NeicZg77IShZRsEaAWZgzBwAHgLVBz2BBl97Nu7dvgbfOBPgxGaG1heIgbgIwl6BwRLHz/rPnBQCezp/F/t7OvXvZtQw5LP8EA7FQgNME69CNLqcJjgcJ6PArGBa3bu/48+vHCCpAGoaCmASRemsUBEgAwh0Ez4I+JDAAABzg4Q48BC2YB1EL7qfhhhwqBN5P2gWwTQABJjjQhXBE91I+wMQAwBkhkphdhzTWuN+HCkmmkDeYFYRKAJIEgEVBBR54kGwBsOPAAMkVZN99NkYp5W44JiSeQuQdWRA4AaQWEkFKBHBKdAX1EEAst8045ZpsKgZbgQststBQD+XjYDkD2YMAAeqoSBBryKSZW4xtFmooUMchkdZpbJEYQBUwkQEGVN5Yoxs/nlmgj0C6PUnooaCGehE/IAiAAxcillUOZJByIcADPHL/KgAAfQaAigAxbOEGGCcAQMCYnLrhwgoYTLXCCiaKquyyE1mzxQsCKWOWN0YMEIAAOkxD0GMYuCNQNlI80FUABygRKExneKBuU+puwey78HIXTwDeOuRONt5seiSS8fbr778AByzwwAQXbPDBCCes8MIMN+zwwxBHLPHEFFds8cUYZ6zxxhx37PHHIIcs8sgkl2zyySinrPLKLLfs8sswxyzzzDTXbPPNOOes88489+zzz0AHLfTQRBdt9NFIJ6300kw37fTTUEct9dRUV2311VhnrfXWXHft9ddghy322GSXbfbZaKet9tpst+3223DHLffcdNdt991456333nz3/+3334AHLvjghBdu+OGIJ6744ow37vjjkEcu+eSUV2755ZhnrvnmnHfu+eeghy766KSXbvrpqKeu+uqst+7667DHLvvstNdu++2456777rz37vvvwAcv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" class="card-img-top figure-img" alt="A Figure">
|
||
<figcaption class="figure-caption"><div class="markdown"><p>Illustration of parametric graph of \((g(t), f(t))\) for \(-\pi/2 \leq t \leq \pi/2\) with \(g(x) = \sin(x)\) and \(f(x) = x\). Each point on the graph is from some value \(t\) in the interval. We can see that the graph goes through \((0,0)\) as that is when \(t=0\). As well, it must go through \((1, \pi/2)\) as that is when \(t=\pi/2\)</p>
|
||
</div> </figcaption>
|
||
</figure>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>With <span class="math inline">\(g(x) = \sin(x)\)</span> and <span class="math inline">\(f(x) = x\)</span>, we can take <span class="math inline">\(I=[a,b] = [0, \pi/2]\)</span>. In the figure below, the <em>secant line</em> is drawn in red which connects <span class="math inline">\((g(a), f(a))\)</span> with the point <span class="math inline">\((g(b), f(b))\)</span>, and hence has slope <span class="math inline">\(\Delta f/\Delta g\)</span>. The parallel lines drawn show the <em>tangent</em> lines with slope <span class="math inline">\(f'(c)/g'(c)\)</span>. Two exist for this problem, the mean value theorem guarantees at least one will.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="20">
|
||
<div class="cell-output cell-output-display" data-execution_count="21">
|
||
<p><img src="mean_value_theorem_files/figure-html/cell-21-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="questions" class="level2" data-number="25.5">
|
||
<h2 data-number="25.5" class="anchored" data-anchor-id="questions"><span class="header-section-number">25.5</span> Questions</h2>
|
||
<section id="question" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question">Question</h6>
|
||
<p>Rolle’s theorem is a guarantee of a value, but does not provide a recipe to find it. For the function <span class="math inline">\(1 - x^2\)</span> over the interval <span class="math inline">\([-5,5]\)</span>, find a value <span class="math inline">\(c\)</span> that satisfies the result.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="21">
|
||
<div class="cell-output cell-output-display" data-execution_count="22">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="11466685911717294326" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_11466685911717294326">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="11466685911717294326" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="11466685911717294326_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("11466685911717294326").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 0) <= 0);
|
||
var msgBox = document.getElementById('11466685911717294326_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_11466685911717294326")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_11466685911717294326")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-1" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-1">Question</h6>
|
||
<p>The extreme value theorem is a guarantee of a value, but does not provide a recipe to find it. For the function <span class="math inline">\(f(x) = \sin(x)\)</span> on <span class="math inline">\(I=[0, \pi]\)</span> find a value <span class="math inline">\(c\)</span> satisfying the theorem for an absolute maximum.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="22">
|
||
<div class="cell-output cell-output-display" data-execution_count="23">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="7981467121988466649" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_7981467121988466649">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="7981467121988466649" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="7981467121988466649_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("7981467121988466649").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 1.5707963267948966) <= 0.001);
|
||
var msgBox = document.getElementById('7981467121988466649_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_7981467121988466649")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_7981467121988466649")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-2" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-2">Question</h6>
|
||
<p>The extreme value theorem is a guarantee of a value, but does not provide a recipe to find it. For the function <span class="math inline">\(f(x) = \sin(x)\)</span> on <span class="math inline">\(I=[\pi, 3\pi/2]\)</span> find a value <span class="math inline">\(c\)</span> satisfying the theorem for an absolute maximum.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="23">
|
||
<div class="cell-output cell-output-display" data-execution_count="24">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="7166684372220278404" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_7166684372220278404">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="7166684372220278404" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="7166684372220278404_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("7166684372220278404").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - π) <= 0.001);
|
||
var msgBox = document.getElementById('7166684372220278404_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_7166684372220278404")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_7166684372220278404")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-3" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-3">Question</h6>
|
||
<p>The mean value theorem is a guarantee of a value, but does not provide a recipe to find it. For <span class="math inline">\(f(x) = x^2\)</span> on <span class="math inline">\([0,2]\)</span> find a value of <span class="math inline">\(c\)</span> satisfying the theorem.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="24">
|
||
<div class="cell-output cell-output-display" data-execution_count="25">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="15272843986946397528" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_15272843986946397528">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="15272843986946397528" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="15272843986946397528_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("15272843986946397528").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 1) <= 0);
|
||
var msgBox = document.getElementById('15272843986946397528_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_15272843986946397528")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_15272843986946397528")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-4" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-4">Question</h6>
|
||
<p>The Cauchy mean value theorem is a guarantee of a value, but does not provide a recipe to find it. For <span class="math inline">\(f(x) = x^3\)</span> and <span class="math inline">\(g(x) = x^2\)</span> find a value <span class="math inline">\(c\)</span> in the interval <span class="math inline">\([1, 2]\)</span></p>
|
||
<div class="cell" data-hold="true" data-execution_count="25">
|
||
<div class="cell-output cell-output-display" data-execution_count="26">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="9609420282773412039" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_9609420282773412039">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="9609420282773412039" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="9609420282773412039_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("9609420282773412039").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 1.5555555555555556) <= 0.001);
|
||
var msgBox = document.getElementById('9609420282773412039_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_9609420282773412039")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_9609420282773412039")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-5" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-5">Question</h6>
|
||
<p>Will the function <span class="math inline">\(f(x) = x + 1/x\)</span> satisfy the conditions of the mean value theorem over <span class="math inline">\([-1/2, 1/2]\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="26">
|
||
<div class="cell-output cell-output-display" data-execution_count="27">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="17670041641059434088" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_17670041641059434088">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17670041641059434088_1">
|
||
<input class="form-check-input" type="radio" name="radio_17670041641059434088" id="radio_17670041641059434088_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
Yes
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17670041641059434088_2">
|
||
<input class="form-check-input" type="radio" name="radio_17670041641059434088" id="radio_17670041641059434088_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
No
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="17670041641059434088_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_17670041641059434088"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 2;
|
||
var msgBox = document.getElementById('17670041641059434088_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_17670041641059434088")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_17670041641059434088")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-6" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-6">Question</h6>
|
||
<p>Just as it is a fact that <span class="math inline">\(f'(x) = 0\)</span> (for all <span class="math inline">\(x\)</span> in <span class="math inline">\(I\)</span>) implies <span class="math inline">\(f(x)\)</span> is a constant, so too is it a fact that if <span class="math inline">\(f'(x) = g'(x)\)</span> that <span class="math inline">\(f(x) - g(x)\)</span> is a constant. What function would you consider, if you wanted to prove this with the mean value theorem?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="27">
|
||
<div class="cell-output cell-output-display" data-execution_count="28">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="6183329309764471867" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_6183329309764471867">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6183329309764471867_1">
|
||
<input class="form-check-input" type="radio" name="radio_6183329309764471867" id="radio_6183329309764471867_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(h(x) = f'(x) - g'(x)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6183329309764471867_2">
|
||
<input class="form-check-input" type="radio" name="radio_6183329309764471867" id="radio_6183329309764471867_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(h(x) = f(x) - (f(b) - f(a)) / (b - a) \cdot g(x)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6183329309764471867_3">
|
||
<input class="form-check-input" type="radio" name="radio_6183329309764471867" id="radio_6183329309764471867_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(h(x) = f(x) - g(x)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6183329309764471867_4">
|
||
<input class="form-check-input" type="radio" name="radio_6183329309764471867" id="radio_6183329309764471867_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(h(x) = f(x) - (f(b) - f(a)) / (b - a)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="6183329309764471867_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_6183329309764471867"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 3;
|
||
var msgBox = document.getElementById('6183329309764471867_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_6183329309764471867")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_6183329309764471867")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-7" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-7">Question</h6>
|
||
<p>Suppose <span class="math inline">\(f''(x) > 0\)</span> on <span class="math inline">\(I\)</span>. Why is it impossible that <span class="math inline">\(f'(x) = 0\)</span> at more than one value in <span class="math inline">\(I\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="28">
|
||
<div class="cell-output cell-output-display" data-execution_count="29">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="7411758986555123467" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_7411758986555123467">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_7411758986555123467_1">
|
||
<input class="form-check-input" type="radio" name="radio_7411758986555123467" id="radio_7411758986555123467_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
It isn't. The function \(f(x) = x^2\) has two zeros and \(f''(x) = 2 > 0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_7411758986555123467_2">
|
||
<input class="form-check-input" type="radio" name="radio_7411758986555123467" id="radio_7411758986555123467_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
By the mean value theorem, we must have \(f'(b) - f'(a) > 0\) when ever \(b > a\). This means \(f'(x)\) is increasing and can't double back to have more than one zero.
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_7411758986555123467_3">
|
||
<input class="form-check-input" type="radio" name="radio_7411758986555123467" id="radio_7411758986555123467_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
By the Rolle's theorem, there is at least one, and perhaps more
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="7411758986555123467_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_7411758986555123467"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 2;
|
||
var msgBox = document.getElementById('7411758986555123467_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_7411758986555123467")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_7411758986555123467")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-8" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-8">Question</h6>
|
||
<p>Let <span class="math inline">\(f(x) = 1/x\)</span>. For <span class="math inline">\(0 < a < b\)</span>, find <span class="math inline">\(c\)</span> so that <span class="math inline">\(f'(c) = (f(b) - f(a)) / (b-a)\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="29">
|
||
<div class="cell-output cell-output-display" data-execution_count="30">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="13683189101015688587" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_13683189101015688587">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_13683189101015688587_1">
|
||
<input class="form-check-input" type="radio" name="radio_13683189101015688587" id="radio_13683189101015688587_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = \sqrt{ab}\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_13683189101015688587_2">
|
||
<input class="form-check-input" type="radio" name="radio_13683189101015688587" id="radio_13683189101015688587_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = 1 / (1/a + 1/b)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_13683189101015688587_3">
|
||
<input class="form-check-input" type="radio" name="radio_13683189101015688587" id="radio_13683189101015688587_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = (a+b)/2\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_13683189101015688587_4">
|
||
<input class="form-check-input" type="radio" name="radio_13683189101015688587" id="radio_13683189101015688587_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = a + (\sqrt{5} - 1)/2 \cdot (b-a)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="13683189101015688587_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_13683189101015688587"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 1;
|
||
var msgBox = document.getElementById('13683189101015688587_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_13683189101015688587")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_13683189101015688587")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-9" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-9">Question</h6>
|
||
<p>Let <span class="math inline">\(f(x) = x^2\)</span>. For <span class="math inline">\(0 < a < b\)</span>, find <span class="math inline">\(c\)</span> so that <span class="math inline">\(f'(c) = (f(b) - f(a)) / (b-a)\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="30">
|
||
<div class="cell-output cell-output-display" data-execution_count="31">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="1845775920769648527" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_1845775920769648527">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_1845775920769648527_1">
|
||
<input class="form-check-input" type="radio" name="radio_1845775920769648527" id="radio_1845775920769648527_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = (a+b)/2\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_1845775920769648527_2">
|
||
<input class="form-check-input" type="radio" name="radio_1845775920769648527" id="radio_1845775920769648527_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = \sqrt{ab}\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_1845775920769648527_3">
|
||
<input class="form-check-input" type="radio" name="radio_1845775920769648527" id="radio_1845775920769648527_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = 1 / (1/a + 1/b)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_1845775920769648527_4">
|
||
<input class="form-check-input" type="radio" name="radio_1845775920769648527" id="radio_1845775920769648527_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(c = a + (\sqrt{5} - 1)/2 \cdot (b-a)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="1845775920769648527_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_1845775920769648527"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 1;
|
||
var msgBox = document.getElementById('1845775920769648527_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_1845775920769648527")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_1845775920769648527")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-10" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-10">Question</h6>
|
||
<p>In an example, we used the fact that if <span class="math inline">\(0 < c < x\)</span>, for some <span class="math inline">\(c\)</span> given by the mean value theorem and <span class="math inline">\(f(x)\)</span> goes to <span class="math inline">\(0\)</span> as <span class="math inline">\(x\)</span> goes to zero then <span class="math inline">\(f(c)\)</span> will also go to zero. Suppose we say that <span class="math inline">\(c=g(x)\)</span> for some function <span class="math inline">\(c\)</span>.</p>
|
||
<p>Why is it known that <span class="math inline">\(g(x)\)</span> goes to <span class="math inline">\(0\)</span> as <span class="math inline">\(x\)</span> goes to zero (from the right)?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="31">
|
||
<div class="cell-output cell-output-display" data-execution_count="32">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="16723542373101842388" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_16723542373101842388">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_16723542373101842388_1">
|
||
<input class="form-check-input" type="radio" name="radio_16723542373101842388" id="radio_16723542373101842388_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
As \(f(x)\) goes to zero by Rolle's theorem it must be that \(g(x)\) goes to \(0\).
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_16723542373101842388_2">
|
||
<input class="form-check-input" type="radio" name="radio_16723542373101842388" id="radio_16723542373101842388_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
The squeeze theorem applies, as \(0 < g(x) < x\).
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_16723542373101842388_3">
|
||
<input class="form-check-input" type="radio" name="radio_16723542373101842388" id="radio_16723542373101842388_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
This follows by the extreme value theorem, as there must be some \(c\) in \([0,x]\).
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="16723542373101842388_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_16723542373101842388"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 2;
|
||
var msgBox = document.getElementById('16723542373101842388_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_16723542373101842388")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_16723542373101842388")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>Since <span class="math inline">\(g(x)\)</span> goes to zero, why is it true that if <span class="math inline">\(f(x)\)</span> goes to <span class="math inline">\(L\)</span> as <span class="math inline">\(x\)</span> goes to zero that <span class="math inline">\(f(g(x))\)</span> must also have a limit <span class="math inline">\(L\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="32">
|
||
<div class="cell-output cell-output-display" data-execution_count="33">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="9048958161949275221" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_9048958161949275221">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_9048958161949275221_1">
|
||
<input class="form-check-input" type="radio" name="radio_9048958161949275221" id="radio_9048958161949275221_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
The squeeze theorem applies, as \(0 < g(x) < x\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_9048958161949275221_2">
|
||
<input class="form-check-input" type="radio" name="radio_9048958161949275221" id="radio_9048958161949275221_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
It isn't true. The limit must be 0
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_9048958161949275221_3">
|
||
<input class="form-check-input" type="radio" name="radio_9048958161949275221" id="radio_9048958161949275221_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
This follows from the limit rules for composition of functions
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="9048958161949275221_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_9048958161949275221"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 3;
|
||
var msgBox = document.getElementById('9048958161949275221_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_9048958161949275221")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_9048958161949275221")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</section>
|
||
</section>
|
||
|
||
</main> <!-- /main -->
|
||
<script type="ojs-module-contents">
|
||
{"contents":[{"methodName":"interpretLenient","cellName":"ojs-cell-1","inline":false,"source":"\nJXG = require(\"jsxgraph\");\n\nboard = JXG.JSXGraph.initBoard('jsxgraph', {boundingbox: [-5, 10, 7, -6], axis:true});\np = [\n board.create('point', [-1,-2], {size:2}),\n board.create('point', [6,5], {size:2}),\n board.create('point', [-0.5,1], {size:2}),\n board.create('point', [3,3], {size:2})\n];\nf = JXG.Math.Numerics.lagrangePolynomial(p);\ngraph = board.create('functiongraph', [f,-10, 10]);\n\ng = function(x) {\n return JXG.Math.Numerics.D(f)(x)-(p[1].Y()-p[0].Y())/(p[1].X()-p[0].X());\n};\n\nr = board.create('glider', [\n function() { return JXG.Math.Numerics.root(g,(p[0].X()+p[1].X())*0.5); },\n function() { return f(JXG.Math.Numerics.root(g,(p[0].X()+p[1].X())*0.5)); },\n graph], {name:' ',size:4,fixed:true});\nboard.create('tangent', [r], {strokeColor:'#ff0000'});\nline = board.create('line',[p[0],p[1]],{strokeColor:'#ff0000',dash:1});\n"}]}
|
||
</script>
|
||
<script type="module">
|
||
window._ojs.paths.runtimeToDoc = "../../derivatives";
|
||
window._ojs.paths.runtimeToRoot = "../..";
|
||
window._ojs.paths.docToRoot = "..";
|
||
window._ojs.selfContained = false;
|
||
window._ojs.runtime.interpretFromScriptTags();
|
||
</script>
|
||
<script id="quarto-html-after-body" type="application/javascript">
|
||
window.document.addEventListener("DOMContentLoaded", function (event) {
|
||
const toggleBodyColorMode = (bsSheetEl) => {
|
||
const mode = bsSheetEl.getAttribute("data-mode");
|
||
const bodyEl = window.document.querySelector("body");
|
||
if (mode === "dark") {
|
||
bodyEl.classList.add("quarto-dark");
|
||
bodyEl.classList.remove("quarto-light");
|
||
} else {
|
||
bodyEl.classList.add("quarto-light");
|
||
bodyEl.classList.remove("quarto-dark");
|
||
}
|
||
}
|
||
const toggleBodyColorPrimary = () => {
|
||
const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
|
||
if (bsSheetEl) {
|
||
toggleBodyColorMode(bsSheetEl);
|
||
}
|
||
}
|
||
toggleBodyColorPrimary();
|
||
const icon = "";
|
||
const anchorJS = new window.AnchorJS();
|
||
anchorJS.options = {
|
||
placement: 'right',
|
||
icon: icon
|
||
};
|
||
anchorJS.add('.anchored');
|
||
const clipboard = new window.ClipboardJS('.code-copy-button', {
|
||
target: function(trigger) {
|
||
return trigger.previousElementSibling;
|
||
}
|
||
});
|
||
clipboard.on('success', function(e) {
|
||
// button target
|
||
const button = e.trigger;
|
||
// don't keep focus
|
||
button.blur();
|
||
// flash "checked"
|
||
button.classList.add('code-copy-button-checked');
|
||
var currentTitle = button.getAttribute("title");
|
||
button.setAttribute("title", "Copied!");
|
||
setTimeout(function() {
|
||
button.setAttribute("title", currentTitle);
|
||
button.classList.remove('code-copy-button-checked');
|
||
}, 1000);
|
||
// clear code selection
|
||
e.clearSelection();
|
||
});
|
||
function tippyHover(el, contentFn) {
|
||
const config = {
|
||
allowHTML: true,
|
||
content: contentFn,
|
||
maxWidth: 500,
|
||
delay: 100,
|
||
arrow: false,
|
||
appendTo: function(el) {
|
||
return el.parentElement;
|
||
},
|
||
interactive: true,
|
||
interactiveBorder: 10,
|
||
theme: 'quarto',
|
||
placement: 'bottom-start'
|
||
};
|
||
window.tippy(el, config);
|
||
}
|
||
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
|
||
for (var i=0; i<noterefs.length; i++) {
|
||
const ref = noterefs[i];
|
||
tippyHover(ref, function() {
|
||
let href = ref.getAttribute('href');
|
||
try { href = new URL(href).hash; } catch {}
|
||
const id = href.replace(/^#\/?/, "");
|
||
const note = window.document.getElementById(id);
|
||
return note.innerHTML;
|
||
});
|
||
}
|
||
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
|
||
for (var i=0; i<bibliorefs.length; i++) {
|
||
const ref = bibliorefs[i];
|
||
const cites = ref.parentNode.getAttribute('data-cites').split(' ');
|
||
tippyHover(ref, function() {
|
||
var popup = window.document.createElement('div');
|
||
cites.forEach(function(cite) {
|
||
var citeDiv = window.document.createElement('div');
|
||
citeDiv.classList.add('hanging-indent');
|
||
citeDiv.classList.add('csl-entry');
|
||
var biblioDiv = window.document.getElementById('ref-' + cite);
|
||
if (biblioDiv) {
|
||
citeDiv.innerHTML = biblioDiv.innerHTML;
|
||
}
|
||
popup.appendChild(citeDiv);
|
||
});
|
||
return popup.innerHTML;
|
||
});
|
||
}
|
||
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
|
||
var filterRegex = new RegExp('/' + window.location.host + '/');
|
||
var isInternal = (href) => {
|
||
return filterRegex.test(href) || localhostRegex.test(href);
|
||
}
|
||
// Inspect non-navigation links and adorn them if external
|
||
var links = window.document.querySelectorAll('a:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external)');
|
||
for (var i=0; i<links.length; i++) {
|
||
const link = links[i];
|
||
if (!isInternal(link.href)) {
|
||
// target, if specified
|
||
link.setAttribute("target", "_blank");
|
||
}
|
||
}
|
||
});
|
||
</script>
|
||
<nav class="page-navigation">
|
||
<div class="nav-page nav-page-previous">
|
||
<a href="../derivatives/symbolic_derivatives.html" class="pagination-link">
|
||
<i class="bi bi-arrow-left-short"></i> <span class="nav-page-text"><span class="chapter-number">24</span> <span class="chapter-title">Symbolic derivatives</span></span>
|
||
</a>
|
||
</div>
|
||
<div class="nav-page nav-page-next">
|
||
<a href="../derivatives/optimization.html" class="pagination-link">
|
||
<span class="nav-page-text"><span class="chapter-number">26</span> <span class="chapter-title">Optimization</span></span> <i class="bi bi-arrow-right-short"></i>
|
||
</a>
|
||
</div>
|
||
</nav>
|
||
</div> <!-- /content -->
|
||
<footer class="footer">
|
||
<div class="nav-footer">
|
||
<div class="nav-footer-center">Copyright 2022, John Verzani</div>
|
||
</div>
|
||
</footer>
|
||
|
||
|
||
|
||
</body></html> |