Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos

mplAritmetiikka

1. SIIRRETTY (cp) mplPerusteet-hakemistoon: mplP005.tex

Etsi lukujen 1234^{3243} ja 7681 suurin yhteinen tekijä.

Vihje: Suurin yhteinen tekijä lasketaan funktiolla igcd. Jos myös kertoimet halutaan tietää, kannattaa käyttää funktioita igcdex.

mplCurve fitting

2. H2T12.tex/mlCF07.tex/mplCF07.tex // Matlab,Maple,[Mathematica]

W.A Mozartin(1756-1791) sävellyksiä indeksoidaan Köchel-luvuilla, jotka ilmaisevat teosten sävellysjärjestyksen. Alla on eräitä Köchel-lukuja, ja vastaavien teosten sävellysvuosia.

 Number    Year
 1         1761
 75        1771
155        1772
219        1775
271        1777
351        1780
425        1782
503        1786
575        1789
626        1791

Käyttäen tätä dataa, arvioi teoksen Sinfonia Concertanten sävellysvuosi, kun tiedetään, että sen Köchel-numero on 364.

Vihje: Piirrä ensin datapisteet tasoon, ja päätä millaista menetelmää kannattaa käyttää. Epäilemättä sopivan asteista PNS-polynomia. Suorita joitakin sovituksia, ja tarkista sitten tulos vaikka Wikipediasta.

3. Maple tai Matlab Tutkitaan nk. Rungen ilmiötä. Laske funktion g(x) = 1/(1+x^{2}) arvoja tasaisin välein väliltä [−5, 5], ja tee näihin pisteisiin perustuva polynominen interpolaatio. Piirrä sekä g(x) että P (x) samaan kuvaan. Mitä huomaat, kun valittujen datapisteiden määrää tihennetään?

Kokeile interpolointia silloin, kun datapisteitä ei valita tasavälisesti, vaan ne valitaan Chebyshev-pisteiden

x_{j} = 5 cos(\frac{jπ}{N} ), j = 0 …N

mukaan.

Vihje: Polynominen interpolaatio kannattaa tehdä MATLAB-funktiolla polyfit. Funktio g kannattaa määritellä funktiokahvan avulla: g = @(x)1./(1+x.^2). Tasavälisiä pisteistä saa funktiol-

la linspace

Sopii aivan yhtä hyvin Maplelle.

4. H2T5.tex/mplCF01.tex

Hermiten interpolaatio: Interpolaatioehdoissa esiintyy myös derivaattoja.

Määritä 4. asteen polynomi p, joka toteuttaa ehdot:

p(0) = p′(0) = 1, p(1) = p′(1) = p′′(1) = 2.

(a) Käsittele polynomi lausekkeena. Tarkista tulos sopivasti subs-komennoilla ja piirrä kuva/kuvia polynomista ja derivaatoista.

(b) Käsittele polynomi funktiona.

Huom: 5 ehtoa ja 5 tuntematonta kerrointa ⟹ järkevän tuntuinen tehtävä. Yleisesti “järkevälläkään” Hermiten interpolaatiotehtävällä ei aina ole yksikäsitteistä ratkaisua (kuten ei neliömatriisin määräämällä lineaarisella yhtälöryhmälläkään – siitähän on kyse). Pelkkiä funktion arvoja koskevalla interpolaatiotehtävällä aina on (koska “Vandermonden neliömatriisi” on aina ei-singulaarinen). Tässä opetellaan erityisesti Maplen kätevää ratkaisutekniikkaa.

Vihje: Kirjoita polynomi lausekkeeksi tyyliin:

p:=a*x^4+b*x^3 + .... ,

missä a, b, …, e ovat määrättävät kertoimet. Derivaatta: diff Arvojen (x=0,x=1) sijoittaminen p:n lausekkeeseen: subs Yhtälön ratkaiseminen: solve Kaikista saat tietoa näin ?diff, ...

5. mplCFxx.tex, mlCFxx.tex (H2T7.tex)

Opettajalle: (a)-kohta sopii ensitutustumiseen. (b)-kohta on sikäli huono, että virhetermin suuruusluokka on toisesta maailmasta (opettavaista kylläkin, mutta alkajaisiksi vaatii ainakin varoituksen). Lisää tehtävän opetuksia ratkaisutiedostoissa.

(a) Muodosta interpolaatiopolynomi pisteistölle, joka saadaan laskemalla funktion cos(1 + x^{2}) arvot tasavälisessä x-pisteistössä, jossa on 7 pistettä välillä [0, 3].Piirrä samaan kuvaan funktio, datapisteet ja interpolaatiopolynomi.

(b) Arvioi (Lagrangen) interpolaatiokaavan virhetermin avulla interpolaatiovirheen yläraja yo. välillä ja vertaa todelliseen.

Lause Olkoot x_{0}, x_{1}, …, x_{n} erilliset pisteet ja f (n+1) kertaa jatkuvasti derivoituva funktio x_{k}−pisteet sisältävällä välillä. Jos p_{n} on (1-käs) dataan (x_{k}, f(x_{k})) liittyvä interpolaatiopolynomi, niin

f(x) − p_{n}(x) = \frac{f^{n+1} (ξ)}{(n + 1)!} (x − x_{0})(x − x_{1}) ⋯ (x − x_{n}).

Vihje: Tässä on mahdollista harrastaa Maplen ja Matlabin yhteistyötä. Virhekaavan derivaatta muodostetaan tietysti Maplella ja lauseke sievennetään. Itse asiassa piirtämällä ja poimimalla kuvasta maksimipisteen koordinaatit, saadaan riittävän hyvä arvio. Toinen mahdollisuus on käyttää Matlabin symbolic toolboxia.

Tulotermin voisi hoitaa tehokkaimmin Matlabissa ottamalla tiheän diskretoinnin ja käyttämällä max-funktiota. Maplessakin on max-funktio, lakenta on Matlabissa tehokkaampaa. Miten tulotermi lasketaan Matlabissa? Vaikka tähän tapaan:

1. x=linspace(....,N)

2. Tedään matriisi X, jossa x-vektoreita allekkain n+1 kpl.

3. Tehdään matriisi X0, jossa rivit

           x0 x0 ... x0   N kpl.
           x1 x1 ... x1   N kpl.
            ...
           xn xn ... xn   N kpl.

Nämä syntyvät vaikka meshgrid-komennolla tai ulkotuloilemalla ykköspystyvektorilla.

4. Vähennetään matriisit ja prod()). Sitten vain abs ja max kehiin.

Tosi Matlabmaista! (Ei moitita, vaikka tekisit for-loopin, vain 8 kertaa käydään, mutta hyvä ymmärtää Matlabin hienoa matriisiajattelua, muistiahan ei nykyisin tarvitse säästellä.)

Avainsanat: Interpolaatio, käyrän sovitus, interpolaatiovirhe, Lagrange 6. H2T12.tex/mlCF07.tex/mplCF07.tex // Matlab,Maple,[Mathematica]

W.A Mozartin(1756-1791) sävellyksiä indeksoidaan Köchel-luvuilla, jotka ilmaisevat teosten sävellysjärjestyksen. Alla on eräitä Köchel-lukuja, ja vastaavien teosten sävellysvuosia.

     Number    Year
     1         1761
     75        1771
    155        1772
    219        1775
    271        1777
    351        1780
    425        1782
    503        1786
    575        1789
    626        1791

Käyttäen tätä dataa, arvioi teoksen Sinfonia Concertanten sävellysvuosi, kun tiedetään, että sen Köchel-numero on 364.

Vihje: Piirrä ensin datapisteet tasoon, ja päätä millaista menetelmää kannattaa käyttää. Epäilemättä sopivan asteista PNS-polynomia. Suorita joitakin sovituksia, ja tarkista sitten tulos vaikka Wikipediasta.

7. H2T14.tex/mlCF13.tex/mplCF13.tex Matlab,Maple,[Mathematica]

Yhdysvaltojen perustuslaki vaatii, että maassa suoritetaan joka kymmenes vuosi väestönlaskenta. Ohessa on väestönlaskennan tuloksia sadoissa miljoonissa asukkaissa viime vuosisadalta.

1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 76 92 106 122 132 150 179 203 226 248

Tee polynomi-interpolointi datalle, ja ennusta väestön määrä vuonna 2010. Kuinka ennusteesi suhtautuu laskennan todelliseen tulokseen: 308,745,538 laskettua asukasta?

Sovita myös eriasteisia PNS-polynomeja, vrt. Matlab Censusgui, lue Molerista:

http://www.mathworks.se/moler/interp.pdfNum. Comp. with Matlab, interpo-

lation

Vihje:

Differentiaaliyhtälöt

8. mplD001.tex (infoverkostot (iv) s. 2001) Ratkaise yhtälö

\frac{dy}{dt} = ty

.

a.) Muodosta yleinen ratkaisu.

b.) Määritä vakio _C1 alkuehdolle y(0) = 1.

c.) Ratkaise alkuarvotehtävä suoraan dsolve:lla.

Vihje: Maplen funktio dsolve. b)-kohdassa voit ottaa ratkaisulausekkeen rhs (Righthand side) kiinni. Tarvitset lisäksi komentoja

subs ja solve

c) ?dsolve, [HAM] ss. 162-165

Ratkaisu:

 > dyht := diff(y(t), t) = t*y(t)
 a)
 > ylratk := dsolve(dyht, y(t))
 b)
 > Y := rhs(ylratk)
 > solve(subs(t = 0, Y) = 1, _C1)
 Huom! Dokumenttimoodissa alaviiva pudottaa kursorin alaindeksitasolle.
 "copy/paste" tarvitaan _C1:lle.
 > eval(%)
c)
 > dsolve({dyht, y(0) = 1}, y(t))

9. mplD002.tex (infoverkostot (iv) s. 2001)

Ratkaise differentiaaliyhtälö sijoittamalla ratkaisuehdotus (REh) annettuun yhtälöön tai esim. integroimalla, arvaamalla tms.:

(a) y′+y = x^{2}−2, REh: y = Ce^{−x} +x^{2}−2x (b) y′′+y = 0, REh: y = a cosx+b sinx

(c) y′′′= e^{x}, (d) x + yy′= 0, REh: x^{2} + y^{2} = C (C > 0, vakio).

Vihje: (d)-kohta: Derivoi implisiittisesti, ts. oleta, että on olemassa derivoituva funktio x ↦ y(x) s.e. x^{2} + y(x) = C ja derivoi puolittain. (Tässä tapauksessa olemassaolo tiedetään, onhan y(x) = \sqrt{C − x^{2}} tällainen. Tämän eksplisiittisen lausekkeen käyttö ei silti kannata, se vain mutkistaa asioita, olkaamme siis implisiittisiä.)

Ratkaisu: mplD002R.mw ja .pdf ON

10. mplD003.tex [Matlab-versio: ...mlD002.tex] (iv3/2001, harj. 1, teht. 2) Millä xy-tason käyrillä on ominaisuus: Käyrän tangentin kulmakerroin jokaisessa pisteessä (x, y) on −\frac{4x}{y} ?

Ratkaise yhtälö muuttujien erottelulla (“separation of variables”). Piirrä suuntakenttä isokliineja apuna käyttäen käsin vaikkapa alueessa [−2, 2] × [−2, 2].

Ota sitten Maple avuksi. Kokeile ja selitä!

Vihje: Kts. [HAM] ss. 169-170

> with(DEtools)
> with(plots)

Suuntakenttään:DEplot, grafiikkojen yhdistämiseen: display. Suoraparven saat tyyliin

> yparvi:=seq(...,c=[-2,-1,-.5,.5,2,1]) # tms.
> isokl:=plot([yparvi],x=...)

Yleisemmin isokliinit saadaan piirretyksi implicitplot-funktiolla, mutta tässä saatiin ratkaistussa muodossa suoraan.

Avainsanat:MapleDy, diffyhtälöt, suuntakenttä, isokliinit, mplDifferentiaali(yhtälöt)

