\( \newcommand{\br}[1]{\left( #1\right)} \newcommand{\logpar}[1]{\log\left( #1\right)} \newcommand{\cospar}[1]{\cos\left( #1\right)} \newcommand{\sinpar}[1]{\sin\left( #1\right)} \newcommand{\tanpar}[1]{\tan\left( #1\right)} \newcommand{\arcsinpar}[1]{\sin^{-1}\!\left( #1\right)} \newcommand{\arccospar}[1]{\cos^{-1}\!\left( #1\right)} \newcommand{\arctanpar}[1]{\tan^{-1}\!\left( #1\right)} \newcommand{\asin}[1]{\sin^{-1}\! #1} \newcommand{\acos}[1]{\cos^{-1}\! #1} \newcommand{\atan}[1]{\tan^{-1}\! #1} \newcommand{\asinh}[1]{\sinh^{-1}\! #1} \newcommand{\acosh}[1]{\cosh^{-1}\! #1} \newcommand{\atanh}[1]{\tanh^{-1}\! #1} \newcommand{\logten}[1]{\log_{10}\! #1} \definecolor{explaination}{RGB}{0, 166, 226} \newcommand{\ubrace}[2][u]{ { \color{explaination}{\underbrace{ {\color{black}{#2}} }_{#1}} } } \newcommand{\obrace}[2][u]{ { \color{explaination}{\overbrace{ {\color{black}{#2}} }^{#1}} } } \definecolor{highlight}{RGB}{181, 41, 118} \newcommand{\xplain}[1]{{ \textcolor{explaination} { \footnotesize{ #1 \newline}}}} \newcommand{\hilite}[1]{{ \textcolor{highlight} { { #1 }}}} \definecolor{lightergray}{gray}{.675} \newcommand{\hide}[1]{{ \textcolor{lightergray} { \footnotesize{ #1 \newline}}}} \newcommand{\mth}[1]{ { \textcolor{black} { { \small #1 } } } } \)

Übung: Konkave und konvexe Funktionen

randFromArray([ [[ 1, 0, -16, 0, 49], [-5, 5], [-100, 100]], [[-1, 0, 16, 0, -49], [-5, 5], [-250, 100]], [[ 1, 3, -14, -35, 21], [-5, 5], [-100, 200]], [[-1, -3, 14, 35, 0], [-5, 5], [-200, 100]], [[ 1, 4, -1, -4], [-5, 5], [ -40, 120]], [[ -1, -4, 1, 4], [-5, 5], [-150, 40]], [[ 1, 0, -16, 0], [-5, 5], [ -50, 50]], [[ -1, 0, 16, 0], [-5, 5], [ -70, 60]], [[ 1, 0, -22, 27], [-5, 5], [ -30, 70]], [[ -1, 0, 22, -27], [-5, 5], [ -70, 30]], [[ 1, 1, -13, -14], [-5, 5], [ -40, 40]], [[ -1, -1, 13, 14], [-5, 5], [ -40, 40]], [[ 1, 0, -12], [-5, 5], [ -20, 20]], [[ -1, 0, 12], [-5, 5], [ -20, 20]], [[ 1, -1, -6], [-5, 5], [ -20, 20]], [[ -1, 1, 6], [-5, 5], [ -30, 20]], [[ 1, 0, -3], [-5, 5], [ -20, 30]], [[ -1, 0, 3], [-5, 5], [ -30, 20]], [[ 1, 2, 0], [-5, 5], [ -10, 35]], [[ -1, -2, 0], [-5, 5], [ -40, 20]] ]) new Polynomial(0, COEF.length - 1, COEF.reverse()) function(x) {return POLYNOMIAL.evalOf(x);} function(x) {return POLYNOMIAL.derivative().evalOf(x);} function(x) {return POLYNOMIAL.derivative().derivative().evalOf(x);} _.reduce(findRootsNumerically(DDX, XRANGE), function(intervals, root) { var last = _.last(intervals) return _.initial(intervals).concat([[last[0], root], [root, last[1]]]); }, [XRANGE]) _.reduce(findRootsNumerically(D2DX, XRANGE), function(intervals, root) { var last = _.last(intervals) return _.initial(intervals).concat([[last[0], root], [root, last[1]]]); }, [XRANGE]) _.filter(DDX_INTERVALS, function(intv) { return DDX(intv[0] + (intv[1] - intv[0]) / 2) > 0; }) _.filter(DDX_INTERVALS, function(intv) { return DDX(intv[0] + (intv[1] - intv[0]) / 2) < 0; }) _.filter(D2DX_INTERVALS, function(intv) { return D2DX(intv[0] + (intv[1] - intv[0]) / 2) > 0; }) _.filter(D2DX_INTERVALS, function(intv) { return D2DX(intv[0] + (intv[1] - intv[0]) / 2) < 0; }) _.reduce( sortNumbers(findRootsNumerically(DDX, XRANGE).concat(findRootsNumerically(D2DX, XRANGE))), function(intervals, root) { var last = _.last(intervals) return _.initial(intervals).concat([[last[0], root], [root, last[1]]]); }, [XRANGE] ) _.filter(COMBINED_INTERVALS, function(intv) { return PREDICATE(intv[0] + (intv[1] - intv[0]) / 2); }) _.sortBy(SOLUTION_INTERVALS, function(intv) { return intv[0] - intv[1]; })[0]
Bewege das blaue Fenster um einen Teil der Funktion auszuwählen.
graph.slidingWindow.getX()
var correct = _.reduce(_.range(guess, guess + 1, 0.02), function(correct, x) { return correct && PREDICATE(x); }, true); if (!graph.moved && !correct) { return "" } return correct;
graph.slidingWindow.moveTo(guess, 0);

initAutoscaledGraph([XRANGE, YRANGE]); addMouseLayer(); plot(FNX, XRANGE, { stroke: BLUE, strokeWidth: 3 }); graph.moved = false; var startX = DDX_INTERVALS[0][1] - 0.5 graph.slidingWindow = addRectGraph({ x: startX, y: YRANGE[0], width: 1, height: YRANGE[1] - YRANGE[0], normalStyle: { area: { "fill-opacity": 0.2 }, edges: { "stroke-width": 0 } }, hoverStyle: { area: { "fill-opacity": 0.3 } }, fixed: { points: [true, true, true, true], edges: [true, true, true, true] }, constraints: { constrainX: false, constrainY: true, xmin: XRANGE[0], xmax: XRANGE[1] }, onMove: function() { graph.moved = true; } });

\large \blue{f(x) = POLYNOMIAL.text()}

function(x) { return DDX(x) > 0 && D2DX(x) > 0; }

Die Funktion f(x) ist unten aufgetragen. Selektiere ein Intervall, wo f^\prime(x) > 0 und f^{\prime\prime}(x) > 0.

Die erste Ableitung, f^\prime(x), ist größer als 0 wenn die Funktion monoton steigend ist.

Das Intervall, auf dem f(x) monoton steigend ist, ist oben farblich hervorgehoben.

Das Intervalle, auf denen f(x) monoton steigend ist, sind oben farblich hervorgehoben.

_.each(DDX_INTERVALS_POS, function(interval) { plot(FNX, interval, { stroke: ORANGE, strokeWidth: 16, opacity: 0.7 }); });

Die zweite Ableitung f^{\prime\prime}(x) ist größer als 0 wo die Funktion konvex ist.

Das Intervall, auf dem f(x) konvex ist, ist oben farblich hervorgehoben.

Die Intervalle, auf denen f(x) konvex ist, sind oben farblich hervorgehoben.

_.each(D2DX_INTERVALS_POS, function(interval) { plot(FNX, interval, { stroke: RED, strokeWidth: 6, opacity: 0.8 }); });

Wähle einen Teil der Funktion aus, auf dem beide Konditionen erfüllt und hervorgehoben sind.

graph.slidingWindow.moveTo( (SOLUTION_INTERVAL[1] - SOLUTION_INTERVAL[0]) / 2 + SOLUTION_INTERVAL[0] - 0.5, 0);
function(x) { return DDX(x) > 0 && D2DX(x) < 0; }

Die Funktion f(x) ist unten aufgetragen. Selektiere ein Intervall, wo f^\prime(x) > 0 und f^{\prime\prime}(x) < 0.

Die erste Ableitung, f^\prime(x), ist größer als 0 wenn die Funktion monoton steigend ist.

Das Intervall, auf dem f(x) monoton steigend ist, ist oben farblich hervorgehoben.

Das Intervalle, auf denen f(x) monoton steigend ist, sind oben farblich hervorgehoben.

_.each(DDX_INTERVALS_POS, function(interval) { plot(FNX, interval, { stroke: ORANGE, strokeWidth: 16, opacity: 0.7 }); });

Die zweite Ableitung f^{\prime\prime}(x) ist kleiner als 0 wo die Funktion konkav ist.

Das Intervall, auf dem f(x) konkav ist, ist oben farblich hervorgehoben.

Die Intervalle, auf denen f(x) konkav ist, sind oben farblich hervorgehoben.

_.each(D2DX_INTERVALS_NEG, function(interval) { plot(FNX, interval, { stroke: RED, strokeWidth: 6, opacity: 0.8 }); });

Wähle einen Teil der Funktion aus, auf dem beide Konditionen erfüllt und hervorgehoben sind.

graph.slidingWindow.moveTo( (SOLUTION_INTERVAL[1] - SOLUTION_INTERVAL[0]) / 2 + SOLUTION_INTERVAL[0] - 0.5, 0);
function(x) { return DDX(x) < 0 && D2DX(x) > 0; }

Die Funktion f(x) ist unten aufgetragen. Selektiere ein Intervall, wo f^\prime(x) < 0 und f^{\prime\prime}(x) > 0.

Die erste Ableitung, f^\prime(x), ist kleiner als 0 wenn die Funktion monoton fallend ist.

Das Intervall, auf dem f(x) monoton fallend ist, ist oben farblich hervorgehoben.

Das Intervalle, auf denen f(x) monoton fallend ist, sind oben farblich hervorgehoben.

_.each(DDX_INTERVALS_NEG, function(interval) { plot(FNX, interval, { stroke: ORANGE, strokeWidth: 16, opacity: 0.7 }); });

Die zweite Ableitung f^{\prime\prime}(x) ist größer als 0 wo die Funktion konvex ist.

Das Intervall, auf dem f(x) konvex ist, ist oben farblich hervorgehoben.

Die Intervalle, auf denen f(x) konvex ist, sind oben farblich hervorgehoben.

_.each(D2DX_INTERVALS_POS, function(interval) { plot(FNX, interval, { stroke: RED, strokeWidth: 6, opacity: 0.8 }); });

Wähle einen Teil der Funktion aus, auf dem beide Konditionen erfüllt und hervorgehoben sind.

graph.slidingWindow.moveTo( (SOLUTION_INTERVAL[1] - SOLUTION_INTERVAL[0]) / 2 + SOLUTION_INTERVAL[0] - 0.5, 0);
function(x) { return DDX(x) < 0 && D2DX(x) < 0; }

Die Funktion f(x) ist unten aufgetragen. Selektiere ein Intervall, wo f^\prime(x) < 0 und f^{\prime\prime}(x) < 0.

Die erste Ableitung, f^\prime(x), ist kleiner als 0 wenn die Funktion monoton fallend ist.

Das Intervall, auf dem f(x) monoton fallend ist, ist oben farblich hervorgehoben.

Das Intervalle, auf denen f(x) monoton fallend ist, sind oben farblich hervorgehoben.

_.each(DDX_INTERVALS_NEG, function(interval) { plot(FNX, interval, { stroke: ORANGE, strokeWidth: 16, opacity: 0.7 }); });

Die zweite Ableitung f^{\prime\prime}(x) ist kleiner als 0 wo die Funktion konkav ist.

Das Intervall, auf dem f(x) konkav ist, ist oben farblich hervorgehoben.

Die Intervalle, auf denen f(x) konkav ist, sind oben farblich hervorgehoben.

_.each(D2DX_INTERVALS_NEG, function(interval) { plot(FNX, interval, { stroke: RED, strokeWidth: 6, opacity: 0.8 }); });

Wähle einen Teil der Funktion aus, auf dem beide Konditionen erfüllt und hervorgehoben sind.

graph.slidingWindow.moveTo( (SOLUTION_INTERVAL[1] - SOLUTION_INTERVAL[0]) / 2 + SOLUTION_INTERVAL[0] - 0.5, 0);