Sovellus: Erotusosamäärä

264 days ago by Lauri_Ruotsalainen

Sovellus: Erotusosamäärä

Lauri Ruotsalainen, 2011

Derivaatan määritelmä perustuu erotusosamäärän raja-arvoon. Pisteessä a funktion f(x) derivaatta on

f'(a)=\lim_{x \rightarrow a}\frac{f(x)-f(a)}{x-a}.

Geometrisesti derivaattaa voidaan havainnollistaa funktion käyrän tangentin kulmakertoimena. Tarkastellaan sovellusta, joka piirtää pisteiden (x0, f(x0)) ja (a, f(a)) kautta kulkevan suoran, esittää sen yhtälön ja laskee kulmakertoimen erotusosamäärän avulla. Funktion f(x) voi vapaasti valita, samoin muuttujien arvot ja tarkasteluvälin.

Kuva:


@interact def erotusosamaara(f = input_box(default=sin(x)), vali = range_slider(0, 10, 0.1, default=(0.0, 10.0), label="Piirtoväli"), a = slider(0, 10, None, 5.5), x0 = slider(0, 10, None, 2.5)): f(x) = f fmax = f.find_maximum_on_interval(vali[0], vali[1])[0] fmin = f.find_minimum_on_interval(vali[0], vali[1])[0] f_korkeus = fmax - fmin # Välin [x0, a] esittämiseen liittyvä grafiikka. alaviiva_y = fmin - 0.1*f_korkeus alaviiva_0 = line2d([(x0, alaviiva_y), (a, alaviiva_y)], rgbcolor="black") alaviiva_1 = line2d([(x0, alaviiva_y + 0.02*f_korkeus), (x0, alaviiva_y-0.02*f_korkeus)], rgbcolor="black") alaviiva_2 = line2d([(a, alaviiva_y + 0.02*f_korkeus), (a, alaviiva_y-0.02*f_korkeus)], rgbcolor="black") teksti_x0 = text("x0", (x0, alaviiva_y - 0.05*f_korkeus), rgbcolor="black") teksti_a = text("a", (a, alaviiva_y - 0.05*f_korkeus), rgbcolor="black") alaviiva = alaviiva_0 + alaviiva_1 + alaviiva_2 + teksti_x0 + teksti_a # Pisteiden (x0, f(x0)) ja (a, f(a)) kulkevan suoran yhtälö. tanf(x) = (f(x0)-f(a))*(x-a)/(x0-a) + f(a) # Esitetään suora ja siihen liittyvä grafiikka. fplot = plot(f(x), x, vali[0], vali[1]) tanplot = plot(tanf(x), x, vali[0], vali[1], rgbcolor=(1,0,0)) pisteet = point([(x0,f(x0)), (a,f(a))], pointsize=20, rgbcolor="#005500") katkoviiva = line2d([(x0,f(x0)), (x0,f(a)), (a,f(a))], rgbcolor="#005500", linestyle="--") show(fplot + tanplot + pisteet + katkoviiva + alaviiva, xmin=vali[0], xmax=vali[1], ymin=fmin-0.2*f_korkeus, ymax=fmax) # Esitetään suoran yhtälö ja kulmakerroin. html("<br>$\\text{Suoran yhtälö:}$") html("$y = %s$<br>"%tanf(x)) html("$\\text{Suoran kulmakerroin:}$") html("$k=\\frac{f(x0)-f(a)}{x0-a}=%s$<br>"%(N(derivative(tanf(x), x), digits=5))) 
       

Click to the left again to hide and once more to show the dynamic interactive window