Harjoitus 10: Mathematica

Samankaltaiset tiedostot
Harjoitus 5: Symbolinen laskenta I (Mathematica)

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

plot(f(x), x=-5..5, y= )

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

mplperusteet 1. Tiedosto: mplp001.tex Ohjelmat: Maple, [Mathematica] Sievennä lauseke x 1 ( mplp002.tex (PA P1 s.2011)

Matriiseista. Emmi Koljonen

wxmaxima opas 1 Mikä wxmaxima on 2 wxmaximan käyttö Petri Sallasmaa 13. toukokuuta 2014

Harjoitus 6: Symbolinen laskenta II (Mathematica)

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

Symbolinen laskenta (MAT180,1ov)

Kevään 2011 pitkän matematiikan ylioppilastehtävien ratkaisut Mathematicalla Simo K. Kivelä /

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2

Harjoitus 6: Symbolinen laskenta II (Mathematica)

wxmaxima-pikaopas Ari Lehtonen

Mitä symbolilaskentaohjelmalta voi odottaa ja mitä ei? Tapaus Mathematica

Harjoitus 3 -- Ratkaisut

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

FUNKTION KUVAAJAN PIIRTÄMINEN

Harjoitus 6: Symbolinen laskenta II (Mathematica)

Valitse ruudun yläosassa oleva painike Download Scilab.

Värähtelevä jousisysteemi

Mathcad Prime. Kaur Jaakma

Harjoitus 4 -- Ratkaisut

Mathematica Sekalaista asiaa

Harjoitus 7 -- Ratkaisut

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä?

Ensimmäisen kertaluvun yhtälön numeerinen ratkaiseminen

Kotilaskut 1 yms. Maple:lla Maple 2017 versio. Työarkkien yhteensopivuus taaksepäin ei ole taattu!

Matlab- ja Maple- ohjelmointi

FUNKTION KUVAAJAN PIIRTÄMINEN

Mathematica 4.1 Front End

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut

Kompleksilukujen kunnan konstruointi

Harjoitus 2 -- Ratkaisut

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2 3

815338A Ohjelmointikielten periaatteet Harjoitus 7 Vastaukset

Fx-CP400 -laskimella voit ratkaista yhtälöitä ja yhtälöryhmiä eri tavoin.

Harjoitus 2 -- Ratkaisut

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Zeon PDF Driver Trial

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus

Lineaarialgebra a, kevät 2019

Mukavia kokeiluja ClassPad 330 -laskimella

Harjoitus 5: Simulink

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

DIFFERENTIAALI- JA INTEGRAALILASKENTA

Java-kielen perusteet

Java-kielen perusteet

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Mat-1.C Matemaattiset ohjelmistot

Kompleksilukujen kunnan konstruointi

FUNKTION KUVAAJAN PIIRTÄMINEN

Matlabperusteita, osa 1. Heikki Apiola Matlab-perusteita, osa 1. Heikki Apiola. 12. maaliskuuta 2012

4 / 2013 TI-NSPIRE CAS TEKNOLOGIA LUKIOSSA. T3-kouluttajat: Olli Karkkulainen ja Markku Parkkonen

KAAVAT. Sisällysluettelo

Harjoitus 4: Matlab - Optimization Toolbox

Numeeriset menetelmät

Matematiikka B2 - Avoin yliopisto

dt 2. Nämä voimat siis kumoavat toisensa, jolloin saadaan differentiaaliyhtälö

PERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2

Harjoitus 11: Mathematica - Differentiaaliyhtälöiden analysointi, lisäpaketit

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Matlab-perusteet. Jukka Jauhiainen. OAMK / Tekniikan yksikkö. Hyvinvointiteknologian koulutusohjelma

Matematiikan tukikurssi, kurssikerta 3

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä

Harjoitus 4: Differentiaaliyhtälöt (Matlab) MS-C2107 Sovelletun matematiikan tietokonetyöt 1

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Harjoitus 8: Excel - Optimointi

BL40A0000 Säätötekniikan ja signaalinkäsittelyn

Matematiikan tukikurssi

Ohjelmoinnin perusteet Y Python

Numeeriset menetelmät

Harjoitus 2: Ohjelmointi (Matlab)

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Matematiikan tukikurssi

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ (1 piste/kohta)

Matematiikan perusteet taloustieteilijöille II Harjoituksia kevät ja B = Olkoon A = a) A + B b) AB c) BA d) A 2 e) A T f) A T B g) 3A

EXCEL Perusteet FIN WISTEC TRAINING OY ITÄMERENKATU 1, HELSINKI PUH (MA-PE KLO 9-17)

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

ABTEKNILLINEN KORKEAKOULU

Reaalilukuvälit, leikkaus ja unioni (1/2)

