VERKKOKIRJA

3. Jatkuvuus

Sisältö

  • Funktion raja-arvo
  • Raja-arvo ja jatkuvuus
  • Jatkuvien funktioiden ominaisuuksia

Tässä luvussa määritellään funktion f\colon S\to \mathbb{R} raja-arvo pisteessä x_0. Oletamme, että lukija tuntee ennestään reaalimuuttujan funktion käsitteen ja lukujonon raja-arvon.

Funktion raja-arvo


Olkoon S reaalilukujen osajoukko ja x_0 sellainen piste, että on olemassa jono pisteitä (x_k)\in S\setminus \{x_0\}, joille x_k\to x_0, kun k\to \infty. Usein S on kaikkien reaalilukujen joukko, mutta toisinaan myös väli (avoin, puoliavoin tai suljettu).

Esimerkki 1.

Pisteen x_0 ei tarvitse kuulua joukkoon S. Esimerkiksi jono x_k = 1/k\to 0 joukossa S=\, ]0,2[, kun k\to \infty, ja x_k\in S kaikilla k=1,2,\ldots, mutta 0 ei kuulu joukkoon S.

Funktion raja-arvo

Funktion f\colon S\to \mathbb{R} raja-arvo pisteessä x_0 määritellään seuraavalla tavalla.

Määritelmä 1: Funktion raja-arvo

Olkoon S\subset \mathbb{R} ja f\colon S\to \mathbb{R} funktio. Sanotaan, että funktiolla f on raja-arvo y_{0} pisteessä x_{0}, merkitään \lim_{x \to x_{0}}f(x)=y_{0}, jos f(x_{k})\to y_{0}, kun k\to \infty kaikille niille jonoille (x_{k}) joukossa S\setminus\{x_0\}, joille x_{k}\to x_{0}, kun  k\to \infty.

Esimerkki 2.

Functiolla f\colon \mathbb{R} \to \mathbb{R}, f(x)=x^2, on raja-arvo 0 pisteessä x_0=0.

Funktio y=x^2.

Esimerkki 3.

Funktiolla g\colon\mathbb{R}\to \mathbb{R}, g(x)= \left\{\begin{array}{rl}0, & \text{ kun }x ei ole raja-arvoa pisteessä x_0=0. Tämän todistamiseksi määritellään jonot (x_k), (y_k) asettamalla x_k=1/k ja y_k=-1/k, kun k=1,2,\ldots. Silloin molemmat jonot sisältyvät joukkoon S=\mathbb{R}\setminus \{ 0\} ja niillä on raja-arvona tutkittava piste x_0=0. Kuitenkin f(x_k)=1 ja f(y_k)=0 kaikilla k, joten funktion arvoista muodostetuilla jonoilla on eri raja-arvot.

Funktio g(x)= \left\{\begin{array}{rl}0, & \text{ kun }x

Esimerkki 4.

Funktiolla f(x)=x \sin(1/x), x>0, on raja-arvo 0 pisteessä 0.

Funktio y=x\sin(1/x) arvoilla x>0.

Esimerkki 5.

Funktiolla g(x)= \sin(1/x), x>0, ei ole raja-arvoa pisteessä 0.

Funktio y=\sin(1/x) arvoilla x>0.

Toispuoleiset raja-arvot

Raja-arvon tärkeä ominaisuus on sen yksikäsitteisyys. Tämä tarkoittaa sitä, että tapauksessa \lim_{x\to x_0} f(x)=a ja \lim_{x\to x_0} f(x)=b täytyy olla a=b. Tästä huolimatta voi usein olla hyödyllistä tutkia funktion käyttäytymistä, kun x_k lähestyy tutkittavaa pistettä x_0 vain vasemmalta tai oikealta. Näitä kutsutaan funktion f vasemman- tai oikeanpuoleisiksi raja-arvoiksi pisteessä x_0.

Määritelmä 2: Toispuoleiset raja-arvot

Olkoon S\subset \mathbb{R} ja f funktio, joka on määritelty (ainakin) joukossa S\setminus\{x_0\}. Tällöin funktiolla f has a vasemmanpuoleinen raja-arvo y_{0} pisteessä x_{0}, merkitään \lim_{x \to x_{0}-}f(x)=y_{0}, jos f(x_{k})\to y_{0}, kun k\to \infty kaikille niille jonoille (x_{k}) joukossa  S\cap ]-\infty,x_0[ =\{ x\in S : x < x_0 \}, joille x_{k}\to x_{0}, kun k\to \infty.

Vastaavasti funktiolla f on oikeanpuoleinen raja-arvo y_{0} pisteessä x_{0}, merkitään \lim_{x \to x_{0}+}f(x)=y_{0},, jos f(x_{k})\to y_{0}, kun k\to \infty kaikille niille jonoille (x_{k}) joukossa S\cap ]x_0,\infty[ =\{ x\in S : x_0 < x \}, joille x_{k}\to x_{0}, kun k\to \infty.

Lause 1: Funktion raja-arvo

Funktiolla f\colon S\to \mathbb{R} on raja-arvo y_0 pisteessä x_0 täsmälleen silloin, kun \lim_{x \to x_{0}-}f(x)= \lim_{x \to x_{0}+}f(x)=y_{0}.

Esimerkki 6.

Signum-funktio \mathrm{sgn}(x)= \frac{x}{|x|} on määritelty joukossa S= \mathbb{R}\setminus 0. Pisteessä 0 sen vasemman- ja oikeanpuoleiset raja-arvot ovat \lim_{x\to 0-} \mathrm{sgn}(x)= -1,\qquad
	\lim_{x\to 0+} \mathrm{sgn}(x)= 1. Funktiolla \mathrm{sgn}(x) ei siis ole raja-arvoa 0.

Funktio y = \frac{x}{|x|}.

Esimerkki 7.

Funktiolla f: \mathbb{R}\setminus 0 \to \mathbb{R} f(x) = \frac{1}{x} ei ole toispuoleisia raja-arvoja pisteessä 0.

Laskusääntöjä

Raja-arvojen laskusäännöt seuraavat suoraan vastaavista lukujonojen raja-arvon ominaisuuksista.

Lause 2: Raja-arvon laskusääntöjä

Olkoon c\in \mathbb{R}, \lim_{x\to x_{0}} f(x)=a ja \lim_{x\to x_{0}} g(x)=b. Tällöin

  1. \lim_{x\to x_{0}} (cf)(x)=ca,
  2. \lim_{x\to x_{0}} (f+g)(x)=a+b,
  3. \lim_{x\to x_{0}} (fg)(x)=ab,
  4. \lim_{x\to x_{0}} (f/g)(x)=a/b,  (\text{ jos }  b \neq 0).
Esimerkki 8.

Helpoimmissa tapauksissa raja-arvo saadaan laskemalla f(x_0):

a) \lim_{x\to 2}(5x-3)=10-3=7.

b) \lim_{x\to -2}\frac{3x+2}{x+5} = \frac{-6+2}{-2+5}=-\frac{4}{3}.

c) \lim_{x\to 2} \frac{x^2-4}{x-2} = \lim_{x\to 2} \frac{(x+2)(x-2)}{x-2} = \lim_{x\to 2}(x+2) = 4.

