/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 19.05.7 ] */ /* [wxMaxima: title start ] Symbolinen laskenta Tehtäväpaketti A [wxMaxima: title end ] */ /* [wxMaxima: comment start ] Tekijä: X Sähköposti: x.x@x.x [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Ohje: Lisää ylle X:n tilalle oma nimesi ja sen alle osoitteesi. Muokkaa myös tiedoston nimi niin, että X:n tilalla on sukunimesi. [wxMaxima: comment end ] */ /* [wxMaxima: section start ] Perussyntaksia [wxMaxima: section end ] */ /* [wxMaxima: subsect start ] Syöte- ja kommenttisolu, solun suorittaminen [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Laske 3+4 ja 5*9 ja 4^2. Alta löydät nämä valmiiksi; valitse solut yksi kerrallaan ja suorita painamalla shift+enter. (Pelkkä enter lisää soluun rivinvaihdon.) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ 3+4; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ 5*9; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ 4^2; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Potenssiin korotukseen on kaksi vaihtoehtoista komentoa: ^ ja **. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Laske alle, mitä on (1+5)*2. Klikkaa ensin solujen välistä, jotta kursori vilkkuu vaakasuunnassa ja sitten kirjoita. Ohjelma (wxMaxima) lisää puolipisteen puolestasi, mutta sen saa lisätä käsinkin. Voit myös kokeilla valikosta löytyvää komentoa "Insert input cell (ctrl+0)". [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Tämän ylle tulee siis tuo lasku. Luo tämän tekstisolun alle uusi tekstisolu. Voit klikata hiiren oikealla napilla tai etsiä Cell-valikosta oikean komennon. Näiden teksisolujen avulla voit kommentoida tekemisiäsi. Kirjoita luomaasi tekstisoluun kommentti tästä tehtävästä. Onnistuiko ensi yrittämällä? [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Tallentaminen [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Tallenna tämä tiedosto. Tallentaminen kannattaa tehdä wxm-muodossa. Toinen vaihtoehto on wxmx, johon tallentuvat syötteen lisäksi solujen antamat tulokset. Kaikki tämän kurssin tehtävät palautetaan wxm-muodossa, ellei erityisesti toisin sanota. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Kommentoi alle uuteen tekstisoluun: Kun tallennat, suljet ja avaat uudelleen tämän tiedoston, mitä kävi edellisen tehtävän laskuillesi? Mikä säilyi, mikä ei? [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Symbolinen ja numeerinen tulos [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Vakion pii nimi on Maximassa %pi. Kaksi kertaa tämä vakio on 2*%pi. Mitä Maxima antaa tulokseksi jos lasket tämän? Tee lasku ja kommentoi. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Numeerisen tuloksen voi saada parilla eri tavalla. Kokeile seuraavia ja kommentoi tuloksia: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ float(2*%pi); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ 2*%pi, numer; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ bfloat(2*%pi); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ bfloat(2*%pi), fpprec:10; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ bfloat(2*%pi), fpprec:20; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Jos siis haluat laskea jonkin lausekkeen arvon, voit kirjoittaa sen perään pilkun jälkeen lisätietoja. Komento "numer" kertoo, että haluat numeerisen tulokset. Muuttujan "fpprec" arvolla taas voit säätää tarkkuutta. [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Muuttujat [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Useimmiten ei ole järkevää laskea isoa ja hankalaa laskua kerralla vaan se kannattaa purkaa paloiksi. Tässä auttaa muuttujien nimeäminen. Jos et ole kertonut Maximalle, mikä jokin muuttuja on, se tulkitsee sen reaaliluvuksi. Arvon asettaminen tehdään kaksoipisteellä, ei yhtäsuuruusmerkillä. Suorita seuraavat solut ja kommentoi tuloksia lisäämällä tekstisoluja väleihin ja loppuun. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ x+y; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ y:3; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ x+y; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ x:2; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ x+y; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Aseta nyt muuttujan z arvoksi pii ja laske sitten x+z numeerisesti. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Muuttujan nimi voi olla pitkäkin, ja se saa koostua useammasta kirjaimesta. Tältä kannalta on oleellista, että kertolasku pitää aina merkitä kertomerkillä. Suorita seuraavat solut ja huomaa, että muuttujaa nimeltä "xy" ei ole nimetty: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ x*y; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ xy; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Muuttujien arvoja voi myös muuttaa. Aseta y:lle jokin uusi arvo ja laske x*y uudestaan. [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Vakiot [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Edellä näimme, että pii kulkee Maximassa nimellä %pi. Vastaavasti toinen tuttu vakio on %e. Näissä täytyy aina pitää prosentti mukana. Jos kirjoitat vain "pi" tai "e", Maxima tulkitsee nämä muuttujiksi. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Laske, mitä on e^(pi^2) numeerisesti. [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Kommentointi [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Tästä eteenpäin oletus on, että aina kun lasket jotain, selität sitä kommentilla. Ilmiselviä asioita ei tarvitse toistaa; esimerkiksi komennon "x:10" kaverina ei tarvitse olla kommenttia "annetaan x:lle arvo 10". Kommentteja voi ajatella pikemminkin matematiikan tenttivastauksen tekstiosana. Esimerkiksi tällainen kommenttiketju on hyvä: - Annetaan tehtävän lausekkeelle nimi y ja sen derivaatalle nimi yd. - Ratkaistaan derivaatan nollakohdat ja pomitaan ne muuttujiin x1, x2 jne. - Sijoitetaan lausekkeeseen y derivaatan nollakohdat jotka osuvat välille sekä välin päätepisteet. - Siispä funktion suurin arvo on... - ...ja pienin Kun tällaisten kommenttien välissä on komentoja, on juonta helppo seurata. Aina kun tehtävässä kysytään jotain, vastaus annetaan tekstinä. Toki lasku riittää, jos vastaus on vain laskun tulos, mutta se riittää harvoin. Nyrkkisääntönä on, että kommentoimaton tehtävä on tekemätön tehtävä. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Mitä ovat 5^6 ja 6^5? Kumpi näistä on suurempi? [wxMaxima: comment end ] */ /* [wxMaxima: section start ] Lausekkeiden ja funktioiden käsittelyä [wxMaxima: section end ] */ /* [wxMaxima: subsect start ] Lauseke [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Muuttuja saa riippua muista muuttujista. Yleisnimi tällaiselle muuttujalle on lauseke. Yksinkertaisimmillaan lauseke on vain yksi luku tai muuttuja, mutta se voi olla monimutkainenkin. Luodaan nyt lauseke nimeltä "lauseke", joka riippuu kahdesta muuttujasta. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ lauseke:muuttuja-luku; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Kokeillaan sitten laskutoimituksia tällä lausekkeella: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ lauseke+luku; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ lauseke^2; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Maxima ei tee sievennystoimia ellei niin käske. Tilanteesta riippuu, mikä on sievin tulos. Palataan sieventämiseen myöhemmin. [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Sijoittaminen [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Lausekkeen muuttujat voivat edelleen riippua muista muuttujista. Maximalta voi kysyä lausekkeen tai muuttujan (jotka siis ovat kategorisesti sama asia Maximassa) arvoa syöttämällä soluun sen nimen. Kysytään lausekkeen arvoa ennen ja jälkeen uuden määritelmän: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ lauseke; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ luku:toinenluku+3; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ lauseke; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Maxima ei sijoita tietoaan muuttujasta "luku" ellei niin käske. Komento ev (sanasta "evaluate") pakottaa sijoittamaan tiedot. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(lauseke); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Vielä tärkempää on mahdollisuus antaa muuttujalle jokin arvo vain evaluaation eli arvon laskemisen ajaksi. Muodostetaan uusi lauseke ja lasketaan sen arvo kohdassa h=2: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ square:h^2; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ev(square,h=2); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Huomaa, että sijoitettaessa muuttujan arvo annetaan yhtäsuuruusmerkillä =, ei kaksoispisteellä :. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Komennon ev käyttäminen on evaluaatio annetuilla lisätiedoilla. Käytännössä saman efektin (yksinkertaisissa tilanteissa) saavuttaa sijoitammalla muuttujaan arvon. Edellä saatu tulos voidaan laskea myös näin: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ subst(h=2,square); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Kysy nyt Maximalta muuttujien square ja h arvoja. Mitä huomaat? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Voit myös sijoittaa useamman arvon kerralla. Kolmion pinta-alan laskeminen käy seuraavasti: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ area:a*b/2; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ev(area,a=2,b=3); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ subst([a=2,b=3],area); /* [wxMaxima: input end ] */ /* [wxMaxima: subsect start ] Tuttuja funktioita [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Monet tutut funktiot löytyvät Maximasta: sin, cos, tan, log, exp... Trigonometriset käänteisfunktiot ovat nimiltään asin, acos, atan... Funktioiden kanssa käytetään aina tavallisia sulkuja. Lasketaan kokeeksi arkuskosini nollasta: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ acos(0); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Laske saamastasi tuloksesta kosini. Saatko nollan? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Anna nimi lausekkeelle sin(x) ja laske tämän arvo, kun x on pii. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Myös komennot subst ja ev ovat funktioita. Funktiot eivät aina tee luvuista lukuja, vaan voivat tehdä paljon muutakin. Ja näinhän se on myös matematiikassa! [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Uusia funktioita [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Maximassa voit myös määritellä itse omia funktioita ja käyttää niitä samaan tapaan kuin valmiita funktioita. Määritellään funktio: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ f(z):=z^3-5; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Huomaa, että tässä käytettiin merkintää := eikä : tai =. Funktion arvon laskeminen pisteessä hoituu helposti: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ f(3); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Määrittele funktio g(z)=4z+9 ja lauseke glauseke=4z+9. Muista kertomerkki. Laske tämän arvo kun z=-1 käyttäen sekä funktiota että lauseketta. Saitko saman tuloksen? Kumpi tuntui kätevämmältä? [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Sieventäminen [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Polynomien sieventämisen peruskomennot ovat expand ja factor. Kokeile seuraavia komentoja ja kuvaile omin sanoin, mitä ne tekevät. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ expand(z*(1-z)+3*(z^2-2*z)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ factor(z^2-4); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Käyttöliittymän wxMaxima valikosta löytyy erillinen sievennyskohta. Muodosta lauseke tan(p)+tan(q) ------------- tan(p)-tan(q) ja kokeile, mitä kaikki eri trigonometriset sievennyskomennot osaavat sille tehdä. Mikä on mielestäsi sievin muoto? [wxMaxima: comment end ] */ /* [wxMaxima: subsect start ] Objektien hävittäminen [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Yritetään edellisen tehtävän sievennystä eri muuttujalla: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ factor(x^2-4); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Outo tulos johtuu siitä, että x ei ole vapaa muuttuja, vaan olet aiemmin julistanut sille arvon. Kysy Maximalta x:n arvoa. Onko edellä saatu faktorointitulos nyt järkevä? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Muuttujan x arvon voi vapauttaa tappamalla muuttujan: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ kill(x); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Kysy nyt Maximalta x:n arvoa ja kokeile sitten faktorointia uudestaan. Toimiiko nyt? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Joskus on hyvä aloittaa puhtaalta pöydältä ja unohtaa kaikki aiemmin määritellyt funktiot, muuttujat, listat ja muut. Tämä onnistuu dramaattisella komennolla: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ kill(all); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Kokeile nyt, mitä Maximan mielestä on f(x) ja y ja sin(pi). Mitä huomaat? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Tästä eteenpäin on hyvä aina aloittaa tehtävä komennolla kill(all), ellei se ole jatkoa edelliselle. [wxMaxima: comment end ] */ /* [wxMaxima: section start ] Kertaus [wxMaxima: section end ] */ /* [wxMaxima: comment start ] Laske lukujen 1/8 ja 3/5 summa ja tulo. Anna näille nimet. Laske sitten saadun tulon ja summan erotuksen kolmas potenssi. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Avaa Maximan help-valikko ja valitse hakutavaksi "index". Etsi kohdat ":" ja "numer" saadaksesi tietoa muuttjien käyttämisestä ja numeerisesta evaluaatiosta. Löytyikö? Mainitse jotain, mitä siellä mainittiin mutta tässä tiedostossa ei. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Muodosta lauseke sin(x)^2+cos(x)^2 ja anna sille nimeksi "one". Kokeile eri sievennystapoja. Saatko sille tutun arvon? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Muodosta samanlainen lauseke kuin äsken, mutta muuta toinen potensseista joksikin muuksi kuin kakkoseksi. Miten tämä sievenee? Mikä on tämän (nimetyn!) lausekkeen arvo kun x on puoli piitä? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Viimeinen tehtävä: Tallenna tiedosto (wxm-muodossa, ei wxmx), sulje se ja avaa uudestaan. Valitse valikosta komento "Evaluate all cells" (tai "Suorita kaikki solut" tai jotain muuta (kieli)versiostasi riippuen). Tällöin Maxima suorittaa järjestyksessä kaikki komentosolut. Kun suoritus on valmis, katso alusta lähtien läpi, että kaikki laskut onnistuvat ja olet vastannut kaikkiin kysymyksiin. Näyttääkö kaikki olevan kunnossa? [wxMaxima: comment end ] */ /* Old versions of Maxima abort on loading files that end in a comment. */ "Created with wxMaxima 19.05.7"$