Matematiikka B2 - TUDI

Matemaattiset ohjelmistot A. Osa 2: MATLAB

Matlabin perusteita Grafiikka

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

12. Differentiaaliyhtälöt

Ohjelmoinnin perusteet Y Python

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Korpusten käsittely clt131, P Luento 5

Python-ohjelmointi Harjoitus 2

Numeerinen ratkaisija on erityisen käyttökelpoinen yllä olevan kaltaisten yhtälöiden ratkaisussa.

Octave-opas. Mikä on Octave ja miksi? Asennus

ja B = 2 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A (e) A =

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

8. Yhtälöiden ratkaisuja Newtonilla, animaatioita

Transkriptio:

Harjoitus 10: Mathematica Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1

Harjoituksen aiheita Tutustuminen Mathematica-ohjelmistoon Mathematican sisäänrakennettujen funktioiden käyttö Yhtälöiden ratkaiseminen Mathematicalla Mathematican graafiikkatulostukset Mat-2.2107 Sovelletun matematiikan tietokonetyöt 2

Mathematica Laskentaohjelmat on perinteisesti jaettu numeerisiin (esim. Matlab) ja symbolisiin (esim. Mathematica) ohjelmiin. - Raja on kuitenkin hämärtynyt: monilla ohjelmilla voi nykyään laskea sekä symbolisesti että numeerisesti. Mathematica on ohjelmisto, joka pystyy sekä symboliseen että numeeriseen laskentaan. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 3

Mathematican rakenne Mathematica koostuu kahdesta osasta: - Kernel: Laskennan suorittava osa - Front end: Ohjelman käyttöliittymä (vaihtelee käyttöympäristön mukaan) Yleisin käyttöliittymä on muistikirjapohjainen: - Istunnosta muodostuu tallennettava dokumentti (muistikirja). - Muistikirjoja voi olla avoinna useampia samanaikaisesti. - Muistikirjassa voidaan muokata ja ajaa syötteitä ja siihen tulostuu myös ohjelman tulokset. - Myös tekstin lisääminen on mahdollista: ohjelmalla voidaan tuottaa myös dokumentteja (esim. html-muotoon). Myös tekstipohjainen käyttöliittymä on olemassa. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 4

Komentojen syöttäminen 1/2 Mathematicassa syötteet kirjoitetaan joko - tekstipohjaisesti suoraan muistikirjaan - palettien avulla (graafiset ikonit): File Palettes Muistikirja koostuu soluista (Merkitty muistikirjan oikeassa laidassa olevilla hakasilla) Solussa olevat komennot ajetaan painamalla Shift+Enter. Pelkkä Enter antaa rivinvaihdon, jolloin voidaan syöttää useampi komento peräkkäin. Kaikki ohjelman tulosteet (myös grafiikka) tulevat syötesolun jälkeiseen soluun. Tulostukset estetään näkymästä lisäämällä puolipiste (;) syötteen perään. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 5

Komentojen syöttäminen 2/2 Standardifunktioiden ja -vakioiden nimet alkavat isolla kirjaimella. Esim. Solve, Sin, Pi. - Sekaannuksien välttämiseksi on hyvä nimetä omat muuttujat pienellä kirjaimella alkaviksi. Funktioiden argumentit tulevat hakasuluissa [ ]. Esim. Sqrt[x] - Jos funktiolla on vain yksi argumentti, voidaan funktio kirjoittaa myös // -merkkien jälkeen. Esim. x // Sqrt. Kaarisuluilla ( ) osoitetaan ainoastaan laskujärjestys. - Esim. sin(x) on muuttuja sin kertaa muuttuja x. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 6

Opastustoiminnot 1/2 Tietoa mistä tahansa Mathematican komennosta saat kysymysmerkillä. Esim.?D In[1]:=?D D[f, x] gives the partial derivative of f with respect to x.... Kahdella kysymysmerkillä saat tietoa myös komennon optioista - Esim.??Plot, kokeile myös Options[Plot] Mat-2.2107 Sovelletun matematiikan tietokonetyöt 7

Opastustoiminnot 2/2 Kysymysmerkkiä voidaan käyttää myös muiden kuin funktioiden yhteydessä. - Esim.?= antaa tietoa sijoitusoperaattorin = käytöstä. Mathematicassa on myös kattava Help Browser (Help-valikko Help), josta löytyy myös paljon esimerkkejä komentojen käytöstä. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 8

Sijoitusoperaattori = = asettaa muuttujalle arvon. In[1]:= la = x+y Out[1]= x + y In[2]:= la Out[2]= x + y In[3]:= x = 7 Out[3]= 7 In[4]:= la Out[4]= 7 + y In[5]:= y = k Out[5]= k In[6]:= la Out[6]= 7 + k In[7]:= x Out[7]= 7 In[8]:= y Out[8]= k In[9]:= y = 3 Out[9]= 3 In[10]:= la Out[10]= 10 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 9