Raja-arvot ja jatkuvuus


Tässä kappaleessa määritellään funktion jatkuvuus. Jatkuvuuden intuitiivinen tulkinta on se, että funktion kuvaaja on yhtenäinen viiva. Tämä ei kuitenkaan ole matemaattisesti riittävän tarkka määritelmä, koska se mm. sisältää epämääräisiä (?) käsitteitä kuten "yhtenäinen" ja "viiva". Tämän perusteella voi esimerkiksi olla vaikea päättää, onko funktio \tan(x) jatkuva vai ei.

Funktion f jatkuvuuteen pisteessä x_0 vaaditaan, että:

  1. f(x_0) on määritelty,

  2. \lim_{x \to x_0} f(x) on olemassa (ja äärellinen),

  3. \lim_{x \to x_0} f(x) = f(x_0).

Toisin sanoen:

Määritelmä 2: Jatkuvuus

Funktio f\colon S\to \mathbb{R} on jatkuva pisteessä x_{0}\in S, jos \lim_{x\to x_{0}}f(x)=f(x_{0}). Funktio f\colon S\to \mathbb{R} on jatkuva, jos se on jatkuva jokaisessa pisteessä x_{0}\in S.

Esimerkki 1.

Olkoon c\in \mathbb{R}. Funktiot f,g,h, jotka on määritelty kaavoilla f(x)=c, g(x)=x, h(x)=|x|, ovat jatkuvia kaikissa pisteissä x\in \mathbb{R}.

