@interact
def _(f = input_box(default=3*x), g = input_box(default=x^2),
int_vali = input_box(default=(0,3), label="Integrointiväli"),
x_vali = input_box(default=(0,3), label = "Tarkasteluväli"),
gt = checkbox(default=False, label="g"),
erotus = checkbox(default=False, label="f - g")):
f(x) = f; g(x) = g
# Piirretään funktion g kuvaaja ja väritetään f:n ja g:n välinen ala keltaiseksi.
if gt:
g_kuva = plot(g(x), x, x_vali, color="green", thickness=1.5)
g_kuva += plot(g(x), x, int_vali, color="green", fill=f, fillcolor="yellow", fillalpha=0.5)
f_kuva = plot(f(x), x, x_vali, color="blue", thickness=1.5)
tuloste = "$\int_{%s}^{%s}(\color{Blue}{f(x)} - \color{Green}{g(x)})\, dx=\int_{%s}^{%s}({%s})\, dx={%s}$"%(int_vali[0], int_vali[1], int_vali[0], int_vali[1], latex(f(x)-g(x)), (f(x)-g(x)).nintegrate(x, int_vali[0], int_vali[1])[0])
# Piirretään pelkkä funktio f ja väritetään vaaka-akselin ja f:n välinen ala siniseksi.
else:
f_kuva = plot(f(x), x, x_vali, color="blue", thickness=1.5)
f_kuva += plot(f(x), x, int_vali, color="blue", fill=True, fillcolor="blue", fillalpha=0.15)
g_kuva = Graphics()
tuloste = "$\int_{%s}^{%s}(\color{Blue}{f(x)})\, dx=\int_{%s}^{%s}({%s})\, dx={%s}$"%(int_vali[0], int_vali[1], int_vali[0], int_vali[1], latex(f(x)), f(x).nintegrate(x, int_vali[0], int_vali[1])[0])
# Piirretään erotusfunktio sekä väritetään sen ja vaaka-akselin välinen ala punaiseksi.
if erotus:
h_kuva = plot(f(x) - g(x), x, int_vali, color="red", thickness=1.5, fill=True, fillcolor="red", fillalpha=0.15)
tuloste = "$\int_{%s}^{%s}(\color{Red}{f(x)-g(x)})\, dx=\int_{%s}^{%s}({%s})\, dx={%s}$"%(int_vali[0], int_vali[1], int_vali[0], int_vali[1], latex(f(x)-g(x)), (f(x)-g(x)).nintegrate(x, int_vali[0], int_vali[1])[0])
else:
h_kuva = Graphics()
show(f_kuva + g_kuva + h_kuva, gridlines=True)
html(tuloste)
|
|
Click to the left again to hide and once more to show the dynamic interactive window
|