Viitteet: [HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Mapleohjelmalla, Otatieto 588, 1998 11. mplD004.tex [Matlab-versio: ...mlD004.tex] (iv3/2001, harj. 1, LV teht. 1-2)

Laskuvarjohyppääjän yhtälö. Oletetaan, että hyppääjän + varustuksen massa = m ja ilmanvastus on verrannollinen nopeuden neliöön, olkoon verrannollisuskerroin = b. Tällöin Newtonin 2. laki antaa liikeyhtälön:

mv′= mg − bv^{2}.

Olkoon yksinkertaisuuden vuoksi m = 1, b = 1 ja g = 9.81m/s^{2}.

Piirrä suuntakenttä.

Oletetaan, että laskuvarjo aukeaa, kun v = 10m/s, valitaan tämä alkuhetkeksi t = 0. Piirrä tämä ratkaisukäyrä suuntakenttäpiirrokseen. Yritä nähdä suuntakentästä, että kaikki ratkaisut näyttävät lähestyvän rajanopeutta v ≈ 3.13 ja että ratkaisut ovat joko kasvavia tai pieneneviä (ja millä alkuarvoilla mitäkin, ja mitä tarkoittaa fysikaalisesti)

Määritä rajanopeus suoraan yhtälöstä.

Käytä Matlab-piirroksiin funktiota dfield8 ja Maplessa DEtools-kirjaston DEplotfunktiota.

Vihje: Kts. [HAM] ss. 169-170 tai ?DEplot

> with(DEtools)
> with(plots)

Suuntakenttään:DEplot, grafiikkojen yhdistämiseen: display. dfield-ohje: Hae m-tiedosto dfield8 sivulta http://math.rice.edu/~dfield/ ja sijoita se Matlab-polkusi varrelle. Kirjoita Matlab-istuntoon : dfield8

Avainsanat: MatlabDy, MapleDy, diffyhtälöt, suuntakenttä, isokliinit, mplDifferentiaali(yhtälöt), mlDifferentiaali(yhtälöt)

Viitteet: [HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Mapleohjelmalla, Otatieto 588, 1998 12. mplD005.tex (iv3/2001, harj. 1, LV teht. 2)

Muodosta edellä olevan laskuvarjotehtävän (mplD004) analyyttinen ratkaisu muuttujien erottelulla. Määritä edellä mainittu (v(0) = 10)-ratkaisukäyrä. Tarkista ratkaisu Maplella ja kokeile lopuksi Maplen dsolve- komentoa. (Ohje [HAM]-kirjassa.)

Vihje: Ohje analyyttiseen: Muistathan, että osamurtohajoitelma on hyödyllinen rationaalilausekkeen integroinnissa (Maple: convert(lauseke,parfrac,muuttuja); mutta osattava myös käsin).

Avainsanat: MapleDy, diffyhtälöt, muuttujien erottelu, mplDifferentiaali(yhtälöt), mlDifferentiaali(yhtälöt)

Viitteet: [HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Mapleohjelmalla, Otatieto 588, 1998

13. mplD006.tex (iv3/2001, harj. 1, LV teht. 3) Vaihdamme tässä LAODE-tyyliseen notaatioon: t on riippumaton muuttuja, x on “riippuva” muuttuja. Kannattaa totutella eri tyyleihin.

Ratkaise alkuarvotehtävä x′ = \frac{x}{2} − e^{−t} , x(0) = −1. Kyseessä on lineaarinen epähomogeeninen (EHY). Tämä lasku ei edellytä mitään uutta muuttujien erottelun lisäksi (ainoastaan uskomista), kaikki on tässä neuvottu.

Suorita ratkaisu näin:

• Ratkaise ensin vastaava (HY) x′= \frac{x}{2} (yleinen ratkaisu).

• Yritä keksiä jokin (EHY):n erityisratkaisu (siis mikä tahansa (EHY):n toteuttava). Keksiminen on helppoa, kun mietit exp-funktion derivointia. (Määräämätön kerroin ratkaistaan sijoittamalla yrite (EHY):yyn).

Lineaaristen teoria sanoo, että (EHY):n yleinen = (HY):n yleinen + (EHY):n erikoinen.

Piirrä myös suuntakenttä ja ratkaisukäyriä (Maple: DEtools[DEplot], Matlab:

dfield8 tai suuntak1).

Miten näet suuntakentästä, että yhtälö ei ole autonominen?

Avainsanat: MapleDy, lineaariset diffyhtälöt, mplDifferentiaali(yhtälöt)

Viitteet: [LAODE] Golubitzky-Dellnitz: Linear Algebra and Differential Equations using Matlab, Brooks/Cole 1999.

14. mplD007.tex (iv3/2001, harj. 2, AV teht. 1) Ratkaise (AA)-tehtävä y′− 2xy = 1, y(0) = −0.5

Tässä näyttää siltä, että (EHY):n erikoinen olisi helppo löytää, mutta huomaat pian, että luonnolliset yritteet eivät toimi. (Kyseessähän on lineaarinen, mutta eivakiokertoiminen yhtälö.)

Ratkaise vaan sitten kiltisti integroivan tekijän menettelyllä.

Integrointi johtaa erf-funktioon, Maple antaa sen suoraan, voit myös konsultoida KRE-kirjaa hakusanalla erf. Lausu siis ratkaisu erf:n avulla.

Piirrä suuntakenttäpiirros Maplen DEtools-pakkauksen DEplot-funktion avulla (kts [HAM] s. 169), voit toki käyttää myös Matlab:n dfield8-funktiota (ohje alla).

Valitse alkuarvoja y_{0} väliltä (−1, −0.5) yrittäen löytää kriittistä arvoa y_{0}, joka jakaa ratrkaisukäyrät plus tai miinus ääretöntä lähestyviin. (Tuo kriittinen ratkaisukäyrä on rajoitettu.) Käytä hyväksesi erf-funktion ominaisuutta lim_{x→∞} erf(x) = 1 laskeaksesi tarkan arvon y_{0}:lle.

Vihje: dfield-ohje: Hae m-tiedosto dfield8 sivulta http://math.rice.edu/~dfield/ ja sijoita se Matlab-polkusi varrelle. Kirjoita Matlab-istuntoon : dfield8

Avainsanat: MapleDy, diffyhtälöt,erf, mplDifferentiaali(yhtälöt)

Viitteet: [KRE] E. Kreyszig: Advanced Engineering Mathematics, Wiley

[HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.

15. mplD008.tex (iv3/2001, harj. 2, AV teht. 2) Tarkastellaan (AA)-tehtävää xy′= 4y, y(0) = 1.

(a) Osoita, että tehtävällä ei ole ratkaisua. Osoita, että tämä ei ole ristiriidassa ∃_{1}- lauseen kanssa. (Huom: Lauseen avulla ei voi todistaa epäeksistenssiä, koska lauseen ehdot eivä ole välttämättömät.)

(b) Vaihdetaan alkuehdoksi: y(0) = 0. Miten nyt on ratkaisujen laita.

(c) Mitä voit sanoa alkuehdon y(x_{0}) = y_{0} tapauksessa, jos x_{0} ≠ 0, (A) suoraan ratkaisukaavan avulla, (B) ∃_{1}-lauseen avulla.

Vihje: Tämä on puhtaasti “perinteinen” tehtävä, mutta havainnollistus Maple/Matlab-välineillä on hyvinkin paikallaan.

Avainsanat: diffyhtälöt, ratkaisun (epä)olemassaolo, eksistenssilause, mplDifferentiaali(yhtälöt)

16. mplD009.tex (iv3/2001, harj. 2, AV teht. 3) Muodosta Picardin iteraatiojonon muutama termi (AA)-tehtäville

(a) y′= x + y, y(0) = 0 (b) y′= x + y, y(0) = −1

(c) y′= y^{2}, y(0) = 1.

Määritä myös tarkka ratkaisu.

Vihje: LV-tehtävässä palataan asiaan Maple-hommana. Tämä on tyypillistä symbolilaskennan vahvuusaluetta.

Avainsanat: diffyhtälöt, ratkaisun (epä)olemassaolo, Picard-Lindelöf-menetelmä, Picardin iteraatio, mplDifferentiaali(yhtälöt)

17. Ratkaise yhtälö \frac{dy}{dt} = ty.

Vihje: Maplen funktio dsolve.

18. mplD010.tex (iv3/2001, harj. 2, LV teht. 1) Muodosta Picardin iteraatiojonoa pitemmälle kuin AV-tehtävässä samoille (AA)- tehtäville (a), (b), (c) ja lisäksi vielä (d): lle.

(a) y′= x + y, y(0) = 0 (b) y′= x + y, y(0) = −1

(c) y′= y^{2}, y(0) = 1. (d) y′= 3\frac{y}{x}

Laske myös tarkka ratkaisu Maplella ja piirrä se ja iteraatiojonon funktioita. (Jos tuntuu liian pitkältä, niin jätä yksi pois, hyvä olis saada kaikki yhteisesti katetuksi (vaikka parityöskentelyssä sopimalla).

Vihje: Malli: Aputiedostossa mplD010apu.zip on L4Picard.mw,L4Picard.pdf,L4exa2.mw, L4exa2.pdf, kts. myös [HAM] ss. 162–165 (dsolve)ja s. 126 Picard–Lindelöf

Avainsanat: diffyhtälöt, Picard-Lindelöf-menetelmä, Picardin iteraatio, mplDifferentiaali(yhtälöt) Viitteet: [HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Mapleohjelmalla, Otatieto 588, 1998.

19. mplD011.tex

(a) Sovella Picardin iteraatiota (tuttuakin tutumpaan) (AA)-tehtävään

y′= y, y(0) = 1. Osoita, että iteraatiojono lähestyy ratkaisufunktiota y(x) = e^{x} .

(b) (Olkoon vaihteeksi x(t) .) Olkoon alkuarvotehtävänä edelleen x′= x, x(0) = 1.

Osoita, että jos lasketaan likiarvo x_{n} = x_{h}(t_{n}) EM:llä pisteessä t = t_{n} käyttäen askelpituutta h, niin x_{h}(t_{n}) = c(h)^{t_{n}}, missä c(h) = (1 + h)^{1/h}.

Osoita tämän nojalla, että kiinteällä t = t_{n} pätee lim_{h→0} x_{h}(t) = e^{t}.

Vihje: Tehtävässä tuskin tarvitaan ohjelmistoja. EM = Eulerin menetelmä

20. mplD012.tex Seuraava toistokäsky soveltaa Eulerin menetelmää alkuarvotehtävän y′ = sin(xy), y(0) = 1 ratkaisun likiarvon y(1) laskemiseen. Kokeile käskyjä askelpituuksilla h = 0.25, h = 0.1, h = 0.01 ja h = 10^{−4} . Mikä menee pieleen viimeisessä kohdassa?

f:=(x,y)-> sin(x*y);
Digits:= 4;
n:= 4;
h:=1/n;
y[0] := 1;
for k from 0 to n-1 do      #  (paina tässä kohti Shift+Enter)
y[k+1]:= evalf(y[k]+h*f(k*h,y[k])) #    (samoin)
end do;

Piirrä Eulerin murtoviivat eri väreillä samaan koordinaatistoon.

Vihje: Datan piirto sujuu nykyisin “Matlab-tyylisesti”:

 > xlista:=[seq(j*h,j=0..n)];
 > ylista:=[seq(y[j],j=0..n)]
 > plot(xlista,ylista)

[HAM]-viitteessä ss. 94-96 esitetyt tavat pisteparien listana toimivat myös, mutta s. 96 zip-temppu ei ole enää tarpeen.

Viitteet: [HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Mapleohjelmalla, Otatieto 588, 1998.

21. mplD013.tex Ratkaise alkuarvotehtävä

y′′+ 3y′+ 3y = 1 − e^{−x} , y(0) = 2, y′(0) = 0,

ja piirrä ratkaisun kuvaaja välillä 0 ≤ x ≤ 10.

Vihje: Diffyhtälön saat ratkaistua komennolla dsolve. Yhtälössä esiintyvät derivaatat voit ilmoittaa komennolla diff, ja derivaatan pisteessa 0 voit ilmaista derivaattaoperaattorilla D(y)(0).

22. mplD014.tex Maple,Matlab

a) Ratkaise alkuarvotehtävä

y′− y = cosx, y(0) = 1

analyyttisesti Maplella ja numeerisesti Matlabilla. Piirrä ratkaisukäyrä.

b) Anna alkuarvoksi symboli c ja piirrä ratkaisukäyräparvi sopivalla välillä, kun c = −0.9, −0.8, …, 0.

Miltä parvi näyttää suurilla x :n arvoilla. Tässä pitäisi erottua kolmenlaista käytöstä.

Vihje: Maple: dsolve, Matlab: ode45

Avainsanat: Differentiaaliyhtälö, alkuarvotehtävä, analyyttinen ratkaisu, numeerinen ratkaisu.

Viitteet: Coombes et al: Differential equations with Maple, Wiley Boyce - DiPrima’s: Elementary Differential Equations and Boundary Value Problems,Wiley 23. mplD015.tex Maple,Matlab

Tarkastellaan (AA)-tehtävää

y′= \frac{3t^{2}}{(3y^{2} − 4)} , y(1) = 0.

(a) Laske EM:llä ratkaisuapproksimaatiot pisteissä t = 1.2, 1.4, 1.6, 1.8 käyttäen askelta h = 0.1 .

(b) Tee sama askeleella h = 0.05 .

(c) Vertaa tuloksia.

(d) Piirrä suuntakenttä ja ratkaisuapproksimaatioita, sekä EM-ratkaisuja. Osaatko selittää, miksi EM toimii kohtuullisesti alussa, mutta kelvottomasti lopussa?

Vihje: Eulerin menetelmää voi tässä käyttää ohjelman (MMM) laskintyylillä, kuten edellä tai sitten oikeaksi funktioksi koodatulla versiolla, annetaan tässä nuo koodit.

Eulerin menetelmän koodit (sisältyvät myös apupakettiin *apu.zip): Maple: [HAM s. 206] (copy/paste → Maple-istuntoon)

Euler:=proc(f,a,b,ya,m)
local n,h,t,y;
h:=evalf((b-a)/m);
t[0]:=a;y[0]:=ya;
for n from 0 to m do
  y[n+1]:=y[n]+h*f(t[n],y[n]);
  t[n+1]:=t[n]+h;
end do;
seq([t[n],y[n]],n=0..m);
end:

Esim: y′ = t − y^{2}

f:=(t,y)->t-y^2;
e3:=Euler(f,0,5,1,3);
plot([e3]);

Matlab: (Kts. vastaava Matlab-teht.)

Avainsanat: Differentiaaliyhtälö, alkuarvotehtävä, analyyttinen ratkaisu, numeerinen ratkaisu.

Viitteet:

[KRE] E. Kreyszig: Advanced Engineering Mathematics, Wiley

[HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.

24. mplD016.tex (vrt. Matlab: mlD007.tex) Tarkastellaan (AA)-tehtävää

y′= \frac{2\sqrt{y − lnt}}{t} + \frac{1}{t}, y(1) = 0

välillä t ∈ [1, 1.8] Ratkaise tehtävä

a) Eulerin menetelmällä askelpituudella h = 0.1,

b) Heunin menetelmällä askelpituudella h = 0.2,

c) RK4- menetelmällä askelpituudella h = 0.4.

Määritä tarkka ratkaisu Maple:n dsolve-komennolla ja laske sen avulla virheet, piirrä ja taulukoi kussakin tapauksessa.

Huomaa, että näillä askelpituuksien valinnoilla funktion arvojen laskentamäärät ovat samat.

Vihje: Eulerin menetelmän koodit (sisältyvät myös apupakettiin mplD016apu.zip): Maple: [HAM s. 206] (copy/paste → Maple-istuntoon)

Euler:=proc(f,a,b,ya,m)
local n,h,t,y;
h:=evalf((b-a)/m);
t[0]:=a;y[0]:=ya;
for n from 0 to m do
  y[n+1]:=y[n]+h*f(t[n],y[n]);
  t[n+1]:=t[n]+h;
end do;
seq([t[n],y[n]],n=0..m);
end:

Esim: y′ = t − y^{2}

f:=(t,y)->t-y^2;
e3:=Euler(f,0,5,1,3);
plot([e3]);

Laitetaan myös Heun ja RK4

Matlab: (Kts. vastaava Matlab-teht.)

Huom: Tästä voi kehitellä monenlaisia tehtävävariaatioita, myös ilman numeeristen menetelmien korostusta.

Avainsanat: Differentiaaliyhtälö, alkuarvotehtävä, analyyttinen ratkaisu, numeerinen ratkaisu.

Viitteet:

[KRE] E. Kreyszig: Advanced Engineering Mathematics, Wiley

[HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.

25. mplD017.tex, mlD007.tex Huomasimme, että eksponentiaalinen kasvumalli, ns. Malthus’n laki y′= ky ei toimi USA:n väestödataan pitkällä aikavälillä. Mallia voidaan tarkentaa lisäämällä sopiva kasvua rajoittava termi, tällöin johdutaan ns. logistiseen kasvulakiin:

y′= ay − by^{2}

USA:n väestödataan liityen Verhulst arvioi v. 1845 arvot a = 0.03 ja b = 1.610^{−4} , kun t mitataan vuosissa ja väkiluku y(t) miljoonissa.

Opettajalle: Tehtävä voidaan käsitellä ehkä luontavamminkin kokonaan erillisenä numeeristen diffyhtälöratkaisujen opetuksesta. Tällöin otetaan vain alla olevat kohdat (c) ja/tai (d).

(a) Ratkaise tehtävä (y(0) = 5.3) Eulerin menetelmällä käyttämllä askelpituussa h = 10

(b) rk4:llä käyttäen n. nelinkertaista askelta (voit kokeilla pienempiäkin)

(c) Matlabin ode45:llä.

(d) Laske analyyttinen ratkaisu Maplella (kyseessähän on Bernoullin yhtälö.

Piirrä kuvia ja laske kaikissa tapauksessa ratkaisujen arvot annetuissa taulukkopisteissä. (ode45-tapauksessa onnistuu ainakin sovittamalla dataan splini funktiolla spline, joka on maailman helppokäyttöisin.)

kts. http://www.math.hut.fi/teaching/v/matlab/opas.html#splinit

(Nykyään (2012) ei tarvita erillistä splinisovitusta, laskentapisteet voidaan antaa suoraan ode45-funktiolle syötteenä.)

Vihje:

function [T,Y]=eulerS(f,Tspan,ya,n)
% Tämä vain kehittely- ja opettelutarkoituksessa.
% Funktio eulerV hoitaa niin skalaari- kuin vektoriversion.
%  (24.2.04, modifioitu 21.8.2010)
% Esim: y'=t+y, y(0)=1
%       f=@(t,y)t+y
%       [T,Y]=eulerS(f,[0 4],1,6), plot(T,Y,T,Y,'.r');shg
a=Tspan(1);b=Tspan(2);
h=(b-a)/n;
Y=zeros(n+1,1);T=(a:h:b)'; %Pystyvektorit yhdenmukaisesti ode45:n
Y(1)=ya;                   %  kanssa
for j=1:n
   Y(j+1)=Y(j)+h*f(T(j),Y(j));
end;

Viitteitä:

http://math.aalto.fi/opetus/kp3-ii/06/L/L14dynumkalvot.pdf
http://www.math.hut.fi/~apiola/matlab/opas/lyhyt/esim/eulerS.m

(Listaus yllä)

26. mplD018.tex, mlD008.tex Tarkastellaan yhtälöä y′= −2α(t − 1)y. Ratkaise aluksi analyyttisesti (saat käyttää Mapleakin.)

Totea kuvasta ja derivaattaehdosta yhtälön stabiilisuus/epästabiilisuusalueet. Ota kuvassa ja aina tarvittaessa vaikkapa α = 5. Ratkaise yhtälö sekä Eulerilla että BE:llä. Sopivia arvoja voisivat olla vaikkapa h = 0.2, väli: [1, 4.5], y(1) = 1. Vertaa kokeellisesti stabiilisuukäyttäytymistä teorian ennustamaan ja pane merkille, miten epästabiilisuus käytännössä ilmenee. Tämä tehtävä soveltuu erityisen hyvin Maplella tehtäväksi, se on pitkälle ideoitu [HAM] sivulla 124, myös Euler ja BE ovat valmiina. (Koodit saa kurssin maplehakemistosta.) ** Tulee aputiedostoon **

** apu puuttuu, editoi viitteet! **

Vihje:

Viitteitä:

http://math.aalto.fi/opetus/kp3-ii/06/L/L14dynumkalvot.pdf
http://www.math.hut.fi/~apiola/matlab/opas/lyhyt/esim/eulerS.m

(Listaus yllä)

27. a) Osoita, että funktio arctan \frac{y}{x} toteuttaa Laplacen osittaisdifferentiaaliyhtälön

\frac{∂^{2}u}{∂x^{2}} + \frac{∂^{2}u}{∂y^{2}} = 0.

(Tällaisia funktioita sanotaan harmonisiksi funktioiksi.)

b) Oletetaan, että funktioilla u(x, y) ja v(x, y) on jatkuvat toiset osittaisderivaatat ja ne toteuttavat ns. Cauchy-Riemannin yhtälöt:

\frac{∂u}{∂x} = \frac{∂v}{∂y}, \frac{∂v}{∂x} = −\frac{∂u}{∂y}

Osoita, että u ja v ovat harmonisia.

c) Olkoon f(x, y) = x^{3}y^{2} + x^{4} siny + cos(xy). Laske osittaisderivaatat f_{xxy}, f_{xyx}, f_{yxx} ja totea, että ne ovat samat.

28. Seuraava toistokäsky soveltaa Eulerin menetelmää alkuarvotehtävän y′ = sin(xy), y(0) = 1 ratkaisun likiarvon y(1) laskemiseen. Kokeile käskyjä askelpituuksilla h = 0.25, h = 0.1, h = 0.01 ja h = 10^{−4} . Mikä menee pieleen viimeisessä kohdassa?

f:=(x,y)-> sin(x*y);
Digits:= 4;
n:= 4;
h:=1/n;
y[0] = 1;
for k from 0 to n-1 do  (paina tässä kohti Shift+Enter)
y[k+1]:= y[k]+h*f(k*h,y[k]) (samoin)
od;

Vihje:

29. Ratkaise alkuarvotehtävä

y′′+ 3y′+ 3y = 1 − e^{−x} , y(0) = 2, y′(0) = 0,

ja piirrä ratkaisun kuvaaja välillä 0 ≤ x ≤ 10.

Vihje: Diffyhtälön saat ratkaistua komennolla dsolve. Yhtälössä esiintyvät derivaatat voit ilmoittaa komennolla diff, ja derivaatan pisteessa 0 voit ilmaista derivaattaoperaattorilla D(y)(0).

30. Maple,Matlab (H2T10)

a) Ratkaise alkuarvotehtävä

y′− y = cosx, y(0) = 1

analyyttisesti Maplella ja numeerisesti Matlabilla. Piirrä ratkaisukäyrä.

b) Anna alkuarvoksi symboli c ja piirrä ratkaisukäyräparvi sopivalla välillä, kun c = −0.9, −0.8, …, 0.

