Sovellus: Erotusosamäärä

91 days ago by Lauri_Ruotsalainen

Lauri Ruotsalainen, 2011
Sage-ohjelmisto matematiikan opetuksessa
 

Erotusosamäärä

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:


# Sovellus: Erotusosamäärä # Lauri Ruotsalainen, 2011 @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