Übung: Kettenregel
Sei NOTATION.f = OUTER.fText
NOTATION.ddxF = {?}
DERIVATIVE
expr(["*", OUTER.ddxF, randFromArray(INNER.wrongs)])
expr(["*", randFromArray(OUTER.wrongs), INNER.ddxF])
expr(["*", OUTER_WRONG_1, INNER_WRONG_1])
expr(["*", OUTER_WRONG_2, INNER_WRONG_1])
expr(["+", randFromArray(OUTER.wrongs), randFromArray(INNER.wrongs)])
expr(["+", randFromArray(OUTER.wrongs), randFromArray(INNER.wrongs)])
expr(OUTER.ddxF)
expr(randFromArray(OUTER.wrongs))
expr(randFromArray(OUTER.wrongs))
1
NOTATION.ddxF = (
Ableiitung von OUTER.fText
nach INNER.fText
) \cdot (
derivative of INNER.fText
with respect to x)
Die Ableitung von OUTER.fText
nach INNER.fText
ist OUTER.ddxFText
.
Die Ableitung von INNER.fText
nach x
ist INNER.ddxFText
.
Damit ist die Ableitung bis jetzt expr(UNSIMPLIFIED_DERIVATIVE)
, aber der Ausdruck kann noch weiter vereinfacht werden.
expr( i === 0 ? UNSIMPLIFIED_DERIVATIVE : DERIVATIVE_SIMPLIFICATIONS[i - 1] )
wird zu expr(newexpr)
vereinfacht.
Daher ist NOTATION.ddxF = DERIVATIVE
.
Übrigens: hätten wir die Funktion vereinfacht bevor wir die Ableitung bestimmt haben, so hätten wir die Antwort schneller bekommen: OUTER.fText
wird zu expr(PRE_SIMPLIFICATION)
vereinfacht, und \frac{d}{dx}(expr(PRE_SIMPLIFICATION))
ist DERIVATIVE
.