Miltä parvi näyttää suurilla x :n arvoilla. Tässä pitäisi erottua kolmenlaista käytöstä.

Vihje: Maple: dsolve, Matlab: ode45

Avainsanat: Differentiaaliyhtälö, alkuarvotehtävä, analyyttinen ratkaisu, numeerinen ratkaisu.

31. Kirjoita heiluriyhtälö Θ′′+ \frac{g}{L} sin(Θ) = 0 ensimmäisen kertaluvun systeemiksi, tai toisen kertaluvun differentiaaliyhtälöksi. Voit ottaa g/L = 1.

Laske ratkaisu sopivalla aikavälillä (esim. [0, 10]) ja kolmella erilaisella alkuarvolla, joilla saat erityyppiset ratkaisut.

Piirrä ratkaisukäyrät aikatasoon ja trajektorit faasitasoon.

32. Ratkaise RA-tehtävä

y′′= y^{2} − 1, y(0) = 0, y(1) = 1.

Maplella. Yritä ensin analyyttista. Jos/kun mitään ei palaudu, voit asettaa esim infolevel[dsolve]:=3:. Näet ainakin, mitä Maple yrittää. Siirry sitten tyyppiin numeric, homma sujuu ongelmitta.

Muutaman kokeilun jälkeen huomasin, ettei sujukaan. Numeerisen ratkaisun määritteleminen parametrista riippuvaksi funkioksi on aikamoista temppuilua, tällaisella kurssilla ei kannata siihen paneutua, koska Matlab-ratkaisu on hyvin selkeä ja ongelmaton.

Muutetaan tehtävä helpommaksi:

Suorita Maplella suoraan reuna-arvotehtävän ratkaisu (luultavasti Maple laskee sen differessimenetelmällä). Syntaksi on aivan sama kuin alkuarvotehtävälle, nyt vain annetaan pelkät reunaehdot.

Helpin esimerkkien avulla pääset kiinni ratkaisufunktioon.

33. a) Osoita, että funktio arctan \frac{y}{x} toteuttaa Laplacen osittaisdifferentiaaliyhtälön

\frac{∂^{2}u}{∂x^{2}} + \frac{∂^{2}u}{∂y^{2}} = 0.

(Tällaisia funktioita sanotaan harmonisiksi funktioiksi.)

b) Oletetaan, että funktioilla u(x, y) ja v(x, y) on jatkuvat toiset osittaisderivaatat ja ne toteuttavat ns. Cauchy-Riemannin yhtälöt:

\frac{∂u}{∂x} = \frac{∂v}{∂y}, \frac{∂v}{∂x} = −\frac{∂u}{∂y}

Osoita, että u ja v ovat harmonisia.

c) Olkoon f(x, y) = x^{3}y^{2} + x^{4} siny + cos(xy). Laske osittaisderivaatat f_{xxy}, f_{xyx}, f_{yxx} ja totea, että ne ovat samat.

Differentiaali- ja integraalilaskenta

34. mplDi001.tex ([HAM] ss. 48-50) Funktiolausekkeen derivaatta muodostetaan diff-komennolla. Määritä seuraavien funktioiden 1. ja 2. derivaatta ja sievennä tulokset simplifykomennolla.

6x^{3} + 3x^{2} − 2x + 1 , \frac{x+1}{x^{2}+1} , cos(x^{2} + 1) , arcsin(2x + 3) , \sqrt{1 + x^{4}} , arctanx

Vihje: Voit myös kirjoittaa lausekkeen työarkille, koskettaa sitä hiiren oikealla “context sensitive” näppäimellä, jolloin saat joukon Maple-komentoja, mm. diff, simplify ym.

Luokittelu, avainsanat: Mapleperusteet, Maplediffint, lauseke, symbolinen derivointi, diff

Viitteet:

[HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.

35. mplDi002.tex Olkoon f(x) = x^{2} − 4. Muodosta integraalifunktiot

∫ f(x) dx, ∫ \frac{dx}{f(x)} .

Tarkista tulokset derivoimalla.

Vihje: int ja Int. Voit myös aloittaa: int <ESC-näppäily>, saat valikon, josta valitset ∫-merkin ja täydennät luonnollisen tapaan. Käytä simplify-komentoa tarvittaessa.

Luokittelu, Avainsanat: Maplediffint, int,Int,Mapleperusteet

.

36. mplDi003.tex Määritä seuraavat integraalit:

∫_{0}^{∞} e^{−t} dt ja ∫_{0}^{∞} e^{−t^{2}} dt.

Vihje: Ääretön: infinity. Huom: Voit kirjoittaa int(ESC), saat valikon, josta voit valita määrätyn integraalimerkin, rajojen paikalle kirjoitat sopivasti, ylärajan voit aloittaa infi(ESC), jolloin Maple antaa taas valikon, josta voit valita ∞-symbolin. Toki voit kirjoittaa “vanhan hyvän ajan tapaan” int(f,t=0..infinity).

37. mplDi004.tex Huom! Alla jotkin kaavat html-sivulla epäselviä, suositus: avaa pdf-tiedosto (ellet jo avannut).

Laske seuraavat integraalit. Määräämättömien integraalien tapauksessa tarkista tuloksesi derivoimalla. Määrätyissä integraaleissa, joista Maple ei suoriudu voit käyttää numeerista integrointia. Laske joitakin esimerkkejä (kuten h-kohta) “symbolisesti” ja sitten tulokselle numeerinen likiarvo ja toisaalta suoraan numeerisesti.

Huomaa, että ns. “suljettu muoto” on nykyisin epämääräinen käsite, sillä useat “perinteisesti mahdottomat” integraalit voidaan lausua Maple:n tuntemien erikoisfunktioiden (kuten erf ) avulla.

• a) ∫_{0}^{π/2} sinxdx b) ∫ x cosx^{2}dx

• c) ∫ sin3x\sqrt{1 − cos3x} dx d)∫ lnxdx

• e) ∫ x^{2}\sqrt{x + 4} dx f) ∫_{0}^{1} \sqrt{x^{4} + 1} dx

• g) ∫_{0}^{π} e^{cos x}dx h) ∫_{−∞}^{∞} e^{−x^{2}} dx

Vihje: Integrointikomento on int. Lisäksi on komennon muoto Int, joka on ns. “hidas muoto” int:stä (“inert function”). Numeerinen integrointi saadaan aikaan yhdistelmällä evalf(Int(...)) tai

int(,...,numeric).

Muoto evalf(int(...)) yrittää ensin symbolista, ja evaluoi tuloksen. Jos symbolinen ei onnistu, integroi numeerisesti. Siksi saattaa olla paljon tehottomampi numeeriseen integrointiin.

Avainsanat: mapleDiffint, symbolinen integrointi, numeerinen integrointi,erf 38. mplDi005.tex

Maple, Mathematica , Matlab (erityisesti b)-kohta).

Laske integraali

∫_{0}^{2π} \frac{cosx}{13 − 12 cos2x} dx

a) symbolisesti, b) numeerisesti. Piirrä integroitavan funktion kuvaaja. Mikä itse asiassa on integraalin arvo?