Korvausoperaattori /. Muuttujan arvo korvataan tilapäisesti muutossäännöllä: - muuttuja-> arvo Listanotaatio korvattaessa useampia muuttujia: - {muuttuja1->arvo1,muuttuja2->arvo2} In[11]:= a+b Out[11]= a + b In[12]:= a+b /. {a->5,b->z} Out[12]= 5 + z In[13]:= a Out[13]= a In[14]:= b Out[14]= b In[15]:= lb = a+b Out[15]= a + b In[16]:= lb /. {a->6,b->k} Out[16]= 6 + k In[17]:= lb Out[17]= a + b In[18]:= lb /. {a->2,b->3} Out[18]= 5 In[19]:= lb Out[19]= a + b Mat-2.2107 Sovelletun matematiikan tietokonetyöt 10

Yhtälöiden ja yhtälöryhmien ratkaiseminen Yhtälöitä ja yhtälöryhmiä voidaan ratkaista Solve-komennolla. Numeerinen ratkaisu onnistuu komennolla NSolve. Komentoa FindRoot voi myös käyttää funktion nollakohdan ratkaisemiseen. Differentiaaliyhtälöiden ja differentiaaliyhtälösysteemien ratkaisu: DSolve ja NDSolve (ks. harjoitus 11) Mat-2.2107 Sovelletun matematiikan tietokonetyöt 11

Muuttujien poistaminen Muuttujan voi poistaa muistista komennolla Clear[muuttuja]. - Useamman muuttujan poistaminen: Clear[muuttuja1,muuttuja2]. - Kaikkien muuttujien poistaminen: Clear["Global *"] Monet virhetilanteet johtuvat siitä, että symbolille on jäänyt voimaan jokin määrittely, esim. x=7, minkä seurauksena esimerkiksi seuraava yhtälön ratkaisuyritys x:n suhteen ei toimi: In[37]:= Solve[x+1==0,x] General::ivar: 7 is not a valid variable. Out[37]= Solve[False, 7] Mat-2.2107 Sovelletun matematiikan tietokonetyöt 12

Vertailuoperaattori ( == ) 1/2 In[55]:= a=3 Out[55]= 3 In[56]:= a==3 Out[56]= True In[57]:= a==4 Out[57]= False Esim. Yhtälöryhmän ratkaiseminen: In[58]:= Solve[{x+1==c,c==2},{x,c}] Out[58]= {{x -> 1, c -> 2}} Mat-2.2107 Sovelletun matematiikan tietokonetyöt 13

Vertailuoperaattori ( == ) 2/2 Huomaa mikä sotku voi seurata yhdestä pienestä kirjoitusvirheestä ( c=2, kun pitäisi olla c==2 ): In[48]:= Solve[{x+1==c,c=2},{x,c}] General::ivar: 2 is not a valid variable. Out[48]= Solve[{1 + x == c, 2}, {x, 2}] In[49]:= Solve[{x+1==c,c==2},{x,c}] General::ivar: 2 is not a valid variable. Out[49]= Solve[{1 + x == 2, True}, {x, 2}] In[50]:= c Out[50]= 2 In[51]:= Clear[c] In[52]:= Solve[{x+1==c,c==2},{x,c}] Out[52]= {{x -> 1, c -> 2}} Mat-2.2107 Sovelletun matematiikan tietokonetyöt 14

Edellisiin tulostuksiin viittaaminen ( % ) Edelliseen tulostukseen viittaus: %, sitä edelliseen: %%, jne., tulostukseen n (Out[n]): %n. Out[85]= 13 + x - x (x - y) + 7 y In[86]:= % /. {x->3,y->1} Out[86]= 17 In[87]:= % + 3 Out[87]= 20 In[88]:= %85 /. {x->1,y->7} Out[88]= 69 In[89]:= %+%%+%%% Out[89]= 106 Monesti on kuitenkin selvempää tallentaa tulokset muuttujiin. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 15

Tarkat arvot ja likiarvot Tarkkoja esityksiä: Kokonaisluvut ja murtoluvut, sekä symbolisessa muodossa esitetyt vakiot, esim. π, 2. Likiarvoja: desimaaliluvut Mathematica esittää tulokset symbolisessa muodossa (tarkkoina arvoina), jos lausekkeen kaikki arvot ovat tarkkoja. - Esim. komennot Pi/4 ja Pi*0.25 antavat eri tuloksen! Likiarvoja saadaan komennolla N. Esim. N[Pi]. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 16

