Difference between revisions of "Discontinuous derivative"

From JSXGraph Wiki
Jump to navigationJump to search
Line 6: Line 6:
 
\end{cases}\,.
 
\end{cases}\,.
 
</math>
 
</math>
<math>f</math> is a continous and differentiable.
+
<math>f</math> is a continous and differentiable function.
 
The derivative of <math>f</math> is the function (red curve)
 
The derivative of <math>f</math> is the function (red curve)
 
:<math>
 
:<math>

Revision as of 22:56, 23 March 2021

Consider the function (blue curve)

[math] f: \mathbb{R} \to \mathbb{R}, x \mapsto \begin{cases} x^2\sin(1/x),& x\neq 0\\ 0,& x=0 \end{cases}\,. [/math]

[math]f[/math] is a continous and differentiable function. The derivative of [math]f[/math] is the function (red curve)

[math] f': \mathbb{R} \to \mathbb{R}, x \mapsto \begin{cases} 2\sin(1/x) - \cos(1/x), &x \neq 0\\ 0,& x=0 \end{cases}\,. [/math]

We observe that [math]f'(0) = 0[/math], but [math]\lim_{x\to0}f'(x)[/math] does not exist.

Therefore, [math]f'[/math] is an example of a derivative which is not continuous.

Here is another example:

[math] g: \mathbb{R} \to \mathbb{R}, x \mapsto \begin{cases} x^2(1-x)^2\sin(1/(\pi x(1-x)),& 0 \lt x \lt 1\\ 0,& \mbox{otherwise} \end{cases}\,. [/math]


The underlying JavaScript code

First example:

var board = JXG.JSXGraph.initBoard('jxgbox', {axis:true, boundingbox:[-1/2,1/2,1/2,-1/2]});

var g = board.create('functiongraph', ["2*sin(1/x) - cos(1/x)"], {strokeColor: 'red'});
var f = board.create('functiongraph', ["x^2*sin(1/x)"], {strokeWidth:2});

Second example:

var board = JXG.JSXGraph.initBoard('jxgbox2', {axis:true, boundingbox:[-1/2,0.08,1.5,-0.02]});

var g_der = board.create('functiongraph', ["(0 < x && x < 1) ? ((sin((1 / ((PI * x) * (1 - x)))) * ((2 * (x * ((1 - x)^2))) - (2 * ((x^2) * (1 - x))))) - (((x^2) * ((1 - x)^2)) * (cos((1 / ((PI * x) * (1 - x)))) * (((PI * (1 - x)) - (PI * x)) / (((PI * x) * (1 - x))^2))))) : 0"], {strokeColor: 'red'});
var g = board.create('functiongraph', ["(0 < x && x < 1) ? x^2*(1-x)^2*sin(1/(PI* x*(1-x))) : 0"], {strokeWidth:2});