Vihje: Mathematica: Symbolinen integrointi tapahtuu funktiolla Integrate, numeerinen funktiolla NIntegrate. Jälkimmäisessä sovelletaan suoraan jotakin numeerisen integroinnin menetelmää, jonka valintaan myös käyttäjä voi vaikuttaa. Ks. dokumentaatiota, erityisesti Implementation Notes. Maple: Symbolinen integrointi tapahtuu funktiolla int, numeerinen funktiolla int(...,type=numeric) tai evalf(Int(...)). Numeerisessa sovelletaan suoraan jotakin numeerisen integroinnin menetelmää, jonka valintaan myös käyttäjä voi vaikuttaa.

Esim: evalf(Int(f, x = 0 .. 2, digits = 20, method = _Dexp))

Matlab: Integrandi määritellään funktioksi (helpoimmin funktiokahvaksi “function handle”). Sitten quadalkuiset Matlab-funktiot.

Luokittelu:

mplteht/mplDiffint/mplDixx.tex, matlabteht/mlDiffint/mlDixx.tex
mmateht/mmaDiffint/mmaDi100

Avainsanat: Symbolinen integrointi, numeerinen integrointi, funktiot, lausekkeet

Ratkaisu: ON (mplDi005R.mw, mplDi005R.pdf)

Viitteet:

http://math.tkk.fi/~apiola/matlab/opas/lyhyt/m-files.html (Matlab:n

funktiokahva, function handle)

.

39. mplDi005a.tex (PA, P1, tharj. 2, s. 2011)

Harjoituksessa käytetään Maple-ohjelmaa. Toisen harjoituksen tavoitteena on syventää tietoja funktioiden käsittelystä: aiheina ovat mm. derivointi, maksimointi, yhtälöiden ratkaiseminen (ja iterointi jos jää aikaa). Avaa Viikkoharjoitukset-sivulla oleva työarkki ja käy läpi siinä olevat esimerkit ja tehtävät. Sen jälkeen voit siirtyä alla oleviin tehtäviin, mikäli aikaa riittää.

1. Klikkaa hiirellä Viikkoharjoitukset-sivun tiedostoa maple2.mw (tässä mplDi005aPohja.mw) ja avaa se ohjelmalla Maple 15. Käy läpi työarkin tehtävät ja siirry sen jälkeen alla oleviin tehtäviin.

2. Putoavan kappaleen nopeus v = v(t) toteuttaa differentiaaliyhtälön mv′(t) = mg − kv(t)^{2}, jos positiivinen suunta on alaspäin ja ilmanvastus on verrannollinen nopeuden neliöön kertoimella k > 0.

a) Osoita, että funktio

v(t) = \sqrt{\frac{mg}{k}} tanh( \sqrt{\frac{gk}{m}} t)

toteuttaa vaaditun differentiaaliyhtälön.

b) Mikä on rajanopeus lim_{t→∞} v(t)? Vihje: simplify-käsky ei tee sievennyksiä aivan loppuun, koska se ei tiedä, ovatko m, g, k positiivisia. Lisää käsky assume(m>0 and k>0 and g>0) ja kokeile sievennystä sen jälkeen.

3. Kuulantyönnön tulos riippuu kuulan alkunopeudesta v, lähtökorkeudesta h ja työnnön suuntakulmasta x seuraavan lausekkeen mukaisesti:

f(x) = \frac{v cosx ( v sinx + \sqrt{v^{2} sin^{2} x + 2hg} )}{g} ,

missä x ∈ [−π/2, π/2]. Käytetään SI-järjestelmän yksiköitä ja oletetaan, että h = 2, v = 14 ja g = 9.81. Määritä työnnön optimaalinen suuntakulma ja maksimitulos.

Kannattanee edetä seuraavien vaiheiden mukaan:

• Määrittele f funktiona; älä sijoita lukuarvoja tässä vaiheessa, niin voit tarkistaa, että lauseke on oikein.

• Sijoita lukuarvot h, v, g.

• Piirrä funktion f kuvaaja välillä −π/2 ≤ x ≤ π/2 ja tarkista, että se näyttää järkevältä. (Yleinen virhe: kertomerkkejä puuttuu!)

• Ratkaise maksimi kokeilemalla molempia tapoja: suoraan maximize TAI muodosta yhtälö f′(x) = 0, ratkaise numeerisesti fsolve-käskyllä, laske maksimi.

• Muuta saatu kulma asteiksi ja mieti, onko tulos järkevä.

Avainsanat: mplDiffint, PeruskurssiP1, putoavan kappaleen diffyhtalo, differentiaalyhtalo, yhtälö, simplify, assume 40. mplDi006.tex (Maple, Mathematica)

Laske integraali

∫ \sqrt{x^{4} − 2} dx

Yritä sieventää tulosta (äläkä masennu, kun ei sievene). Derivoi, sievennä ja hämmästy!

Vihje: Funktiot int (ja Int). Tehtävä näyttää kovin viattomalta, mutta tulos voi yllättää ja lisätä kunnioitusta Maplen kykyihin. Samalla näkyy, että integroinnin ns. “suljettu muoto” on nykyohjelmissa huomattavasti laajentunut entisajoista.

Luokittelu, avainsanat: MapleDiffint, integrointi, erikoisfunktiot

41. mplDi007.tex

[Isr] s. 46

Ilmapallon tilavuus kasvaa nopeudella 10cm^{3}/s. Millä nopeudella säde kasvaa hetkellä, jolloin pallon pinta-ala on 200cm^{2}?

Vihje: Periaate: V (t) = \frac{4}{3}πr(t)^{3}, A(t) = 4πr^{2}. Derivoidaan: V′(t) = lauseke, jossa esiintyy r(t) ja r′(t) (implisiittinen derivointi). Tästä saadaan yksi yhtälö, josta voidaan ratkaista r′ V′:n (tunnettu) ja r:n avulla. r saadaan pinta-alaehdosta.

Voit aloittaa vaikka näin:

V:=(4/3)*Pi*r(t)^3; A:=4*Pi*r(t)^2;
yht1:=10=diff(V,t);yht2:=200=A;

Huomaa, että diff soveltaa implisiittistä derivointia tuntemattomaan funktioon r(t).

Ratkaisu:

> V := (4/3)*Pi*r(t)^3;
> A := 4*Pi*r(t)^2;
> yht1 := 10 = diff(V, t);
> yht2 := 200 = A;
> r1 := solve(yht2, r(t));
> r1 := max(r1); # Valitaan pos.
> dr := solve(yht1, diff(r(t), t));
> subs(r(t) = r1, dr);

Luokittelu, avainsanat: MapleDiffint, implisiittinen dervointi

Viitteet: [Isr] Robert Israel: Calculus: The Maple Way, Addison Wesley 42. mplDi008.tex

Missä pisteissä Cartesiuksen lehden x^{3} + y^{3} = 3xy tangentin suuntakulma jonkin koordinaattiakselin suhteen on = 45^{∘} ? Piirrä sekä käyrä että ko. tangentit (ainakin joku tangentti).

Vihje: Implisiittinen derivointi ja numeerinen yhtälön ratkaisu fsolve lienevät paikallaan. Huomaa, että diff soveltaa implisiittistä derivointia tuntemattomaan funktioon y(x) (tai x(y)).

Luokittelu, avainsanat: MapleDiffint, implisiittinen derivointi, yhtälön numeerinen ratkaisu, fsolve

43. mplDi009.tex (Maple, Mathematica)

Muodosta funktion f(x) = arctan\sqrt{\frac{1 − cosx}{1 + cosx}} ensimmäinen ja toinen derivaatta.

Piirrä funktion ja derivaattojen kuvaajat.

Vihje: Derivaatat ovat aluksi todella sotkuisia. Käytä komentoa simplify siistiäksesi tulostusta. Kuvat saattavat yllättää ja johdatella pohtimaan, miksi? Ratkaisu:

> f := x -> arctan(sqrt((1-cos(x))/(1+cos(x))))
> plot(f(x),x=-2*Pi..2*Pi)
> df := diff(f(x), x)
> df:=simplify(df)
> plot(df,x=-Pi..Pi)
> d2f:=diff(df,x)
> simplify(%)

Luokittelu, avainsanat: diff, simplify, plot,diffint1, peruskurssi1

44. mplDi010.tex

Määritä funktion f(x) = arcsin(2x\sqrt{1 − x^{2}} ) suurin ja pienin arvo välillä [−1, 1].

Käytä symboliohjelmissa perinteistä “diffistekniikkaa” kuvan kanssa, Matlab:ssa raakaa “numeronmurskausta” tyyliin: linspace, plot, zoom, uusi linspace kapeammalla välillä, find, ...

Vihje: arcsin on Mathematicassa ArcSin, Maplessa arcsin ja Matlabissa asin. Symbolilaskentaohjelma saattaa johtaa oikeaan tulokseen puutteellisin perustein, jos tarkkoja ollaan.

Ratkaisu: Tämän kohdan ratkaisulinkissä Maple-ratkaisu, Matlab-ratkaisu vastaavassa Matlabkohdassa (../../matlabteht/mlDiffint/mlDi010R.m ja .pdf)

Avainsanat: Diffint1,max/min, ääriarvot,peruskurssi1 45. mplDi011.tex

Ohjelmat: Maple,Mathematica Laske sen alueen pinta-ala, jota rajoittavat käyrät y^{2} = x ja x − y = 3.

Vihje: Mieti, kumpi on helpompaa: integrointi x- vai y-suunnassa.

Ratkaisu: mplDi011.pdf (pdf-tiedosto), mplDi011.mw (Maple ws) ...mmateht/mmaDiffint/mmaDi107R.nb (Mma-notebook)

Luokittelu:

mplteht/mplDiffint/mplDi011.tex, mmateht/mmaDiffint/mmaDi107.tex

Avainsanat: Pinta-ala, integraali,diffintperusteet,peruskurssi1.

46. mplDi012.tex (Maple,Mathematica) Määritä ellipsin 9x^{2}+16y^{2} = 144 sisään piirretyn (akselien suuntaisen) suorakulmion maksimaalinen pinta-ala. Piirrä ellipsi ja suorakulmio.

Ratkaisu: Maple: mplDiffint/mplDi012R.mw mplDiffint/mplDi012R.pdf

Avainsanat: Diffint1, ääriarvot, peruskurssi1,diffintperusteet 47. mplDi013.tex

(Mathematica,Maple) Määritä funktion

f(x) = \frac{1}{2 + sinx}

integraalifunktio ja piirrä sen kuvaaja. Onko tämä jatkuva? Pitäisikö sen olla jatkuva? Laske funktion integraali jakson [0, 2π] yli a) integroimalla analyyttisesti komennolla Integrate, b) integroimalla numeerisesti komennolla NIntegrate, c) muodostamalla ensin integraalifunktio komennolla Integrate ja sijoittamalla rajat tähän korvausoperaattoria käyttäen.

Vihje: Mathematica: Komennolla Integrate lasketaan sekä integraalifunktio että määrätty integraali. Numeeriselle integroinnille (määrätyn integraalin laskemiseen) on komento NIntegrate. Korvausoperaattori on

ReplaceAll eli /. .

Maple: Integrointi: int, “hidastusmuoto”: Int.

Numeerinen integrointi: int(lauseke,x=a..b,numeric).

Arvon (a) sijoittaminen lausekkeen (F) muuttujaan (x): subs(x=a,F) Ratkaisu:

> f := 1/(2+sin(x))  # (Työarkilla matem. notaatio)
> F:=int(f,x)
> plot(F,x=0..2*Pi)  # Oho, integroimisvakiot ei yhteensopivat.
> subs(x=2*Pi,F)-subs(x=0,F)
> simplify(%)       # Ei voi olla, integroitava pos. koko välillä
> int(f,x=0..2*Pi)
> evalf(%)
> int(f,x=0..2*Pi,numeric)

48. mplDi014.tex (Mathematica,Maple) Laske kardioidin r = 1 + cosφ kaarenpituus. Piirrä kuvio. Miten saat kardioidin kuvan oikeanmuotoiseksi? Tuntuuko saamasi pituus uskottavalta?

Vihje: Kaarenpituusintegraali: ∫ ds = ∫ \sqrt{x′(φ)^{2} + y′(φ)^{2}} dφ.

49. mplDi015.tex Laske kaksinkertainen integraali

∫_{0}^{1} ∫_{−x^{2}}^{x^{2}} x\sqrt{1 + y} dy dx.

Laske tarkka arvo sekä likiarvo.

Vihje: Huom: Maplessa voit kirjoittaa integraalit, neliöjuuret ym. matemaattisena notaationa.

Tässä kaksoisintegraalissa syntyy jostain syystä oikeannäköisen matemaattisen kaavan kanssa vaikeaselkoinen virhe: Error, unable to parse integral ... . Kyse on differentiaalitermin tulkintavaikeudesta.

Perusnotaatio (int(int(...))) toimii varmasti.

Ratkaisu:

> int(int(x*sqrt(1+y), y = -x^2 .. x^2), x = 0 .. 1)
> evalf(%)

Avainsanat: diffint2, kaksinkertainen integraali, peruskurssi2

50. mplDi016.tex Osoita, että funktio

f(x, y, z) = \frac{1}{\sqrt{x^{2} + y^{2} + z^{2}}}

toteuttaa Laplace yhtälön f_{xx} + f_{yy} + f_{zz} = 0.

Vihje: Laske osittaisderivaatat diff-komennolla. Tulos ei todennäköisesti suoraan anna nollaa, vaan kaipaa sieventämistä. Käytä tähän komentoa simplify.

Ratkaisu:

> f := 1/sqrt(x^2+y^2+z^2)
> diff(f, x, x)+diff(f, y, y)+diff(f, z, z)
> simplify(%)

Avainsanat: diffint2, osittaisderivaatta, Laplacen yhtälö, peruskurssi2 51. mplDi017.tex

a) Osoita, että funktio arctan \frac{y}{x} toteuttaa Laplacen osittaisdifferentiaaliyhtälön

\frac{∂^{2}u}{∂x^{2}} + \frac{∂^{2}u}{∂y^{2}} = 0.

(Tällaisia funktioita sanotaan harmonisiksi funktioiksi.)

