a) Osoita, että integraali suppenee aina kun x>0.
b) Johda osittaisintegroimalla palautuskaava
:lle
:n avulla ja osoita sitä käyttäen, että
kun
n=0,1,2,... .
c) Tutustu Gamma-funktioon piirtämällä Maplella tai Matlabilla. Huomaa, että Matlabissa ei ole muuta tapaa n!:n laskemiseen kuin Gamman avulla.
n=10,c=1:n,c=gamma(c+1),c=1./c,c=[1,c]
Huomaa, että kertoimet ovat kasvavan potenssin mukaan, joten jos/kun halutaan
laskea polyval-funktiolla arvoja, on tehtävä
y=polyval(fliplr(c),x);
a) Piirrä exp-funktio ja sen Taylorin polynomit Tk(x,0), arvoilla
.
b) Suorita Maple-komento
seq(eval(subs(x=0,diff(exp(x),x$k) )),k=1..5);
Se antaa varmasti idean, miten Maplen ja Matlabin yhteistyöllä voi kätevästi
laskea minkä tahansa funktion Taylorin polynomeja x-vektorissa.
Muodosta tällä tavoin joidenkin funktioiden Taylor-polynomitaulukoita
ja kuvia.
c) Muodosta ja piirrä edellisiä suoraan Maplella .
d) Kirjoita edellä olevat ideat (pieneksi, 2-3 komentoa) funktioksi taypolkert, joka yksinkertaisesti ottaa argumentikseen (Vaikkapa Maplella saatavan ) derivaattajonon, jossa siis käsiteltävän funktion derivaatat on laskettu kehityskeskuksessa. Funktion tulee palauttaa Taylorin polynomin kerroinjono. (Laskentapiste ei näy Matlab-funktiossa argumenttina, se tulee mukaan jo Maple (tai kynä/paperi)-vaiheessa.) Palauta kertoimet alenevien potenssien mukaan, siis ``polyval-sopivasti''. Alku voisi olla tällainen:
function kertoimet=taypolkert(derjono) % Lasketaan Taylorin polynomin kertoimet. Asteluku määräytyy % derjonon pituudesta % derjono: [f(x0),f'(x0),f''(x0),...] % pisteet, joissa lasketaan
Testaa funktiotasi ainakin samoilla kuin ennen funktion tekoa.
Voi tietysti olla, että haluat mieluummin kirjoittaa funktion muodossa
function y=taypol(derjono,x) . Tällöin polyval on mukana ja arvot
lasketaan siis vektorissa x. No, tee miten haluat!
Vertaa laskemaasi approksimaatiota Maplen evalf(Int(..)); - komennon antamaan arvoon.
Pohdittavaksi: Onko Taylorin polynomin käyttö hyvä numeerisen integroinnin menetelmä? Missä tapauksessa on ja missä ei?
Kokeile integroida Maplella, kenties tulos on hieman yllättävä, laske numeerinen approksimaatio evalf:lla.
Suorita with(student): ja kokeile funktioita trapezoid ja simpson. Huomaa, että integroitava on singulaarinen päätepisteessä, joten näillä täytyy jättää väli hieman vajaaksi. Pääsetkö lähelle oikeaa tulosta näillä välineillä. Katso myös kuvia, niin integrandista kuin integraalifunktiostakin (Niin, Maple osaa tosiaankin sellaisen muodostaa!)