Lausekkeiden muokkaaminen Mathematicassa on paljon eri komentoja lausekkeiden muokkaamiseen. - Käyttötarkoituksesta riippuu, mikä muoto on kulloinkin paras. Joitakin komentoja: - Simplify ja FullSimplify: Lausekkeen sievennys - Expand ja ExpandAll: Kerrotaan auki tulot ja positiiviset kokonaislukupotenssit. - Factor: Tekijöihin jako - Apart: Osamurtokehitelmä Mat-2.2107 Sovelletun matematiikan tietokonetyöt 17

Listat Mathematicassa vektorit ja matriisit esitetään listoina. Listat muodostetaan aaltosulkuja { } käyttämällä. - Lista on muotoa {alkio1, alkio2,...} Listan alkio voi olla melkein mitä tahansa, vaikkapa yksittäinen luku tai lista. - Esim. listassa {{7,5,9},4} on kaksi alkiota, {7,5,9} ja 4. Ensimmäinen alkio on lista, jossa on kolme alkiota: 7, 5 ja 9. Toinen alkio on tavallinen luku. Listan alkioon i viitataan notaatiolla {...}[[i]]. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 18

Listaan viittaukset 1/3 In[92]:= {{7,5,9},4} Out[92]= {{7, 5, 9}, 4} In[93]:= %[[1]] Out[93]= {7, 5, 9} In[94]:= %[[2]] Out[94]= 5 Listan alkiossa i olevan listan alkioon j voidaan viitata notaatiolla {...}[[i,j]]. In[95]:= {{7,5,9},4} Out[95]= {{7, 5, 9}, 4} In[96]:= %[[1,2]] Out[96]= 5 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 19

Listaan viittaukset 2/3 Samalla notaatiolla voidaan viitata mm. symbolien +, -, jne., sekä -> erottamiin alkioihin: Out[118]= -6 + x + y In[119]:= %[[2]] Out[119]= x In[120]:= Solve[x+y==3*z,x] Out[120]= {{x -> -y + 3 z}} In[121]:= %[[1]] Out[121]= {x -> -y + 3 z} In[122]:= %[[1]] Out[122]= x -> -y + 3 z In[123]:= %[[2]] Out[123]= -y + 3 z Mat-2.2107 Sovelletun matematiikan tietokonetyöt 20

Listaan viittaukset 3/3 Edellinen esimerkki yksinkertaisemmin: In[124]:= Solve[x+y==3*z,x] Out[124]= {{x -> -y + 3 z}} In[125]:= %[[1,1,2]] Out[125]= -y + 3 z Huom! Symbolit -> ja + eivät ole samanarvoisia erottimia, Out[125] olisi muuten -y. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 21

Hyödyllisiä esimerkkejä 1/2 %-viittaus säästää kirjoitusvaivaa: In[131]:= f = 2*x + c Out[131]= c + 2 x In[132]:= Solve[{x+c==3,x-2c==-3},{x,c}] Out[132]= {{x -> 1, c -> 2}} In[133]:= f /. %[[1]] Out[133]= 4 Liian pitkän rivin voi katkaista painamalla <Enter>: In[138]:= Plot[{Sin[x],Cos[x]},{x,-Pi,Pi},GridLines->Automatic, <Enter> PlotLabel->"Sini ja cosini"] Out[138]= -Graphics- Mat-2.2107 Sovelletun matematiikan tietokonetyöt 22

Hyödyllisiä esimerkkejä 2/2 Usean grafiikkatulostuksen yhdistäminen samaan kuvaan: In[139]:= Plot[... ] Out[139]= -Graphics- In[141]:= Show[%138,%139,PlotRange->All,PlotLabel->"Sini ja cosini"] Kertolasku (huomaa: xy on yksi symboli, x y on sama kuin x*y ): In[142]:= 4*x + 5y - x y - 3x + xy Out[142]= x + xy + 5 y - x y In[143]:= 4*x + 5y - x y - 3x + x y Out[143]= x + 5 y Matriisien kertolasku (pistetulo) (.) - Huom! * operaattori kertoo matriisit alkioittain. In[144]:= A.B Mat-2.2107 Sovelletun matematiikan tietokonetyöt 23

Kysymyksiä 1. Kuinka löydät jatkuvan funktion globaalin minimin tai maksimin? 2. Mitä eroa on Mathematican Simplify ja FullSimplify komennoilla? 3. Mitä eroa on operaattoreilla = ja == Mathematicassa? 4. Miten Mathematicassa viitataan edellisiin tuloksiin? 5. Miten saat poistettua kaikki tekemäsi muuttujat Mathematican muistista? 6. Miten listoja luodaan Mathematicassa? Mat-2.2107 Sovelletun matematiikan tietokonetyöt 24