b) Oletetaan, että funktioilla u(x, y) ja v(x, y) on jatkuvat toiset osittaisderivaatat ja ne toteuttavat ns. Cauchy-Riemannin yhtälöt:

\frac{∂u}{∂x} = \frac{∂v}{∂y}, \frac{∂v}{∂x} = −\frac{∂u}{∂y}

Osoita, että u ja v ovat harmonisia.

c) Olkoon f(x, y) = x^{3}y^{2} + x^{4} siny + cos(xy). Laske osittaisderivaatat f_{xxy}, f_{xyx}, f_{yxx} ja totea, että ne ovat samat.

Ratkaisu: mplDiffint/mplDi017R.mw ja .pdf

Avainsanat: Osittaisderivaatta, harmoniset funktiot, sekaderivaatat yhtyvät, diffint2, peruskurssi2

52. mplDi018.tex

Approksimoi numeerisesti kahden desimaalin tarkkuudella polun

γ(t) = (cos(4πt), t^{2}), t ∈ [0, 1]

pituutta. Idea on, että jaat välin [0, 1] n kappaleeseen tasapituisiä välejä, ja lasket näiden välien päätepisteitä vastaavien koordinaattien etäisyydet yhteen. Näin jakoa tihentämällä summan pitäisi lähestyä oikeaa pituutta. Muista, että saat tarkan pituuden laskemalla

∫ |γ′(t)|dt

53. mplDi019.tex Mat-1.1410 Matematiikan peruskurssi P1, syksy 2011, Pekka Alestalo

Harjoituksessa käytetään Maple-ohjelmaa. Viimeisen harjoituksen tavoitteena on tutustua integraalilaskentaan ja ratkaista siihen liittyvä sovellettu tehtävä. Lopuksi tutustutaan työarkin esimerkkien avulla jonojen, listojen ja matriisien käsittelyyn, jos jää aikaa.

Tarkista oman ryhmäsi aika ja paikka. Ota mukaasi (tämän paperin lisäksi) Viikkoharjoitukset-sivun Maple-pikaohje. Myös aikaisempien kierrosten malliratkaisut kannattaa kerrata.

1. Käy läpi edellisen kerran tehtävä 3 Noppa-sivun malliratkaisun avulla, ellet ehtinyt tehdä sitä viimeksi.

2. Klikkaa hiirellä Viikkoharjoitukset-sivun tiedostoa maple3.mw (puuttuu tästä toistaiseksi) ja avaa se ohjelmalla Maple 15. Käy läpi esimerkit ja laske annetut integraalit.

3. Työarkilla on annettu katenaariin eli ketjukäyrään liittyvä tehtävä, jossa etsitään sellaisen köyden muotoa, jonka pituus on 6 ja jonka päät on kiinnitetty pisteisiin (0, 1) ja (3, 2). Käy läpi esimerkkilaskut väärästä yrityksestä paraabelin y = g(x) = Ax^{2} + Bx + C avulla ja ratkaise sitten tehtävä oikean lausekkeen

y = f(x) = \frac{1}{a} cosh(a(x − b)) + c

avulla. Ehdot tulevat siis muotoon f(0) = 1, f(3) = 2 ja

∫_{0}^{3} \sqrt{1 + f′(x)^{2}} dx = 6.

Piirrä lopuksi funktioiden f ja g kuvaajat samaan kuvaan ja vertaa tuloksia.

Hyödyllisiä vihjeitä:

• Kursoria ei tarvitse siirtää rivin loppuun ennen Enter-käskyä!

• Nuolinäppäimillä voi siirtyä yläindeksistä pois; samoin murtolausekkeissa.

• Pikanäppäimiä:

Ctrl + Delete poistaa käsky- tai tulosrivin Ctrl + t siirtyy tekstitilaan F5 siirtyy tekstitilassa kaavankirjoitustilaan ja takaisin Ctrl + k tekee uuden käskyrivin kursorin yläpuolelle Ctrl + j tekee uuden käskyrivin kursorin alapuolelle Ctrl + l (l = label) liittää viittauksen aikaisemman tuloksen numeroon 54. mplDi020.tex

Integroi rationaalifunktiot:

a) \frac{x}{2x^{2} − 3x − 2}  b) \frac{x^{5} + 4}{(x^{2} + 2)^{2}}

Saat käyttää Maplea apuna, mutta komennot convert(lauseke,parfrac,x) (puhumattakaan int :stä) ovat kiellettyjä muuhun kuin tarkistukseen. Katso mallia Maple-työskentelyyn vaikkapa /p/edu/mat-1.414/L2000/inttekn.mws:stä. Tehtävien ei pitäisi olla kohtuuttomia kokonaan käsinkään laskettaviksi.

** Linkki tuskin toimii, tee apu.zip **

Vihje:

Viitteitä: Tämä ja seuraavat n. 10 teht. kokoelmasta ... v2-3/H/harj2.tex (** Nootti systeemin rakentajalle(HA) **)

55. mplDi021.tex Tynnyrin korkeus on h, pohjaympyrösöiden säteet a ja keskikohdalta otetun poikkileikkausympyrän säde b (a < b). Laske tynnyrin tilavuus, kun sivulaudat kaartuvat paraabelin muotoisesti.

Vihje: Sopii käsinlaskuun ja Maple/Mathematica-harjoitteluun.

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1

.

56. mplDi022.tex Laske sen alueen pinta-ala, joka on ympyrän r = a sisäpuolella, mutta Bernoullin lemniskaatan r^{2} = 2a^{2} cos2ϕ ulkopuolella.

Vihje: Sopii käsinlaskuun ja Maple/Mathematica-harjoitteluun.

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1

57. mplDi023.tex Laske asteroidin x = a cos^{3} t, y = a sin^{3} t koko pituus. Piirrä mielellään sekä Maplella (tai Mma:lla) että Matlabilla.

Vihje: Sopii käsinlaskuun ja Maple/Mathematica(/Matlabkin)-harjoitteluun.

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1 58. mplDi024.tex

Ketjukäyrän y = a cosh \frac{x}{a}, |x| ≤ a pyörähtäessä x-akselin ympäri syntyy katenoidiksi kutsuttu pinta. Laske sen ala ja piirrä kuva (sopivalla a:lla).

Vihje: Sopii käsinlaskuun ja Maple/Mathematica(/Matlabkin)-harjoitteluun.

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1

59. mplDi025.tex Määritä ne p:n arvot, joilla seuraavat integraalit suppenevat ja määritä suppenevien integraalien arvot.

a) ∫_{1}^{∞} x^{−p} dx b) ∫_{0}^{1} x^{−p} dx

Vihje: Sopii käsinlaskuun ja Maple/Mathematica(/Matlabkin)-harjoitteluun.

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1

60. mplDi026.tex Selvitä, suppeneeko ∫_{0}^{1} lnxdx. Integrointiin voit käyttää Maplen int-komentoa. Tarjoile ongelma Maplelle raja-arvona, johon sovellat limit-funktiota. Selvitä tuloksen oikeellisuus.

Vihje:

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1

61. mplDi027.tex Eulerin Γ-funktio määritellään kaavalla

Γ(x) = ∫_{0}^{∞} t^{x−1} e^{−t} dt, x > 0

a) Osoita, että integraali suppenee aina kun x > 0.

b) Johda osittaisintegroimalla palautuskaava Γ(x):lle Γ(x − 1):n avulla ja osoita sitä käyttäen, että Γ(n + 1) = n!, kun n = 0, 1, 2, ... .

c) Tutustu Gamma-funktioon piirtämällä Maplella tai Matlabilla. Huomaa, että Matlabissa ei ole (ollut) muuta tapaa n!:n laskemiseen kuin Gamman avulla. Pikku tarkennus (v. 2012): No, tokihan voi laskea: prod(1:n), mutta uudemmissa versioissa on myös factorial.

Vihje: a)- ja b)-kohdat käsinlasku(pää-päättely)tehtäviä.

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1 62. mplDi028.tex (Maple,Matlab)

Selvitä, miksi seuraava Matlabin komentojono antaa exp-funktion (0:ssa muodostetun) Taylorin n-asteisen polynomin kertoimet.

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 T_{k}(x, 0), arvoilla k = 1 …10 .

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 Matlabfunktiossa 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!

Vihje:

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1,Taylorin polynomi,Matlabdiffint 63. mplDi029.tex (Maple,Matlab)

Laske sopivaa Taylorin polynomia ja siihen liittyvää virhetermiä hyväksi käyttäen likiarvo integraalille

∫_{0}^{1} \sqrt{x}e^{x^{2}}dx

siten, että virheen itseisarvo on korkeintaan 10^{−6} . Tarkoitus on laskea Taylorin kaavan jäännöstermin avulla, kuinka korkea asteluku tarvitaan, jotta virheraja varmasti alitetaan.

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?

Vihje:

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1,Taylorin polynomi,Matlabdiffint

64. mplDi030.tex (Maple,Matlab) Muodosta lemniskaatan r^{2} = cos2ϕ kaaren pituuden lauseke. Voit integroida välillä [0, π/4] ja kertoa tuloksen 4:llä.

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!)

Vihje:

Avainsanat: mapleDiffint, Mapleperusteet, peruskurssi1,Taylorin polynomi,Matlabdiffint,numeerinen integrointi

mplFunktiot

65. Tiedosto: mplFunktiot/mplF03.tex (Maple,Mathematica, Matlab)

Maple on nyt ensisijainen, Matlab:n suhteen tee erityisesti b)-kohta.

Tarkastellaan funktiota

f(x) = 1 + \frac{sin(x)}{1 + x^{2}} .

a) Maple: Määrittele f lausekkeeksi, laske f:n arvo pisteessä x = −2.0 ja piirrä kuvaaja välillä [−5, 5]. Matlab: Tee vastaava asia Matlabilla, kirjoita skripti. Huomaa, että Matlabissa täytyy ensin antaa x:lle numeerinen (vektori)arvo.

b) Tee samat asiat, mutta nyt määrittelemällä f funktioksi.

Vihje: a)

   Maple                               Matlab:
> f:=1-...                            >> x=...
> subs...                             >> f=...
> plot                                >> plot

b)

    Maple                             Matlab
> f:=x->1-...                        >> f:=@(x) 1-...

Ratkaisu: Ratkaisu:

    mplFunktiot/mplF03R.mw  ja mplF03R.pdf

Avainsanat: Maple perusteet, funktiot, lausekkeet, Matlab perusteet Luokittelu: mplteht/mplFunktiot, matlabteht/mlPerusteet 66. Selitä, miksi näin saadaan exp-funktion katkaistu Taylorin sarja. Suorita sitten

Maplella tämäntyylistä:

> series(exp(x), x = 0, 10);  # tai taylor(...);
> p:=convert(%,polynom);
> c:=coeffs(p,x);
> evalf(%);

Selitä, mitä näissä tapahtuu. (Tutki tarvitessasi helpillä komentoja niin Matlabissa kuin Maplessa.)

Piirrä ja taulukoi tulokset.

Vihje:

mplGrafiikka

67. Tiedosto: mplG001.tex Piirrä funktion f(x) = sin(8x) + sin(9x) kuvaaja.

Vihje: Tarkastele riittävän pitkää väliä

68. mplG002.tex

a.) Suorita plot(1/x,x=-1..1); Miten saisit kuvan näyttämään paremmalta?

b.) Kokeile datan piirtoa tähän tapaan

      h:=0.01: xy=seq([k*h,1/(k*h)],k=1..100);
       plot([xy])

(Data annettu xy-pisteiden listana.)

c.) ja myös:

       x:=[seq(k*h,k=1..100)]: y:=map(z->1/z,x);
       plot(x,y)

(Matlab-tyylinen datan piirto (uusissa Maple-versioissa.))

d.) Kokeile nyt sitä Matlab-piirtoa vertailuksi viimeksi mainittuun:

        h=0.01; x=h:h:1;
        plot(x,1./x)

Vihje: a)-kohtaan: ( ?plot,options ). Etsi options-luettelosta discont=true- kohta. Kokeile myös, mitä

discont(1/x,x); vastaa.

69. mplG009.tex

Kun suoritat komennon with(plots): saat käyttöösi mm. funktiot contourplot

ja implicitplot.
Kokeile vaikkapa contourplot(x^2+y^2,x=-5..5,y=-5..5) ja
implicitplot(x^2+y^2=1,x=-1..1,y=-1..1)

Piirrä funktion f(x, y) = y lnx + x lny korkeuskäyriä pisteen (1, 1) ympäristössä. Piirrä erityisesti se, joka kulkee pisteen (1, 1) kautta.

Klikkaa hiirellä kuvaa ja etsi käyrältä piste, joka on lähellä pistettä (1, 1). Seuraa pisteen koordinaatteja työkalunauhan vasemmasta laatikosta.

70. [Matlab,Maple,Mathematica] (Vihjeet ja ratkaisut tässä vain Matlab/Maple.)

Piirrä pintakuva ja korkeuskäyräpiirros funktiosta

f(x, y) = sin(3 y − x^{2} + 1) + cos(2 y^{2} − 2 x).

Ota alueeksi vaikka [-2 2 -1 1] .

Vihje:

1) Matlab Käyttäjän täytyy itse muodostaa koordinaattihila ja sen pisteissä korkeusarvomatriisi Z. Tämä hoituu "teho-operaattorilla"meshgrid, johon kannattaa panostaa muutenkin. Korkeusarvomatriisi Z tehdään kahden muuttujan funktiolle tähän tapaan:

     x=linspace(a,b,m); y=linspace(c,d,n); % m ja n luokkaa 30.
     [X,Y]=meshgrid(x,y);
     Z=f(X,Y);

(Kokeile periaatetta pienillä, hiukan erikokoisilla matriiseilla X,Y.) Tässä funktion f on toimittava pisteittäisin operaatioin. Jos vaikka f(x, y) = x^{2} − y^{2}, niin kirjoitettaisiin:

   Z=X.^2 - Y.^2;

Pintoihin mesh(x,y,Z), surf(x,y,Z), ... Kokeile myös colorbar yms.

Matlabilla korkeuskäyriin contour , voit myös kokeilla ezcontour-funktiota. Mahdollisuus on kokeilla myös korkeuskäyrien valitsemistapoja, clabel.

