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(e,r){var n=_.last(e);return _.initial(e).concat([[n[0],r],[r,n[1]]])},[XRANGE]) _.reduce(findRootsNumerically(D2DX,XRANGE),function(e,r){var n=_.last(e);return _.initial(e).concat([[n[0],r],[r,n[1]]])},[XRANGE]) _.filter(DDX_INTERVALS,function(e){return DDX(e[0]+(e[1]-e[0])/2)>0}) _.filter(DDX_INTERVALS,function(e){return DDX(e[0]+(e[1]-e[0])/2)<0}) _.filter(D2DX_INTERVALS,function(e){return D2DX(e[0]+(e[1]-e[0])/2)>0}) _.filter(D2DX_INTERVALS,function(e){return D2DX(e[0]+(e[1]-e[0])/2)<0}) _.reduce(sortNumbers(findRootsNumerically(DDX,XRANGE).concat(findRootsNumerically(D2DX,XRANGE))),function(e,r){var n=_.last(e);return _.initial(e).concat([[n[0],r],[r,n[1]]])},[XRANGE]) _.filter(COMBINED_INTERVALS,function(e){return PREDICATE(e[0]+(e[1]-e[0])/2)}) _.sortBy(SOLUTION_INTERVALS,function(e){return e[0]-e[1]})[0]
Mueve la ventana azul para selecciona parte de la función.
graph.slidingWindow.getX()
var e=_.reduce(_.range(guess,guess+1,.02),function(e,r){return e&&PREDICATE(r)},!0);return graph.moved||e?e:""
graph.slidingWindow.moveTo(guess,0)

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

f(x) = POLYNOMIAL.text()

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

Una función f(x) está graficada abajo. Resalta un intervalo donde f^\prime(x) > 0 y f^{\prime\prime}(x) > 0.

La primera derivada, f^\prime(x), es mayor que 0 donde la función es creciente.

Los intervalos donde f(x) es creciente están resaltados arriba.

Los intervalos donde f(x) es creciente están resaltados arriba.

_.each(DDX_INTERVALS_POS,function(e){plot(FNX,e,{stroke:ORANGE,strokeWidth:16,opacity:.7})})

La segunda derivada, f^{\prime\prime}(x), es más grande que 0 donde sea que la función es cóncava.

El intervalo donde f(x) es cóncava hacia arriba está resaltado arriba.

Los intervalos donde f(x) es cóncava hacia arriba están resaltados arriba.

_.each(D2DX_INTERVALS_POS,function(e){plot(FNX,e,{stroke:RED,strokeWidth:6,opacity:.8})})

Selecciona cualquier parte de la función que esté resaltada por ambas condiciones.

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

Una función f(x) está graficada abajo. Resalta un intervalo donde f^\prime(x) > 0 y f^{\prime\prime}(x) < 0.

La primera derivada, f^\prime(x), es mayor que 0 donde la función es creciente.

Los intervalos donde f(x) es creciente están resaltados arriba.

Los intervalos donde f(x) es creciente están resaltados arriba.

_.each(DDX_INTERVALS_POS,function(e){plot(FNX,e,{stroke:ORANGE,strokeWidth:16,opacity:.7})})

La segunda derivada, f^{\prime\prime}(x), es menor que 0 donde sea que la función es convexa.

El intervalo donde f(x) es cóncava hacia abajo, está resaltado arriba.

Los intervalos donde f(x) es cóncava hacia abajo, están resaltados arriba.

_.each(D2DX_INTERVALS_NEG,function(e){plot(FNX,e,{stroke:RED,strokeWidth:6,opacity:.8})})

Selecciona cualquier parte de la función que esté resaltada por ambas condiciones.

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

Una función f(x) está graficada abajo. Resalta un intervalo donde f^\prime(x) < 0 y f^{\prime\prime}(x) > 0.

La primera derivada, f^\prime(x), es menor que 0 donde la función es decreciente.

El intervalo donde f(x) es decreciente está resaltado arriba.

Los intervalos donde f(x) es decreciente están resaltados arriba.

_.each(DDX_INTERVALS_NEG,function(e){plot(FNX,e,{stroke:ORANGE,strokeWidth:16,opacity:.7})})

La segunda derivada, f^{\prime\prime}(x), es más grande que 0 donde sea que la función es cóncava.

El intervalo donde f(x) es cóncava hacia arriba está resaltado arriba.

Los intervalos donde f(x) es cóncava hacia arriba están resaltados arriba.

_.each(D2DX_INTERVALS_POS,function(e){plot(FNX,e,{stroke:RED,strokeWidth:6,opacity:.8})})

Selecciona cualquier parte de la función que esté resaltada por ambas condiciones.

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

Una función f(x) está graficada abajo. Resalta un intervalo donde f^\prime(x) < 0 y f^{\prime\prime}(x) < 0.

La primera derivada, f^\prime(x), es menor que 0 donde la función es decreciente.

El intervalo donde f(x) es decreciente está resaltado arriba.

Los intervalos donde f(x) es decreciente están resaltados arriba.

_.each(DDX_INTERVALS_NEG,function(e){plot(FNX,e,{stroke:ORANGE,strokeWidth:16,opacity:.7})})

La segunda derivada, f^{\prime\prime}(x), es menor que 0 donde sea que la función es convexa.

El intervalo donde f(x) es cóncava hacia abajo, está resaltado arriba.

Los intervalos donde f(x) es cóncava hacia abajo, están resaltados arriba.

_.each(D2DX_INTERVALS_NEG,function(e){plot(FNX,e,{stroke:RED,strokeWidth:6,opacity:.8})})

Selecciona cualquier parte de la función que esté resaltada por ambas condiciones.

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