Workshop zum Programmingwiki/Ableitung einer Funktion (Scheme)
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Scheme</language>
== Differential- und Differenzenquotient ==
Aus der Mathematik ist die Definition des Differentialquotienten bekannt:
<blockquote>
<math>f'(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}</math>
</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><math>f(x)=3x^2+\frac{2}{x}</math></blockquote>
<code id="5141e1c7c8370">
(define fkt
(lambda (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]].