Älä diskretoi liian hienoksi. Linspacessa 100 on ihan liikaa, n. luokkaa 30 olkoon lähtökohta.

2) Maple: Helpompaa, koska hila tehdään ohjelman toimesta. Tulos ei aivan niin loistava kuin Matlabissa. (Osin tosin varsin hienoa tämäkin, ja “context sensitive”).

    with(plots):
    plot3d(f(x,y),x=a..b,y=c..d);
    contour(f(x,y),x=a..b,y=c..d); # Tarkista!

Luokittelu:

mplteht/mplGrafiikka/mplGxx.tex, matlabteht/mlGrafiikka/mlGxx.tex

Avainsanat: 3D-grafiikka, pinta, pinnat, korkeuskäyrät, korkeuskayrat 71. [Matlab,Maple,Mathematica] (Vihjeet ja ratkaisut tässä vain Matlab/Maple.)

Piirrä pintakuva ja korkeuskäyräpiirros funktiosta

f(x, y) = sin(3 y − x^{2} + 1) + cos(2 y^{2} − 2 x).

Ota alueeksi vaikka [-2 2 -1 1] .

Vihje:

1) Matlab Käyttäjän täytyy itse muodostaa koordinaattihila ja sen pisteissä korkeusarvomatriisi Z. Tämä hoituu "teho-operaattorilla"meshgrid, johon kannattaa panostaa muutenkin. Korkeusarvomatriisi Z tehdään kahden muuttujan funktiolle tähän tapaan:

     x=linspace(a,b,m); y=linspace(c,d,n); % m ja n luokkaa 30.
     [X,Y]=meshgrid(x,y);
     Z=f(X,Y);

(Kokeile periaatetta pienillä, hiukan erikokoisilla matriiseilla X,Y.) Tässä funktion f on toimittava pisteittäisin operaatioin. Jos vaikka f(x, y) = x^{2} − y^{2}, niin kirjoitettaisiin:

   Z=X.^2 - Y.^2;

Pintoihin mesh(x,y,Z), surf(x,y,Z), ... Kokeile myös colorbar yms.

Matlabilla korkeuskäyriin contour , voit myös kokeilla ezcontour-funktiota. Mahdollisuus on kokeilla myös korkeuskäyrien valitsemistapoja, clabel.

Älä diskretoi liian hienoksi. Linspacessa 100 on ihan liikaa, n. luokkaa 30 olkoon lähtökohta.

2) Maple: Helpompaa, koska hila tehdään ohjelman toimesta. Tulos ei aivan niin loistava kuin Matlabissa. (Osin tosin varsin hienoa tämäkin, ja “context sensitive”).

    with(plots):
    plot3d(f(x,y),x=a..b,y=c..d);
    contour(f(x,y),x=a..b,y=c..d); # Tarkista!

Luokittelu:

mplteht/mplGrafiikka/mplGxx.tex, matlabteht/mlGrafiikka/mlGxx.tex

Avainsanat: 3D-grafiikka, pinta, pinnat, korkeuskäyrät, korkeuskayrat 72. mplGxx.tex, mlGxx.tex (H2T6.tex )

Matlab,Maple,Mathematica

f(x, y) = sin(3 y − x^{2} + 1) + cos(2 y^{2} − 2 x).

Piirrä pintakuva ja korkeuskäyräpiirros.

Ota alueeksi vaikka [-2 2 -1 1] .

Vihje: Tutustu samalla Matlabin meshgrid:n toimintaan. Korkeusarvomatriisi Z tehdään kahden muuttujan funktiolle tähän tapaan:

 >> x=linspace(a,b,m); y=linspace(c,d,n); % m ja n luokkaa 30.
 >> [X,Y]=meshgrid(x,y);
 >> Z=f(X,Y);

(Kokeile periaatetta pienillä, hiukan erikokoisilla matriiseilla X,Y.) Tässä funktion f on toimittava pisteittäisin operaatioin. Jos vaikka f(x, y) = x^{2}−y^{2}, kirjoitettaisiin:

 Z=X.^2 - Y.^2;
Pintoihin mesh(x,y,Z), surf(x,y,Z), ... Kokeile myös colorbar yms.

Matlabilla korkeuskäyriin contour , voit myös kokeilla ezcontour-funktiota. Mahdollisuus on kokeilla myös korkeuskäyrien valitsemistapoja, clabel.

Älä diskretoi liian hienoksi. Linspacessa 100 on ihan liikaa, n. luokkaa 30 olkoon lähtökohta.

Maple: Helpompaa, mutta tulos ei aivan niin loistava kuin Matlabissa. (Osin tosin varsin hienoa tämäkin, ja “context sensitive”).

 > with(plots):
 > plot3d(f(x,y),x=a..b,y=c..d);
 > contour(f(x,y),x=a..b,y=c..d); # Tarkista!

Luokittelu:

mplteht/mplGrafiikka/mplGxx.tex, matlabteht/mlGrafiikka/mlGxx.tex

Avainsanat: 3D-grafiikka, pinta, pinnat, korkeuskäyrät, korkeuskayrat

mplIntegraalimuunnos

73. mplI001.tex

Laske määritelmän perusteella seuraavien funktioiden Laplace-muunnokset ja ilmoita muunnosfunktion määrittelyalue. Saat hyödyntää Maplea integroinneissa, mutta kirjoita kuitenkin ainakin jokunen osittaisintegrointikaava ensin käsin. Rajankäynnit tulee päätellä ilman Maplea.

a) f(t) = t^{2}, b) f(t) = te^{−t} ,

c) f(t) = cosat d) f(t) = sinat

Vihje:

Luokittelu:

Avainsanat:

Ratkaisu:

Viitteet:

74. mplI002.tex

Laske Laplace-muunnokset (samaan tyyliin kuin edellä).

a) f(t) = \{ \begin{matrix}1, t ∈ [1, 2] \\ 0, t ∉ [1, 2] \end{matrix} b) f(t) = \{ \begin{matrix}t, t ∈ [0, 1] \\ 0, t > 1 \end{matrix}

Vihje: [HAM] ss. ...

Luokittelu:

Avainsanat:

Ratkaisu:

Viitteet: [HAM] Heikki Apiola: Symbolista ja numeerista matematiikkaa Mapleohjelmalla, Otatieto 588, 1998.

mplLausekkeet

75. Sievennä lauseke

\frac{x − 1}{(1 − \frac{1}{\sqrt{x}})(1 + \frac{1}{\sqrt{x}})} .

Vihje: Kokeile funktiota simplify.

mplLineaarialgebra

76. Ratkaise yhtälöryhmä

Ax = b,

kun

A = [ \begin{matrix}5 & −13 & −13 & −2 & 7 \\ 18 & −4 & 30 & −1 & −12 \\ −23 & 3 & 7 & 15 & 7 \\ 9 & 36 & −1 & 14 & 16 \\ 3 & 28 & 7 & 14 & 5 \end{matrix} ] , b = [ \begin{matrix}−196 \\ 435 \\ 11 \\ 111 \\ 195 \end{matrix} ]

Vihje: (Seuraavassa olevat kaavat eivät näy kunnolla html-muodossa. Klikkaa pdf-linkkiä oikella.)

Matriisin  voi  syöttää  joko  vaakavektoreja  päällekkäin  latomalla:

 A := <<a | b | c>, <d | e | f>>

tai pystyvektoeita vierekkäin:

A:=<<a,d> | , <b | e>,<f | c>>

77. Maple:

Muodosta Maplessa matriisi

A = [ \begin{matrix}a & 0 & 5 \\ 1 & 1 & 1 \\ −a & 0 & 0 \end{matrix} ]

(a) Määrittele aliakset vihjeen mukaan.

(b) Muodosta karakteristinen polynomi suoraan määritelmän mukaan hyödyntäen aliaksia Det,Id.

(c)  Muodosta  karakteristinen  polynomi  LinearAlgebra-kirjaston

CharacteristicMatrix ja Determinant-komentojen avulla.

(d) Sovella factor-komentoa polynomiin (sattuu onnistumaan), ja ratkaise puuttuvat juuret solve-komennolla.

e) Näppäise hiirellä matriisia A ja paina oikeaa painiketta. Valitse Eigenvalues, ja voit kokeilla muitakin.

Vihje: Lataa kirjasto ja määrittele alias-nimet pitkille nimille:

  > with(LinearAlgebra)
  > alias(Det=Determinant,chmat=CharacteristicMatrix,Id=IdentityMatrix)

78. Tutustu  tähän:  http://www.math.hut.fi/teaching/v/3/02/L/LA.html,

voit  ottaa  vastaavan  .mws:n  pohjaksi.  Kirjoita  viitteen

http://www.math.hut.fi/teaching/v/3/00/L/G-J.html

Maple-työ LinaerAlgebra-tyylillä, LA.mws/html:n mallin mukaisesti. Tarkista rivioperaatiot ref- ja rref-aliaksia käyttäen. Selvitä ratkaisujen “lukumäärä” (olemassaolo ja mahd. vapaiden parametrien määrä). Tarkista lopuksi komennolla

LinearSolve.

Vihje: Maplessa on kaksi lineaarialgebrakirjastoa: vanhempi linalg ja uudempi LinearAlgebra. Tässä tehtävässä opetellaan uudemman käyttöä (se on mm. matriisien osien käsittelyn kannalta selkeämpää, selvästi Matlab-vaikutteista). Samalla opitaan/kerrataan oikeaa asiaa liittyen lineaaristen yhtälösysteemien perusoppiin.

79. Nyt emme enää harjoittele rivioperaatioilla laskemista, vaan kaikissa on lupa käyttää ref/rref-aliasoituja funktioita.

Määritä kanta ℝ^{5}:n aliavaruudelle, jonka virittävät vektorit v_{1} = (1, 1, 0, 0, 1), v_{2} = (0, 2, 0, 1, −1), v_{3} = (0, −1, 1, 0, 2), v_{4} = (1, 4, 1, 2, 1), v_{5} = (0, 0, 2, 1, 3).

Jos Aatu saa tulokseksi jotkin vektorit ja Öhky saa jotkin toiset (saman määrän sentään toivottavasti), niin miten selvität, kumpi on oikeassa vai kenties kumpikin?

Vihje:

  with(LinearAlgebra)
  alias(ref=GaussianElimination,rref=ReducedRowEchelonForm)

80. Olkoon A = [ \begin{matrix}5 & 1 & 2 & 2 & 0 \\ 3 & 3 & 2 & −1 & −12 \\ 8 & 4 & 4 & −5 & 12 \\ 2 & 1 & 1 & 0 & −2 \end{matrix} ], ja merkitään sarakevektoreita a_{1}, …, a_{5}. Ol-

koon B = [a_{1}, a_{2}, a_{4}].

(a) Selvitä, miksi a_{3} ja a_{5} kuuluvat B:n sarakeavaruuteen col(B).

(b) Määritä nolla-avaruuden N(A) kanta.

(c) Olkoon T : ℝ^{5} ↦ ℝ^{4} A:n määräämä lineaarikuvaus, ts. T x = Ax (ts. T = L_{A}). Selvitä, miksi T ei ole injektio eikä surjektio.

Vihje:

  with(LinearAlgebra)
  alias(ref=GaussianElimination,rref=ReducedRowEchelonForm)

81. Olkoon A = [ \begin{matrix}1 & 3 & −1 & 4 \\ 2 & 1 & 5 & 7 \\ 3 & 4 & 4 & 11 \end{matrix} ]

(a) Määritä sarakeavaruuden kanta.

(b) Määritä riviavaruuden kanta.

(c) Määritä nolla-avaruuden (ytimen) dimensio.

(d) Tarkista dimensioita koskevan peruslauseen toteutuminen.

Vihje:

  with(LinearAlgebra)
  alias(ref=GaussianElimination,rref=ReducedRowEchelonForm)

82. (a) Olkoon A m × n-matriisi ja Ab = [Ab] liitännäismatriisi. Lausu (välttämätön ja riittävä) ehto rangien r(A) ja r(Ab) avulla sille, että yhtälösysteemillä Ax = b olisi ratkaisu(ja) (eli on konsistentti).

(b) Osoita, että m × n-matriisille A pätee r(A) + n(A^{T}) = m

Vihje: Puhdas käsinlasku.

83. (a) Osoita, että monomit 1, x, x^{2}, …, x^{n} ovat LRT ℝ:ssä. (b) Osoita, että ne ovat LRT myös jos määritelyjoukkona on mikä tahansa väli [a, b].

(Tietysti riittää tehdä pelkkä (b), niinhän.)

Tapoja on monia: (a)-kohdassa vektoriyhtälö voidaan derivoida toistuvasti ja laskea 0:ssa. Tai voidaan käyttää LRV-lemmaa ja todeta raja-arvokäytöksen perusteella, että x^{k} ei voi yhtyä alemmanasteiseen polynomiin.

(b)-kohta hoituu ainakin polynomien tekijöihinjaolla (ei haittaa, vaikka tulee kompleksilukuja mukaan). Eräs tapa olisi osoittaa, että ns. Vandermonden matriisi on aina kääntyvä (sarakkeet LRT). (Toisaalta tämä tulee sivutuotteena, jos käytämme jotain muuta tapaa.) Kyseessä on matriisi, joka saadaan, kun monomit 1, x, …x^{n} lasketaan n + 1:ssä pisteessä x_{0}, …, x_{n} (Pisteet vaakasuuntaan, potenssit

pystysuuntaan.) Maplen LinearAlgebra:ssa on VandermondeMatrix .

(c) Piirrä monomien kuvaajia vaikkapa välillä [−1, 1] ja yritä nähdä kuvasta lineaarinen riippumattomuus. Piirrä monomeja isoilla peräkkäisillä parillisilla (tai parittomilla) n:n arvoilla ja totea "melkein LRV". Tämä ilmenee numeerisessa laskennassa esim. interpolaatiopolynomin tapauksessa "häiriöalttiutena".

Vihje: Puhdas käsinlasku, paitsi c)-kohta.

84. Matriisin N sarakkeet ovat koordinaatteja, jotka rajaavat ison N-kirjaimen.

