Workshop zum Programmingwiki/Ableitung einer Funktion (Scheme)
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SchemeJS</language>
== Differential- und Differenzenquotient ==
Aus der Mathematik ist die Definition des Differentialquotienten bekannt:
<blockquote>
$f'(x)=\lim\limits_{h \to 0}\frac{f(x+h)-f(x)}{h}$
</blockquote>
Scheme kann natürlich nur mit einem endlichen Wert für $h$ arbeiten.
Wir definieren deshalb:
<code id="5141e1c7c828f">
(define h 1e-06)
</code>
Damit gehen wir vom Differential- zum Differenzenquotienten mit kleinen Intervallen über.<br />
Nun können wir eine Prozedur höherer Ordnung definieren, die die ''Ableitung beliebiger(!) Funktionen'' als Näherungswert ermittelt!
<code id="5141e1c7c82f1">
(define ableitung
(lambda (fkt)
(lambda (x)
(/ (- (fkt (+ x h)) (fkt x)) h))))
</code>
Wir definieren eine Testfunktionen und rechnen nach:
<blockquote>$
\begin{eqnarray*}
f(x)&=&3\,x^2+\frac{2}{x}\\
f'(x)&=&6\,x-\frac{2}{x^2}\\
f'(2)&=&11,5
\end{eqnarray*}$</blockquote>
<code id="5141e2453d45f">
(define fkt
(lambda (x)
(+ (* 3 x x) (/ 2 x))))
</code>
<check>
(and (= (fkt -3) (/ 79 3)) (= (fkt 1) 5))
</check>
<run id="5141e1c7c83db">
((ableitung fkt) 2)
</run>
Zurück zum [[Workshop zum Programmingwiki]].