Miksi? Jos x_{k}\to x_{0}, niin f(x_{k})=c ja \lim_{k\to \infty}f(x_k)= c=f(x_{0}). Vastaavasti funktiolle g pätee g(x_{k})=x_{k} ja sen vuoksi \lim_{k\to\infty} g(x_k)=x_{0}=g(x_{0}). Samoin h(x_{k})=|x_{k}| ja \lim_{k\to\infty}h(x_k)= |x_{0}|=h(x_{0}).

Jatkuvat funktiot y=c, y=x and y=|x|.

Esimerkki 2.

Olkoon x_{0}\in \mathbb{R}. Määritellään funktio f\colon\mathbb{R}\to \mathbb{R} asettamalla f(x)= \left\{\begin{array}{rl}2, & \text{ kun }x \lt x_{0}, \\
		3, & \text{ kun } x\geq x_{0}.\end{array}\right. Silloin \lim_{x \to x_{0}^{-}}f(x)=2,\text{ ja } \lim_{x \to x_{0}^{+}}f(x)=3. Tämän vuoksi f ei ole jatkuva pisteessä x_{0}.

Seuraavaksi esitellään joitakin jatkuvien funktioiden perusominaisuuksia. Raja-arvosääntöjen avulla (Lause 2) saadaan:

Lause 3.

Jatkuvien funktioiden summa ja tulo ovat jatkuvia. Erityisesti polynomit ovat jatkuvia funktioita. Jos f ja g ovat jatkuvia ja g(x_{0})\neq 0, niin f/g on jatkuva pisteessä x_{0}.

Jatkuvien funktioiden yhdistetty funktio on jatkuva, kunhan se on määritelty:

Lause 4.

Olkoot f\colon \mathbb{R}\to\mathbb{R} ja g\colon \mathbb{R}\to \mathbb{R}. Oletetaan, että f on jatkuva pisteessä x_{0} ja g on jatkuva pisteessä f(x_{0}). Tällöin g\circ f\colon \mathbb{R}\to \mathbb{R} on jatkuva pisteessä x_{0}.

Todistus.

Huom. Jos f on jatkuva, niin |f| on jatkuva.

Miksi?

Merkitään g(x):=|x|. Silloin (g\circ f)(x)=|f(x)|.

Huom. Jos f and g ovat jatkuvia, niin \max (f,g) ja \min (f,g) ovat jatkuvia. (Tässä \max (f,g)(x):=\max \{f(x),g(x)\}.)

Miksi?

Käytetään kaavoja \begin{cases}(a+b)+|a-b|=2\max(a,b), \\
		(a+b)-|a-b|=2\min(a,b). \end{cases}

\text{Funktio }f(x)= \left\{\begin{array}{rl}2, & \text{ kun }x\lt x_{0}, \\
		3, & \text{ kun }x\geq x_{0}. \end{array}\right.

'}], { strokeColor : colors[0], fontSize : 16, visible : true }); l[1] = board.create('text', [-4, 3, function() { return 'y=x'}], { strokeColor : colors[1], fontSize : 16, visible : false }); l[2] = board.create('text', [-4, 3, function() { return 'y=|x|'}], { strokeColor : colors[2], fontSize : 16, visible : false }); g[0] = board.create('functiongraph', [f0, -6, 6], { visible : true, strokeWidth : 1.5, strokeColor : colors[0], highlight : false }); g[1] = board.create('functiongraph', [f1, -6, 6], { visible : false, strokeWidth : 1.5, strokeColor : colors[1], highlight : false }); g[2] = board.create('functiongraph', [f2, -6, 6], { visible : false, strokeWidth : 1.5, strokeColor : colors[2], highlight : false }); var currentGraph = g[0]; var currentLabel = l[0]; select.on('drag', function() { currentGraph.setAttribute({ visible : false }); currentLabel.setAttribute({ visible : false }); currentGraph = g[select.Value()]; currentLabel = l[select.Value()]; currentGraph.setAttribute({ visible : true }); currentLabel.setAttribute({ visible : true, useMathJax : true }); select.setAttribute({ fillColor : colors[select.Value()] }); board.update(); }); board.fullUpdate(); })(); /* Example 2. */ (function() { var board = JXG.JSXGraph.initBoard('jxgbox16', { boundingbox : [-3.5, 4.5, 3.5, -1.25], showcopyright : false, shownavigation : false}); var xaxis = board.create('axis', [[0, 0], [1, 0]]); xaxis.removeAllTicks(); var yaxis = board.create('axis', [[0, 0], [0, 1]], { drawZero : true, ticks : { majorHeight : 5, minorTicks : 0, ticksDistance : 1.0 } }); yaxis.defaultTicks.ticksFunction = function() { return 1; }; var xtick = board.create('segment', [[1, .05],[1, -.1]], { strokeWidth : 1, strokeColor : 'black', strokeOpacity : .4, highlight : false }); var f = function(x) { return 2; } var g = function(x) { return 3; } board.create('functiongraph', [f, -3.5, 1], { strokeColor : 'black', strokeWidth : 2, highlight : false }); board.create('functiongraph', [g, 1, 3.5], { strokeColor : 'black', strokeWidth : 2, highlight : false }); board.create('point', [1, f(1)], { name : '', fillColor : 'white', strokeColor : 'black', strokeWidth : .5, size : 2, fixed : true, showInfobox : false }); board.create('point', [1, g(1)], { name : '', fillColor : 'black', strokeColor : 'black', strokeWidth : .5, size : 2, fixed : true, showInfobox : false }); var x0 = board.create('text', [1, 0, function() { return 'x_{0}'; }], { useMathJax : true }); board.fullUpdate(); })();

Epsilon-delta määritelmä

Seuraavaksi esitetään jatkuvuuden (\varepsilon,\delta)-määritelmä. Tärkein idea on se, että jos f on jatkuva pisteessä x_0, niin funktion arvojen f(x) pitäisi lähestyä arvoa f(x_0), kun x lähestyy pistettä x_0.

Tämä määritelmä yleistyy muillekin kuin tällä kurssilla käsitellyille reaalifunktioille.

Lause 5: (\varepsilon,\delta)-määritelmä

Olkoon f: S\to \mathbb{R}. Tällöin seuraavat ehdot ovat yhtäpitäviä:

  1. \lim_{x\to x_0} f(x)= y_0,
  2. Jokaista \varepsilon> 0 vastaa sellainen \delta >0, että ehdoista x\in S ja 0 < |x-x_0| < \delta seuraa epäyhtälö |f(x) - y_0| .

Todistus.

Esimerkki 3.

Lauseen 3 perusteella tiedämme, että funktio f: \mathbb{R} \to \mathbb{R}, f(x) = 4x, on jatkuva. Tämä voidaan perustella myös käyttämällä (\varepsilon,\delta)-määritelmää.

Todistus. Olkoon x_0 \in \mathbb{R} ja \varepsilon > 0. Tällöin |f(x) - f(x_0)| = |4x - 4x_0| = 4|x - x_0| < \varepsilon, jos |x - x_0| < \delta \text{ ja valitaan } \delta = \frac{\varepsilon}{4}.

Jokaista \varepsilon > 0 vastaa siis sellainen \delta > 0, että ehdosta |x - x_0| < \delta seuraa |f(x) - f(x_0)| < \varepsilon. Lauseen 5 mukaan \lim_{x \to x_0} f(x) = f(x_0) kaikilla x_0 \in \mathbb{R} ja määritelmän mukaan tämä tarkoittaa funktion f: \mathbb{R} \to \mathbb{R} jatkuvuutta.
\square

Kokeile: (\varepsilon, \delta) esimerkissä 3.

'} ], { strokeColor : 'black', fontSize : 12, fixed : true }) var s = board.create('slider', [[-3, 1], [-1.25, 1], [0.05, 2, 2]], { name : '\\varepsilon', unitLabel : '', fillColor : '#bd4444', snapWidth : 0.01, label : { useMathJax : true, strokeColor : '#bd4444', offset : [0, 25] }}); var x1 = board.create('glider', [1/2, 0, xaxis], { name: 'x_{0}', strokeColor : 'black', strokeWidth : .5, fillColor : '#446abd', showinfobox : false, label : { useMathJax : true, strokeColor : '#446abd', offset : [5, 25] } }); /*board.suspendUpdate();*/ var y1 = board.create('point', [0, function(){return f(x1.X());}], { name : 'f(x_{0})', size : 2, strokeColor : 'black', strokeWidth : .5, fillColor : '#bd4444', showinfobox : false, highlight : false, label : { useMathJax : true, strokeColor : '#bd4444', offset : [5, 25] }}); var y2 = board.create('point', [0, function(){return f(x1.X())-s.Value();}], { visible : false }); var y3 = board.create('point', [0, function(){return f(x1.X())+s.Value();}], { visible : false }); var z1 = board.create('point', [function(){return y1.Y()/4;}, function(){return y1.Y();}], { visible : false }); var z2 = board.create('point', [function(){return y2.Y()/4;}, function(){return y2.Y();}], { visible : false }); var z3 = board.create('point', [function(){return y3.Y()/4;}, function(){return y3.Y();}], { visible : false }); var v1 = board.create('segment', [z1, y1], { strokeColor : '#bd4444', strokeWidth : 1, highlight : false }); var v2 = board.create('line', [z2, y2], { strokeColor : '#bd4444', dash : 2, strokeWidth : 1, highlight : false }); var v3 = board.create('line', [z3, y3], { strokeColor: '#bd4444', dash : 2, strokeWidth : 1, highlight : false }); var epsilon = board.create('polygon', [function() { return [-.5, y2.Y()]; }, function() { return [2.5, y2.Y()]; }, function() { return [2.5, y3.Y()]; }, function() { return [-.5, y3.Y()]; }], { fillColor : '#bd4444', fillOpacity : .3, highlight : false, vertices : { visible : false }, borders : { visible : false }}); var h1 = board.create('segment', [function() { return x1; }, function() { return z1; }], { strokeColor : '#446abd', strokeWidth : 1, highlight : false }); var h2 = board.create('segment', [function() { return [z2.X(), 0]; }, function() { return [z2.X(), 8]}], { strokeColor : '#446abd', dash : 2, strokeWidth : 1, highlight : false }); var h3 = board.create('segment', [function() { return [z3.X(), 0]; }, function() { return [z3.X(), 8]}], { strokeColor : '#446abd', dash : 2, strokeWidth : 1, highlight : false }); var delta = board.create('polygon', [h2.point1, h2.point2, h3.point2, h3.point1], { fillColor : '#446abd', fillOpacity : .3, highlight : false, vertices : { visible : false }, borders : { visible : false }}); var txt = board.create('text', [-2.5, .7, function() { return '\\delta = \\epsilon/4 = ' + (s.Value()/4).toFixed(3) + ''; }], { strokeColor : '#446abd', useMathJax : true, fixed : true }); /*board.unsuspendUpdate();*/ board.fullUpdate(); })();
Esimerkki 4.

Olkoon x_{0}\in \mathbb{R}. Määritellään funktio f\colon\mathbb{R}\to \mathbb{R} asettamalla f(x)= \left\{\begin{array}{rl}2, & \text{ jos }x \lt x_{0}, \\
		3, & \text{ jos }x \geq x_{0}.\end{array}\right. Esimerkissä 2 nähtiin, että tämä funktio on epäjatkuva pisteessä x_0. Tämän todistamiseksi (\varepsilon,\delta)-määritelmää käyttämällä täytyy löytää sellainen \varepsilon > 0 ja x_\delta \in \mathbb{R}, että kaikilla \delta > 0 on voimassa |x_\delta - x_0| < \delta, mutta |f(x_\delta) - f(x_0)| > \varepsilon.

Todistus. Olkoon \delta > 0 ja \varepsilon = 1/2. Valitsemalla x_\delta = x_0 - \delta /2 on voimassa 0 < |x_\delta-x_0| = |x_0 - \frac{\delta}{2} + x_0| = \frac{\delta}{2} < \delta, ja |f(x_\delta) - f(x_0)| = |2 - 3| = 1 > \varepsilon. Näin ollen Lauseen 5 perusteella f ei ole jatkuva pisteessä x_{0}.
\square

Kokeile: (\varepsilon, \delta) esimerkissä 4.

', fillColor : '#446abd', label : { useMathJax : true, strokeColor : '#446abd' }}); var x1 = board.create('glider', [0, 0, xaxis], { name:'x_{0}', strokeWidth : .3, strokeColor : 'black', fillColor : '#446abd', showinfobox : false, highlight : false, fixed : true, label : { useMathJax : true, offset : [5, 25], strokeColor : '#446abd' }}); board.suspendUpdate(); var x2 = board.create('point', [ function(){return x1.X()-s.Value();}, 0], { visible : false }); var x3 = board.create('point', [function(){return x1.X()+s.Value();},0], { visible : false }); var y1 = board.create('point', [-2, function() { return f(x1.X()); }], { size : 2, name: 'f(x_{0})', strokeWidth : .3, strokeColor : 'black', fillColor : '#446abd', showinfobox : false, highlight : false, label : { useMathJax : true, offset : [5, 25], strokeColor : '#446abd' } }); var yd = board.create('point', [-2, function() { return f(x2.X()); }], { size : 2, name: 'f(x_{\\delta})', strokeWidth : .3, strokeColor : 'black', fillColor : '#bd4444', showinfobox : false, highlight : false, label : { useMathJax : true, offset : [5, 25], strokeColor : '#bd4444' } }); /* doesn't really do anything atm... */ var dist = function() { if (Math.abs(f(x1)-f(x2.X())) != 0 || Math.abs(f(x1)-f(x3.X())) != 0) { return .5; } else { return 0; } }; var y2 = board.create('point', [0, function() { return y1.Y()-dist(); }], { visible : false }); var y3 = board.create('point', [0, function() { return y1.Y()+dist(); }], { visible : false }); var endpoint1 = board.create('point', [0, 2], { name : '', fixed : true, size : 2, fillColor : 'white', strokeWidth : .5, strokeColor : 'black', showinfobox : false }); var endpoint2 = board.create('point', [0, 3], { name : '', fixed : true, size : 2, fillColor : 'black', strokeWidth : .5, strokeColor : 'black', showinfobox : false }); var v1 = board.create('segment', [x1, function() { return [x1.X(), y1.Y()]; }], { strokeColor : '#446abd', strokeWidth : 1, highlight : false }); var v2 = board.create('line', [x2, function() { return [x2.X(), x2.Y()+1]; }], { strokeColor : '#446abd', dash : 2, strokeWidth : 1, highlight : false }); var v3 = board.create('line', [x3, function() { return [x3.X(), x3.Y()+1]; }], { strokeColor : '#446abd', dash : 2, strokeWidth : 1, highlight : false }); var delta = board.create('polygon', [function() { return [x2.X(), -5]; }, function() { return [x2.X(), 6]; }, function() { return [x3.X(), 6]; }, function() { return [x3.X(), -5]; }], { highlight : false, fixed : true, vertices : { visible : false }, borders : { visible : false }, fillColor : '#446abd', fillOpacity : .2 }); var h1 = board.create('segment', [y1, function() { return [x1.X(), y1.Y()]; }], { strokeColor : '#446abd', strokeWidth : 1, highlight : false }); var h2 = board.create('line', [function() { return y2; }, function() { return [y2.X()+1, y2.Y()]; }], { strokeColor : '#bd4444', dash : 2, strokeWidth : 1, highlight : false }); var h3 = board.create('line', [function() { return y3; }, function() { return [y3.X()+1, y3.Y()]; }], { strokeColor : '#bd4444', dash : 2, strokeWidth : 1, highlight : false }); var epsilon = board.create('polygon', [[-5, 3.5],[10, 3.5],[10, 2.5], [-5, 2.5]], { highlight : false, fixed : true, vertices : { visible : false }, borders : { visible : false }, fillColor : '#bd4444', fillOpacity : .2 }); var txt = board.create('text', [4.2, -1.5, function() { return '\\epsilon = 1/2'/*Math.max(Math.abs(y2.Y() - y1.Y()), Math.abs(y1.Y() - y3.Y())).toFixed(2)*/; }], { strokeColor: '#bd4444', useMathJax : true, fixed : true }); board.unsuspendUpdate(); board.fullUpdate(); })();

Jatkuvien funktioiden ominaisuuksia


Tässä kappaleessa tutustutaan jatkuvien funktioiden tärkeimpiin ominaisuuksiin. Aloitamme jatkuvien funktioiden väliarvolauseella, joka tunnetaan myös nimellä Bolzanon lause. Tämän lauseen erään muotoilun mukaan jatkuva funktio saa kaikki arvot sen maksimin ja minimin väliltä. Intuitiivinen perustelu on se, että jatkuvan funtion kuvaaja on yhtenäinen viiva.

Lause 6: Jatkuvien funktioiden väliarvolause

Jos f\colon [a,b]\to \mathbb{R} on jatkuva ja f(a) \lt s \lt f(b), niin on olemassa aiankin yksi sellainen piste c\in\, ]a,b[, että f(c)=s.

Todistus.

Kokeile siirtämällä katkoviivan korkeutta: Lause 6.

Väliarvolause.

Esimerkki 1.

Määritellään funktio f:\mathbb{R} \to \mathbb{R} kaavalla f(x) = x^5 - 3x - 1. Osoita, että on sillä on ainakin yksi nollakohta eli piste c \in \mathbb{R}, jolle f(c) = 0.

Ratkaisu. Polynomifunktiona f on jatkuva. Lisäksi f(1) = 1^5 - 3 \cdot 1 - 1 = -3 < 0 ja f(-1) = (-1)^5 - 3 \cdot (-1) - 1 = 1 > 0, joten väliarvolauseen nojalla on olemassa sellainen c \in\, ]-1, 1[, että f(c) = 0.

Funktio f(x) = x^5 - 3x - 1.

Esimerkki 2 (kummallinen?).

Olkoon f(x)=x^3-x=x(x^2-1)=x(x+1)(x-1).

By the Intermediate Value Theorem we have f(x) for x or 0 \lt x \lt 1. Similarly, f(x)>0 for -1 \lt x \lt 0 or 1 \lt x, because:

  1. f(x)=0 if and only if x=0 or x=\pm 1, and
  2. f(-2)0, f(1/2) and f(2)>0.

Funktio f(x) = x^3 - x.

'; }], { anchor : l, strokeColor : 'red', fontSize : 13, fixed : true }); var fleft = board.create('text', [.2, 4.4, function() { return 'f(a)'}], { strokeColor : 'black', fontSize : 13, fixed : true }); var fright = board.create('text', [9.1, 7.6, function() { return 'f(b)'}], { strokeColor : 'black', fontSize : 13, fixed : true }); var xleft = board.create('text', [1.1, -.1, function() { return 'a' }], { strokeColor : 'black', fontSize : 13, fixed : true }); var xright = board.create('text', [9.1, -.1, function() { return 'b' }], { strokeColor : 'black', fontSize : 13, fixed : true }); l.on('drag', function() { if(l.point1.Y() >= 7) { l.point1.moveTo([0, 7]); l.point2.moveTo([1, 7]); } else if(l.point1.Y() <= 4) { l.point1.moveTo([0, 4]); l.point2.moveTo([1, 4]); } }); var intersections = []; intersections[0] = board.create('intersection', [l, g, 0], { name : 'f(c)=s', showinfobox : false, label : { fontSize : 13, offset : [0, -15], strokeColor : 'blue', strokeWidth : .5} }); intersections[1] = board.create('intersection', [l, g, 1], { name : 'f(c)=s', showinfobox : false, label : { fontSize : 13, offset : [8, 22], strokeColor : 'blue', strokeWidth : .5} }); intersections[2] = board.create('intersection', [l, g, 2], { name : 'f(c)=s', showinfobox : false, label : { fontSize : 13, offset : [0, -15], strokeColor : 'blue', strokeWidth : .5} }); board.unsuspendUpdate(); })(); /* Example 1. */ (function() { var board = JXG.JSXGraph.initBoard('jxgbox17', { boundingbox : [-3.5, 2.5, 3.5, -3.5], showcopyright : false, shownavigation : false}); var xaxis = board.create('axis', [[0, 0], [1, 0]], { ticks : { majorHeight : 7, minorTicks : 0, drawZero : true } }); var yaxis = board.create('axis', [[0, 0], [0, 1]], { ticks : { majorHeight : 7, minorTicks : 0, drawZero : true } }); xaxis.defaultTicks.ticksFunction = function() { return 1; }; yaxis.defaultTicks.ticksFunction = function() { return 1; }; var f = function(x) { return (Math.pow(x,5)-3*x-1); } board.create('functiongraph', [f, -3.5, 3.5], { strokeColor : 'black', strokeWidth : 2, highlight : false }); board.fullUpdate(); })(); /* Example 2. */ (function() { var board = JXG.JSXGraph.initBoard('jxgbox18', { boundingbox : [-3.2, 2.9, 3.2, -2.9], showcopyright : false, shownavigation : false}); var xaxis = board.create('axis', [[0, 0], [1, 0]], { ticks : { majorHeight : 7, minorTicks : 0, drawZero : true } }); var yaxis = board.create('axis', [[0, 0], [0, 1]], { ticks : { majorHeight : 7, minorTicks : 0, drawZero : true } }); xaxis.defaultTicks.ticksFunction = function() { return 1; }; yaxis.defaultTicks.ticksFunction = function() { return 1; }; var f = function(x) { return (x*x*x-x); } board.create('functiongraph', [f, -3.2, -1], { strokeColor : 'blue', strokeWidth : 2, highlight : false }); board.create('functiongraph', [f, -1, 0], { strokeColor : 'red', strokeWidth : 2, highlight : false }); board.create('functiongraph', [f, 0, 1], { strokeColor : 'blue', strokeWidth : 2, highlight : false }); board.create('functiongraph', [f, 1, 3.2], { strokeColor : 'red', strokeWidth : 2, highlight : false }); board.fullUpdate(); })();

Seuraavaksi osoitetaan, että suljetulla välillä jatkuva funktio on rajoitettu. Tässä on tärkeää, että kyseessä on nimenomaan suljettu väli. Lauseen jälkeinen esimerkki osoittaa, ettei väite pidä paikkaansa avoimille väleille.

Lause 7.

Olkoon f\colon [a,b]\to \mathbb{R} jatkuva. Silloin f on rajoitettu, ts. on olemassa sellainen vakio C, että |f(x)|\le C kaikilla x\in [a,b].

Todistus.

Huom. Jos f\colon ]a,b[\to \mathbb{R} on jatkuva, niin se ei välttämättä ole rajoitettu.

Esimerkki 4.

Olkoon f\colon ]0,1]\to \mathbb{R}, f(x)=1/x. Nyt \lim_{x\to 0+}f(x)=\infty.

Lause 8.

Olkoon f\colon [a,b]\to \mathbb{R} jatkuva. Silloin on olemassa pisteet c,d\in [a,b], joille f(c)\leq f(x)\leq f(d) kaikilla x\in [a,b], ts. f(c) on funktion pienen arvo eli minimi ja f(d) sen suurin arvo eli maksimi välillä [a,b].

Todistus.

Funktio f(x) = 1/x alueessa x > 0.

Esimerkki 5.

Olkoon f\colon [-1,2] \to \mathbb{R}, f(x) = -x^3 - x + 3. Funktion määrittelyjoukko on [-1,2]. Funktion arvojoukon määrittämiseksi osoitetaan ensin, että funktio on vähenevä.

Olkoon x_1 < x_2. Silloin x_{1}^3 < x_{2}^3 ja -x_{1}^3 > -x_{2}^3.

Koska x_1 < x_2, niin -x_1^3-x_1 > -x_2^3 -x_2 ja -x_1^3-x_1 +3 > -x_2^3 -x_2 +3. Näin ollen oletuksesta x_1 < x_2 seuraa f(x_1) > f(x_2), joten funktio f on vahenevä.

Vähenevän funktion minimiarvo on välin päätepisteessä. Näin ollen funktion f:[-1,2] \to \mathbb{R} minimi on f(2) = -2^3 - 2 + 3 = -7. Vastaavasti suurin arvo on väli alkupisteessä, joten funktion f:[-1,2] \to \mathbb{R} maksimi on f(-1) = -(-1)^3 - (-1) + 3 = 5.

Polynomina funktio f on jatkuva, joten se saa kaikki arvot maksimin ja minimin välillä. Näin ollen funktion f arvojoukko on [-7, 5].

Funktio -x^3 - x + 3 välillä [-1, 2].

Esimerkki 6.

Olkoon f polynomi. Silloin f on jatkuva joukossa \mathbb{R} ja lauseen 7 nojalla myös rajoitettu jokaisella suljetulla välillä [a,b], kun a \lt b. Lauseen 3 perusteella funktiolla f on maksimi ja minimi  [a,b].

Huom. Lause 8 liittyy väliarvolauseeseen seuraavalla tavalla:

Jos f\colon [a,b]\to \mathbb{R} on jatkuva, niin on olemassa pisteet x_1,x_2\in [a,b], joille funktion arvojoukko on muotoa f([a,b])=[f(x_1),f(x_2)].