N = [ \begin{matrix}0 & 0.5 & 0.5 & 6 & 6 & 5.5 & 5.5 & 0 \\ 0 & 0 & 6.42 & 0 & 8 & 8 & 1.58 & 8 \end{matrix} ]

Piirrä ensin tuo N.

Sovella N:ään lineaarikuvausta, jonka matriisi on A = [ \begin{matrix}1 & 0.25 \\ 0 & 1 \end{matrix} ]. Tämä on tyyppiä

"leikkaus", "shear". Piirrä tulos.

Skaalaa sen jälkeen x-koordinaatit kertomalla luvulla 0.75 ja piirrä taas.

Vapaaehtoinen lisäys. Pyörittele N:ää "keskipisteen"ympäri siirtämällä keskipiste ensin O:oon ja kertomalla sopivalla kiertomatriisilla ja siirtämällä lopuksi takaisin.

Vihje: Ohje piirtoon: Nykyisin voidaan piirtää datapisteitä (yhdysjanoineen) Matlabtyylisesti(kin) näin: > plot(v1,v2); Matriisin M rivi k : M[k,1..-1] (Vrt. Matlab: M(k,:)) Vanhempi tapa: Piirrettävä data pisteiden listana:

 > convert(Transpose(N),listlist); plot(%);

85. Ratkaise yhtälöryhmä

Ax = b,

kun

A = [ \begin{matrix}5 & −13 & −13 & −2 & 7 \\ 18 & −4 & 30 & −1 & −12 \\ −23 & 3 & 7 & 15 & 7 \\ 9 & 36 & −1 & 14 & 16 \\ 3 & 28 & 7 & 14 & 5 \end{matrix} ] , b = [ \begin{matrix}−196 \\ 435 \\ 11 \\ 111 \\ 195 \end{matrix} ]

Vihje: Matriisin voi syöttää joko vaakavektoreja päällekkäin latomalla:

 A := <<a | b | c>, <d | e | f>>

tai pystyvektoeita vierekkäin:

A:=<<a,d> | , <b | e>,<f | c>>

86. (Kynä-paperitehtävä) Tarkastellaan lämmönjohtumista ohuessa metallilevyssä. Oletetaan, että johtumista tapahtuu vain levyn suunnassa, ja levyn reunoilla on annetut (ajan suhteen) vakiolämpötilat. Levyn lämpötilat eri pisteissä asettuvat ajan kuluessa arvoihin, jotka ovat ajan suhteen vakioita, tällöin puhutaan lämpötilajakauman tasapainotilasta ("steady state"). Tehtävänä on määrittää lämpötilajakauma levyssä tasapainotilan vallitessa.

Tarkastellaan kuvan mukaista tilannetta: (Klikkaa oikealla olevaa pdf-linkkiä, niin kuva näkyy kunnolla.)

               --- 20----20---20----
              |    |     |     |    |
             10----*-----*-----*---40
              |    |     |     |    |
             10----*-----*-----*----40
              |    |     |     |    |
               ----20----20----20---

Kuvassa näkyvät annetut vakioreunalämpötilat (reunaehdot). Tehtävänä on laskea ratkaisuapproksimaatiot *:llä merkityissä sisäsolmupisteissä käyttäen seuraavaa periaatetta: Lämpötila levyn solmupisteessä on naapurisolmujen lämpötilojen keskiarvo.

Jos indeksoidaan solmupisteiden lämpötilat vaakarivijärjestyksessä: T_{1}, …T_{6}, voidaan ryhtyä kirjoittamaan yhtälöitä tyyliin:

T_{1} = \frac{20+10+T_{4}+T_{2}}{4} , . . ..

Kirjoita koko 6 × 6- yhtälösysteemi "standardimuodossa". Huom: Tasapainotilaratkaisu saadaan ns. Laplacen yhtälön ∇^{2}T = 0 ratkaisuna. Tässä esitettyyn likimääräismenettelyyn ns. differenssimenetelmään

Ratkaisua pyydetään seuraavassa tehtävässä.

87. Ratkaise edellisen tehtävän yhtälösysteemi Maplea (tai Matlabia) käyttäen. (Tässä Maple-ohjeet.) Muodosta sitten edellisen tehtävän kuvan mukainen 4 × 5 matriisi, jossa on annetut reunalämpötilat sekä lasketut sisälämpötilat oikeilla kohdillaan. Ota nurkkapisteiden lämpötiloiksi kahden naapurisolmun lämpötilojen keskiarvo. Piirrä kuva, pyörittele hiirellä.

Vihje: Tehtävässä riittää käytellä LinearAlgebra-kirjaston funktiota LinearSolve. Ratkaisuvektorin muokkaaminen matriisiksi onnistuu mukavasti, kun leikkaat/liimaat alla olevan funktiomäärityksen Maple-työarkillasi. (Suorita leikkaus pdf-tehtävätiedostosta.)

Reshape:=(vek,m,n)->Matrix(linalg[matrix](m,n,convert(vek,list)));

Funktio on tehty vastaamaan Matlabin funktion reshape käytöstä siinä tapauksessa, jossa vektori muutetaan annetun kokoiseksi matriisiksi. Lämpötilamatriisin rakentelu kannattaa hoidella (Matlabinomaiseen) tyyliin:

Tsisa:=Reshape(T,2,3); # vektorissa T on ratkaisulampotilat.
Tiso:=Matrix(4,5,0);
vaaka:=<15|20|20|20|30>;
pysty:=...;
Tiso[2..3,2..4]:=Tsisa;
...

Piirtäminen komennolla matrixplot (muista with(plots):)

matrixplot(Tiso,axes=boxed);

Pyörittele kuvaa hiirellä.

Huom: Sanomattakin on selvää, että tehtävä sopii erikoisen hyvin Matlab:lle. Tässä pikemminkin näytetään, että Maplen LinearAlgebra-työkaluilla voidaan matkia Matlab-työtapaa ja päästä lähelle samaa käsittelymukavuutta.

Lisätehtävä: Tee ratkaisu Matlabilla!

Palataan asiaan perusteellisemmin Matlab-tehtävien yhteydessä, jolloin käsitellään lähemmin differenssimenetelmää.

88. Olkoon B = {1, cost, …, cos^{6} t} ja C = {1, cost, …, cos6t}.

Suorita Maple-komennot:

> cos(2*t): %=expand(%);
...
> cos(6*t): %=expand(%);

Olkoon H = sp(B). Osoita, että B on H:n kanta. (Tämä on miltei pelkkä toteamus, sehän palautuu monomien LRT- ominaisuuteen.) Varsinainen tehtävä:

Kirjoita C:n vektorien B-koordinaattivektorit (käyttäen hyväksi edellä viitatun Maple-istunnon tuloksia) ja osoita niiden avulla, että C on LRT ja siis H:n kanta.

Vihje: Merkinnät kirjan Lay Linear Algebra mukaiset.

89. Lay linalg s. 277 teht. 17

Olkoon B = {1, cost, …, cos^{6} t} = {x_{0}, …, x_{6}} ja C = {1, cost, …, cos6t} = {y_{0}, …, y_{6}}, kuten edellä (teht. mplLi012).

Edellä osoitettiin, että myös C on avaruuden H =sp{x_{0}, …, x_{6}} kanta.

(a) Muodosta P = [[y_{0}]_{B} | … | [y_{6}]_{B}], ja laske P^{−1} .

(b) Selitä, miksi P^{−1} :n sarakkeet ovat vektorien x_{0}, …, x_{6} C-koordinaattivektoreita. Kirjoita sitten trigonometrisiä kaavoja, joilla cost:n potensseja voidaan lausua moninkertaisten kulmien kosinien avulla. Esimerkkinä sopivasta kaavasta olkoon: 5 cos^{3} t − 6 cos^{4} t + 5 cos^{5} t − 12 cos^{6} t.

Tällainen esitysmuoto on mm. integroinnin kannalta erityisen hyödyllinen, kuten varmasti tiedät.

Vihje: Merkinnät kirjan Lay Linear Algebra mukaiset.

90. Opiskelija ottaa lainaa 10000 euroa hetkellä k = 0 ja ryhtyy maksamaan sitä takaisin kuukauden päästä hetkellä k = 1. Kuukausikorko on 1% (huh!) ja takaisinmaksu tapahtuu kiintein maksuerin 450 EUR/kk

Olkoon y_{k} k:n kuukauden kuluttua jäljellä olevan velan määrä. Kirjoita differenssiyhtälö y_{k}:lle.

Muodosta taulukko ja graafinen esitys, jossa on pisteet (k, y_{k}), ja selvitä sen perusteella, miten kauan velan maksu kestää ja miten paljon rahaa opiskelijaparka käyttää koko projektiin.

Luokittelu: Differenssi- ja differentiaaliyhtalot, Maple-perusteet.

SIIRRÄ!!

Vihje:

A = [ \begin{matrix}a & 0 & 5 \\ 1 & 1 & 1 \\ −a & 0 & 0 \end{matrix} ]

(a)  Muodosta  karakteristinen  polynomi  LinearAlgebra-kirjaston

CharacteristicMatrix ja Determinant-komentojn avulla.

(b) Sovella factor-komentoa polynomiin (sattuu onnistumaan), ja ratkaise puuttuvat juuret solve-komennolla.

c) Näppäise hiirellä matriisia A ja paina oikeaa painiketta. Valitse Eigenvalues, ja voit kokeilla muitakin.

Vihje:

mplPerusteet

92. Tiedosto: mplP001.tex Ohjelmat: Maple, [Mathematica]

Sievennä lauseke

\frac{x − 1}{(1 − \frac{1}{\sqrt{x}})(1 + \frac{1}{\sqrt{x}})} .

Vihje: Kokeile funktiota simplify.

93. mplP002.tex (PA P1 s.2011)

1. Klikkaa hiirellä (Viikkoharjoitukset-sivun) tiedostoa (maple1.mw) tässä mplP002Pohja.mw ja avaa se ohjelmalla Maple 15. Käy läpi työarkin tehtävät ja siirry sen jälkeen alla oleviin tehtäviin.

2. a) Kokeile Maplen voimia seuraavien sarjojen kohdalla:

∑_{n=1}^{∞} \frac{1}{n^{2}}, ∑_{n=1}^{∞} \frac{1}{n}, ∑_{n=0}^{∞} \frac{(−1)^{n}}{2n + 1} , ∑_{n=1}^{∞} \frac{n^{3}}{2^{n}}.

b) Montako termiä hajaantuvasta sarjasta

∑_{n=1}^{∞} \frac{1}{n}

on otettava mukaan, jotta vastaava osasumma olisi vähintään 100?

     (sum, evalf, infinity)

Vihje:

94. mplP002a.tex (PA P1 s.2011)

Fibonaccin lukujono (f_{n}) määritellään alkuehdoilla f_{0} = 0, f_{1} = 1 ja palautuskaavalla f_{n+2} = f_{n} + f_{n+1} , kun n ≥ 2. Samat luvut saadaan suoraan lausekkeesta

f_{n} = \frac{1}{\sqrt{5}}(φ^{n} − (−φ)^{−n} )

arvolla φ = \frac{1+\sqrt{5}}{2} . Määrittele f_{n} = f(n) funktiona ja osoita, että sekä alkuehdot että palautuskaava toteutuvat. Vihje: Määrittele aluksi phi:= ... Palautuskaavan kohdalla on helpompi osoittaa jokin lauseke nollaksi kuin verrata kahta hankalaa lauseketta.

(sqrt, simplify, expand)

Vihje: Muista funktiomääritys:

 f:=n->...

95. mplP002b.tex (PA P1 s.2011)

Intialaisen matemaatikon Srinivasa Ramanujanin (1887–1920) keksimän kaavan mukaan

\frac{1}{π} = \frac{2\sqrt{2}}{9801} ∑_{n=0}^{∞} \frac{(1103 + 26390n)(4n)!}{396^{4n}(n!)^{4}} .

Tutki (numeerisesti), monennenko osasumman avulla saadaan luvun 1/π likiarvo 50 desimaalin tarkkuudella.

b) Määrittele sarjan yleinen termi a_{n} = a(n) funktiona ja laske raja-arvo

q = lim_{n→∞} \frac{a_{n+1}}{a_{n}} .

Sarja suppenee siis suunnilleen samaa vauhtia kuin sellainen geometrinen sarja, jonka suhdeluku on q.

(Pi, sqrt, sum, evalf(luku, desimaalien lkm), limit)

Vihje: Muista funktiomääritys:

a:=n-> ...

96. Suorita Maplella :

> series(exp(x), x = 0, 10);  # tai taylor(...);
> p:=convert(%,polynom);
> c:=coeffs(p,x);
> evalf(%);

Selitä, mitä näissä tapahtuu. (Tutki tarvitessasi helpillä tyyliin ?convert.)

Piirrä polynomin p kuvaaja sopivalla välillä.

97. Etsi lukujen 1234^{3243} ja 7681 suurin yhteinen tekijä.

Vihje: Suurin yhteinen tekijä lasketaan funktiolla igcd. Jos myös kertoimet halutaan tietää, kannattaa käyttää funktioita igcdex.

Luokittelu, avainsanat: Mapleperusteet, mplPerusteet, syt, gcd, lukuteoriaa 98. mplP006.tex (HA:n Maple-kirja ss. 48-50)

1. Laske 2^{123}, π^{3}, e^{5} neljälläkymmenellä (40) numerolla.

2. Mikä rationaaliluvuista \frac{22}{7}, \frac{311}{99}, \frac{355}{113} approksimoi parhaiten π:tä ?

3. Kumpi luvuista π^{e} , e^{π} on suurempi?

4. Jaa tekijöihin polynomi x^{3} − y^{3}

Vihje:

   ?evalf
   ?factor

99. mplP007.tex (HA:n Maple-kirja ss. 48-50)

Määrittele polynomilauseke p = x^{3} − 4x^{2} + 3x + 2. Määritä p:n juuret ja piirrä kuvaaja välillä, joka sisältää juuret. Määritä myös paikalliset ääriarvot.

Vihje:

   p:= ...   (ei siis p = ... (kuten Matlabissa))
   plot(p,x=a..b)
   ?plot
   solve   yrittaa tarkkaa analyyttista ratkaisua (vaikka onnistuisi, voi olla turhan mutkikas)
   fsolve  numeerinen ratkaisija

Luokittelu: Maple perusteet, lausekkeet, yhtälöt, nollakohdat, grafiikka

100. mplP008.tex (HA:n Maple-kirja ss. 48-50)

Piirrä samaan kuvaan x^{4} ja 2^{x} ja selvitä, kuinka monessa pisteessä ne leikkaavat. Varmaan joudut piirtämään useita kuvia eri alueilta.

Suurimman juuren etsimisessä voi oikean alueen ehkä löytää nopeimmin tyyppiä

 seq([x^4,2^x],x=a..b); olevalla komennolla.

Tutki fsolve-komennon help-teksti ja määritä likiarvo suurimmalle juurelle.

Vihje: seq(f(x),x=a..b) toimii kokonaislukuaskelin. Toki askel voidaan säätää halutuksi tähän tyyliin:

  jono:=seq(a+i*h,i=0..10);

Luokittelu: Maple perusteet, jonot (seq), yhtälöt, nollakohdat, grafiikka 101. mplP009.tex (HA:n Maple-kirja ss. 48-50)

Mitä tekevät seuraavat Maple-komennot:

> sum(i^2,i=1..10);
> ifactor(1998); # Maple-oppaan kirjoitusvuosi
> ifactor(2012); # Aikaa on kulunut.
> solve({x+2*y=5,x^2+y^2=10},{x,y});
> solve([x+2*y = 5, x^2+y^2 = 10], [x, y])

Vihje: Kaksi solve-komennon muotoa liityvät tietorakenteisiin. Edellinen käsittelee joukkoina, jälkimmäinen listoina. (Joukon alkioilla ei ole määrättyä järjestystä päinvastoin kuin listassa.)

Luokittelu, avainsanat: Mapleperusteet, yhtälöryhmä, joukko, lista, tekijöihin jako.

102. mplP010.tex Muodosta funktion cos(x) sin(x) ensimmäinen ja toinen derivaatta ja piirrä kunkin kuvaaja sopivaksi katsomallasi välillä kenties mieluiten eri koordinaatistoihin.

Vihje:

103. mplP011.tex (HA:n Maple-kirja ss. 48-50)

Funktiolausekkeen derivaatta muodostetaan diff-komennolla.

Määritä seuraavien funktioiden 1. ja 2. derivaatta ja sievennä tulokset simplifykomennolla.

6x^{3} + 3x^{2} − 2x + 1 , \frac{x+1}{x^{2}+1} , cos(x^{2} + 1) , arcsin(2x + 3) , \sqrt{1 + x^{4}} , arctanx

Luokittelu, avainsanat: Mapleperusteet, Maplediffint, lauseke, symbolinen derivointi, diff 104. mlP014.tex, mplP014.tex

Maple [Mathematica] , Matlab (erityisesti b)-kohta).

Tarkastellaan funktiota

f(x) = 1 + \frac{sin(x)}{1 + x^{2}} .

a) Maple: Määrittele f lausekkeeksi, laske f:n arvo pisteessä x = −2.0 ja piirrä kuvaaja välillä [−5, 5].

Matlab: Tee vastaava asia Matlabilla, kirjoita skripti. Huomaa, että Matlabissa täytyy ensin antaa x:lle numeerinen (vektori)arvo.

b) Tee samat asiat, mutta nyt määrittelemällä f funktioksi.

Vihje: a)

   Maple                               Matlab:
> f:=1-...                            >> x=...
> subs...                             >> f=...
> plot                                >> plot

b)

    Maple                             Matlab
> f:=x->1-...                        >> f:=@(x) 1-...

Ratkaisu: Ratkaisu:

     mplPerusteet/mplP014R.mw  ja .pdf
     mlPerusteet/mlP014R.m ja .pdf

Luokittelu:

mplteht/mplPerusteet/mplP014.tex, matlabteht/mlPerusteet/mlP014.tex

Avainsanat: Mapleperusteet, funktiot, lausekkeet, Matlabperusteet 105. Laske funktion f(x) = e^{−x^{2}} arvoja 0.5:n välein välillä 0 …5, ja piirrä taulukoiduista

arvoista kuvaaja

Vihje: Määrittele f funktioksi tyyliin f:=x-> ... Muodosta jono seq-funktion avulla ja ympäröi se listasuluilla tyyliin:

h:=0.5: x:=[seq(k*h),k=...]

Muodosta funktion arvot tyyliin y:=map(f,x) Taulukon saat esim. array-funktiolla. Datan voi piirtää nykyisin myös "Matlab-tyylillä": plot(x,y) Ratkaisu:

 x := [seq(.5*k, k = 0 .. 10)]
 f := x->exp(-x^2)
 y := map(f, x)
 array([x, y])
 plot(x,y)

106. Laske funktion f(x) = e^{−x^{2}} arvoja 0.5:n välein välillä 0 …5, ja piirrä taulukoiduista arvoista kuvaaja

Vihje:

mplSarjat

107. Laske sarjan

∑_{k=0}^{∞} ( \frac{2x − 1}{3x + 1} ) ^{k}

summa. Millä arvoilla x ∈ ℝ sarja suppenee? Piirrä summafunktion kuvaaja.

Vihje: Summa lasketaan komennolla sum

108. (Maple ja Matlab)

Määritä seuraavat summat:

∑_{k=1}^{1000} k ja ∑_{k=1}^{∞} \frac{1}{k^{2}}.

Vihje: Maple: Kokeile edelliseen sekä sum että add - komentoja, jälkimmäiseen vain sum.

Matlab: Muodosta vektori 1,2,...1000 ja sitten vain sum. Jälkimmäisessä voit laskea muutamalla, toinen toistaan suuremmalla arvolla. (Numeerisesti et tietenkään voi summata äärettömyyksiin.)

109. (Maple)

Määritä symboliset summat:

∑_{k=1}^{n} k ja ∑_{k=1}^{n} k^{2}.

Vihje: Maple-funktio sum (Symbolinen summaus on integraalifunktion määrittämistä vastaava diskreetti tehtävä, usein jopa vaikeampi.)

mplTodennäköisyyslaskenta

110. Luo funktiolla RND 30 satunnaislukua väliltä [0, 1]. Kuinka moni luvuista osuu välille [0, 0.1)? Kuinka monen pitäisi osua?

Vihje:

mplVektorianalyysi

111. Piirrä seuraavien funktioiden tasa-arvokäyrät:

a) x^{3} − xy^{3}

b) sin(x)cosh(y)

c) cos^{2}(x) cosh(y)

Vihje: Tasa-arvokäyriä voi piirtää kommennolla contourplot.

112. Piirrä avaruuskäyrä

r(t) = \frac{cost}{t} i + \frac{sint}{t} j + arctant k,

kun t ∈ [1, T] ja T = 100. Määritä käyrän kaarenpituus ja tutki, onko sillä rajaarvoa, kun T → ∞.

Vihje: Käyrä on luontevinta kirjoittaa vektoriksi r = {Cos[t]/t,Sin[t]/t,ArcTan[t]} ja laskea kaarenpituus integraalista ∫ |r′(t)| dt.

113. Määritä funktion f(x, y) = x^{2} − y suurin arvo ympyrällä x^{2} + y^{2} = 1. Käytä Lagrangen menetelmää.

Vihje: (diff, solve, f:= (x,y)->(x2+y). Jos et ehdottomasti osaa Lagrangen menetelmää, lataa with(Student[MultivariateCalculus]) ja tutki LagrangeMultipliers-dokumentaatiota.

114. TV-yhtiö on (pahaa aavistamatta) palkannut matemaatikon seikkailukilpailun juontajaksi. Kilpailussa tehtävänä on kiertää mahdollisimman lyhyt reitti sen kolmion sisällä, jonka kärjet ovat pisteissä (0, 0), (2, 0) ja (0, 2). Lähtö tapahtuu pisteestä (1, 0), ja kilpailijan tarvitsee koskettaa jokaista muuta kolmion sivua ja palata sitten alkupisteeseen Määritä lyhin tällainen reitti, ja sen pituus.

Vihje: Muodosta matkan funktio f(x, y) – mieti ensin, mitä kuvaa x ja mitä y, ja sen jälkeen, kuinka etäisyys laskettaisiin (vihje: Euklidinen etäisyys). Tämän jälkeen etsi funktion f kriittiset pisteet, eli osittaisderivaattojen nollakohdat, ja tutki niiden laatua. Valitse näistä pisteistä minimin tuottava, ja laske pituus.

mplYhtälöt

115. Ratkaise yhtälö 2x^{6} + 4x^{3} − 14x^{2} + 1 = 0.

Vihje: Maplen funktio solve.

116. Määritä polynomin

p(x) = x^{3} − 4x^{2} + 4x − 1

nollakohdat ja paikalliset minimit ja maksimit. Piirrä kuva.

Suorita sekä Maplella että Matlabilla.

Vihje: Maplella voit yrittää 3. asteen yhtälön ratkaisua myös symbolisesti solve-komennolla. Numeerisesti fsolve. Matlabilla vain numeerisesti: roots. Polynomin derivaatta: polyder

117. Maple , Matlab (H2T9)

Tarkastellaan väestönkasvumallia

N(t) = N_{0}e^{λt} + \frac{v}{λ}(e^{λt} − 1),

jossa otetaan huomioon biologisen lisääntymisen ohella myös maahanmuutto, jonka oletetaan tapahtuvan vakionopeudella v yksilöä vuodessa (netto). Oletetaan, että tietty populaatio on alunperin 10^{6} yksilöä, 435000 yksilöä muuttaa "maahan"1. vuoden aikana ja populaatiossa on 1564000 yksilöä vuoden lopulla. Määritä luku λ Käytä tätä λ:n arvoa ennustamaan populaation koko toisen vuoden lopussa, kun oletetaan maahanmuuttovauhdin säilyvän vakiona.

Vihje: Maple: fsolve, Matlab: fzero

Avainsanat: Epälineaarinen yhtälö, väestönkasvumalli, epalineaarinen yhtalo, vaestonkasvumalli.

118. [Maple tai Matlab]

Tarkastellaan väestökasvumallia

N(t) = N_{0}e^{λt} + \frac{v}{λ}(e^{λt} − 1),

jossa otetaan huomioon biologisen lisääntymisen ohella myös maahanmuutto, jonka oletetaan tapahtuvan vakionopeudella v yksilöä vuodessa (netto). Oletetaan, että tietty populaatio on alunperin 10^{6} yksilöä, 435000 yksilöä muuttaa "maahan"1. vuoden aikana ja populaatiossa on 1564000 yksilöä vuoden lopulla. Määritä luku λ Käytä tätä λ:n arvoa ennustamaan populaation koko toisen vuoden lopussa, kun oletetaan maahanmuuttovauhdin säilyvän vakiona.

Vihje: Maple: fsolve, Matlab: fzero

119. Maple tai Matlab Etsi yhtälön x^{8} − 36x^{7} + 546x^{6} − 4536x^{5} + 22449x^{4} − 67284x^{3} + 118124x^{2} − 109584x + 40320 = 0 välillä [5.5, 6.5] oleva juuri. Muuta x^{7}:n kerroin luvuksi −36.001 ja katso, mikä vaikutus sillä on juureen.

Vihje: Maple: fsolve Matlab: roots

120. Maple Määritä ellipsin 9x^{2}+16y^{2} = 144 sisään piirretyn (akselien suuntaisen) suorakulmion maksimaalinen pinta-ala. Piirrä ellipsi ja suorakulmio.

121. Maple , Matlab (H2T9)

Tarkastellaan väestönkasvumallia

N(t) = N_{0}e^{λt} + \frac{v}{λ}(e^{λt} − 1),

jossa otetaan huomioon biologisen lisääntymisen ohella myös maahanmuutto, jonka oletetaan tapahtuvan vakionopeudella v yksilöä vuodessa (netto). Oletetaan, että tietty populaatio on alunperin 10^{6} yksilöä, 435000 yksilöä muuttaa "maahan"1. vuoden aikana ja populaatiossa on 1564000 yksilöä vuoden lopulla. Määritä luku λ Käytä tätä λ:n arvoa ennustamaan populaation koko toisen vuoden lopussa, kun oletetaan maahanmuuttovauhdin säilyvän vakiona.

Vihje: Maple: fsolve, Matlab: fzero

Avainsanat: Epälineaarinen yhtälö, väestönkasvumalli, epalineaarinen yhtalo, vaestonkasvumalli.

122. Matlab/Maple/Mathematica H2T17/mlNl100/mplY100/mmaY100

Etsi yhtälön x^{8}−36x^{7}+546x^{6}−4536x^{5}+22449x^{4}−67284x^{3}+118124x^{2}−109584x+ 40320 = 0 välillä [5.5, 6.5] oleva juuri. Muuta x^{7}:n kerroin luvuksi −36.001 ja katso, mikä vaikutus sillä on juureen.

Vihje: Maple: fsolve Matlab: roots Mathematica: ...

Ratkaisu: Ratkaisutiedostossa lisää variaatioita ja analyysiä tehtävään.

Avainsanat: Polynomin juuret, numeriikka, häiriöalttius, ill-conditioned

123. Matlab/Maple/Mathematica H2T17/mlNl100/mplY100/mmaY100

Etsi yhtälön x^{8}−36x^{7}+546x^{6}−4536x^{5}+22449x^{4}−67284x^{3}+118124x^{2}−109584x+ 40320 = 0 välillä [5.5, 6.5] oleva juuri. Muuta x^{7}:n kerroin luvuksi −36.001 ja katso, mikä vaikutus sillä on juureen.

Vihje: Maple: fsolve Matlab: roots Mathematica: ...

Ratkaisu: Ratkaisutiedostossa lisää variaatioita ja analyysiä tehtävään.

Avainsanat: Polynomin juuret, numeriikka, häiriöalttius, ill-conditioned

124. Laske sen alueen pinta-ala, jota rajoittavat käyrät y^{2} = x ja x − y = 3.

Vihje: Mieti, kumpi on helpompaa: integrointi x- vai y-suunnassa.