SCILAB Osa 1. Timo Mäkelä

Koko: px
Aloita esitys sivulta:

Download "SCILAB Osa 1. Timo Mäkelä"

Transkriptio

1 SCILAB Osa 1 Timo Mäkelä Sisällysluettelo 1. KÄYTTÖLIITTYMÄ YLEISTÄ PERUSIKKUNAT Komentoikkuna Helppi Editori KOMENNOT MUITA IKKUNOITA Komentohistoria Muuttujaselain Telakointi YLEISIÄ KOMENTOJA SKALAARIT LASKUTOIMITUKSET YLEISIÄ VAKIOITA PERUSFUNKTIOT MATRIISIT MATRIISIEN SYÖTTÖ VEKTORIEN SYÖTTÖ SATUNNAISMATRIISIT OSAMATRIISIT JA LOHKOMATRIISIT MATRIISIOPERAATIOT TAULUKKO-OPERAATIOT TAULUKKOFUNKTIOT TIETOTYYPPEJÄ LISTAT LUKUJEN ESITYSMUODOT Liukuluvut Kokonaisluvut Rationaaliluvut FUNKTIOT JA SKRIPTIT...47

2 Scilab Osa KÄYTTÖLIITTYMÄ 1.1 Yleistä Scilab on avoimen lähdekoodin matematiikkaohjelma, jolla voi suorittaa numeerista laskentaa havainnollistaa asioita kuvaajilla tehdä ohjelmia. Scilab sisältää myös simulaattorin Xcos, jolla voi graafisesti lohkokaavioita käyttäen rakentaa järjestelmiä. Scilabin www-kotisivu on Sieltä voi ladata ohjelman. Sieltä löytyy myös ohjelman käyttöoppaita ja hyödyllisiä linkkejä. Scilabia voidaan laajentaa moduleilla, jotka ovat käyttäjien tekemiä ohjelmapaketteja. Modulit löytyvät ohjelman kotisivulta. Tässä tekstissä esitellään Scilabin peruskäyttöä (versio: Scilab ). Ohjelmointia ja Xcosia käsitellään muissa teksteissä. 1.2 Perusikkunat Komentoikkuna Kun Scilab-ohjelma käynnistetään, aukeaa komentoikkuna Scilab Console. Scilab on komentopohjainen ohjelma, jossa komennot kirjoitetaan komentoikkunaan. Ohjelman valikostoja esitellään myöhemmin eri yhteyksissä. Valikkokomennolla Preferences: Show/Hide Toolbar saa painikerivistön näkyville tai pois näkyvistä. Scilabin tiedosto-operaatiot käyttävät lähtökohtanaan nykyistä hakemistoa. Valikkokomennolla File: Display Current Director tulostuu nykyinen hakemisto komentoikkunaan. File: Change Current Directory voi vaihtaa nykyistä hakemistoa Komennolla clc tyhjennetään komentoikkuna Helppi Scilabin help-toiminto käynnistyy painikkeella tai komennolla help. 1 Oikeastaan Scilab beta-4

3 3 Scilab Osa 1 Scilabin help-ikkuna koostuu kahdesta osasta: Vasemmassa ikkunassa on hakemisto- tai hakutoiminto. Ikkunan toiminnon voi vaihtaa vasemmassa yläreunassa olevilla painikkeilla. o Painike : selataan toimintoja hakemistoikkunan kautta o Painike : etsitään toimintoja kirjoittamalla toimintoon liittyvää tekstiä. Oikeassa ikkuna on tietoa valitusta toiminnosta. Haluamastaan Scilabin komennosta saa tietoa komennolla help komento. -->help sin Komennosta voi etsiä tietoa myös help-ikkunaa käyttäen. ESIMERKKI Komennolla -->help symbols aukeaa helppi-ikkuna, jossa on Scilabin operaattorit ja niiden nimet, joita voidaan käyttää helpkomennossa. Esimerkiksi komennolla -->help colon aukeaa help-ikkuna operaattorista kaksoispiste Editori Valikkokomennolla Applications: SciNotes, painikkeella tai komennolla editor aukeaa editori SciNotes, jota käyttäen on kätevä kirjoittaa pidempiä komentojonoja tai tehdä ohjelmia. Editori tuntee Scilabin syntaksin.

4 Scilab Osa 1 4 Editorissa voi olla useita tiedostoja, joista välilehtipainikkeella voi valita haluamansa tiedoston. Tehdyt komennot tai ohjelmat voidaan tallentaa tiedostoon komennolla File: Save (Ctrl+s). Tiedoston tyyppi on oltava.sce tai.sci. Ohjelma tai komentojono 1 saadaan ladattua Scilabiin SciNoten valikkokomennolla Execute: file with no echo: Tiedoston komennot suoritetaan tai ohjelma ladataan Scilabiin. Tiedoston tai ohjelman komentoja ei näytetä Scilabin komentoikkunassa. Tiedosto on tallennettava ennen komennon suorittamista. Execute: file with echo: Tiedoston komennot suoritetaan tai ohjelma ladataan Scilabiin. Tiedoston tai ohjelman komennot näytetään Scilabin komentoikkunassa. Tiedostoa ei tarvitse tallentaa ennen komennon suorittamista. Execute: the selection with echo: Valitut komennot suoritetaan ja näytetään Scilabin komentoikkunassa. Komentoja ei tarvitse tallentaa. Scilabiin ladattu ohjelma voidaan ajaa omalla kutsukomennollaan. Editoriin voi tietenkin ladata aiemmin tehtyjä tiedostoja SciNoten painikkeella valikkokomennolla File: Open (Ctrl+o). Scilabin painikkeella tai valikkokomennolla File: Open a file 1.3 Komennot Komennot kirjoitetaan komentoikkunaan komentokehotteen --> perään komentoikkunaan Scilab Console. Komennot päätetään painamalla Enter-näppäintä. Tällöin komennon tulos tulee näytölle. Jos komennon perässä on puolipiste, niin komennon tulos ei tule näytölle. Tätä kannattaa käyttää varsinkin suurissa matriiseissa. Samalle riville voi kirjoittaa useita komentoja erottamalla ne pilkulla: kaikki komennot tulevat näkyviin näytölle puolipisteellä: viimeinen komento tule näkyviin näytölle. Jos viimeisen komennon perässä on puolipiste, ei sekään tule näkyviin. Jos komento ei mahdu yhdelle riville se voidaan jatkaa seuraavalla riville kirjoittamalla.. ja painamalla Enteriä: -->s= > s = Näitä asioita käsitellään tarkemmin Osan 1 luvussa 5 Funktiot ja skriptit sekä tekstissä Scilab Ohjelmointi.

5 5 Scilab Osa 1 Komentoja annettaessa voi käyttää komennon täydennystä: kirjoitetaan komennon, muuttujan tai funktion alkuosa ja painetaan tabulaattoria. Tällöin Scilab täydentää tai antaa valikon, josta voi täydentää komentoa. Tätä kannattaa käyttää varsinkin pitkiä komentoja tai muuttujanimiä kirjoitettaessa. Scilabissa isot ja pienet kirjaimet ovat eri kirjaimia. Kommentit aloitetaan kahdella kauttaviivalla // ja ne jatkuvat rivin loppuun. Ohjelman ajon voi keskeyttää näppäimillä Ctrl+c ja antamalla sen jälkeen komento abort. Aikaisempia komentoja voi kopioida normaaliin Windows-ohjelmien tapaan. Lisäksi komentoja voi selata kätevästi näppäimillä: Näppäily Home End Toiminto edellinen komento seuraava komento oikealle vasemmalle rivin alkuun rivin loppuun Komennolla alku saadaan edellinen komento, joka alkaa merkeillä alku. Komennolla diary( tiedoston_nimi ) aloitetaan Scilabin komentojen tallentaminen nykyisessä hakemistossa sijaitsevaan tiedostoon. Tallennus lopetetaan komennolla diary(0). ESIMERKKI. Suoritetaan seuraavat Scilabin komennot. -->diary('istunto'); -->A=rand(2,2) A = >A^ >diary(0)

6 Scilab Osa 1 6 Tämä tallentuu samanlaisena (ensimmäistä diary-komentoa lukuunottamatta) tekstitiedostoon 'istunto', josta se voidaan tekstieditorilla lukea. 1.4 Muita ikkunoita Komentohistoria Valikkokomennolla Applications: Command History aukeaa komentohistoriaikkuna. Komentohistoriaikkunassa voi selata aiempia komentoja. Sieltä voi mm. valita yhden tai useamman komennon suoritukseen. kopioida komentoja editoriin SciNotes. Komennot annetaan joko valikosta Edit tai putkahdusvalikkoa käyttäen Muuttujaselain Valikkokomennolla Applications: Variable Browser aukeaa muuttujaselain. Muuttujaselaimessa voi tutkia muuttujia, niiden tyyppiä, kokoa. Kaksoisklikkaamalla muuttujan nimeä aukeaa muuttujaeditori, jossa voi tutkia muuttujien arvoja ja halutessaan muuttaa niitä.

7 7 Scilab Osa Telakointi Scilabissa on mahdollista telakoida ikkunoita: Tämä tarkoittaa sitä, että useampi ikkuna on saman ikkunan sisällä. Telakointi tapahtuu vetämällä hiirellä otsikkorivistä ikkuna kohdeikkunan päälle. Kohdeikkunassa oleva viivoitus näyttää mihin kohtaan ikkuna tulee. Telakoidun ikkunan kokoa voi tietenkin muuttaa tuttuun Windows-tyyliin. Telakoinnin voi purkaa ikkunan oikeassa yläkulmassa olevalla vinonuolella. Jos ikkunat ovat päällekkäin, tulee ikkunan vasempaan alakulmaan painikkeet, jolla voi valita näkyvissä olevan ikkunan. Seuraavassa kuvassa on telakoitu komentoikkunaan Scilab Console editori-ikkuna SciNotes ja komentohistoriaikkuna Command History.

8 Scilab Osa Yleisiä komentoja Seuraavaan taulukkoon on koottu joitain hyödyllisiä yleiskomentoja. Komento who_user clear clear a b clc clf scf() dir Merkitys Tulostaa työtilassa olevien käyttäjän muuttujien ja funktioiden nimet Poistaa kaikki suojaamattomat muuttujat työtilasta Poistaa muuttujat a ja b työtilasta Tyhjentää komentoikkunan Tyhjentää nykyisen grafiikkaikkunan Avataan uusi grafiikkaikkuna Tulostaa työhakemiston sisällön ESIMERKKEJÄ. -->who_user User variables are: B A x y C help home Using 551 elements ouf of >clear C -->who_user User variables are:

9 9 Scilab Osa 1 B A x y help home Using 543 elements ouf of >clear x y -->who_user User variables are: B A help home Using 537 elements ouf of >clear -->who_user User variables are: home Using 20 elements ouf of SKALAARIT Scilabin keskeinen tietoalkio on matriisi. Skalaari eli luku on 1 1-matriisi: matriisi jossa on yksi rivi ja yksi sarake. Normaalisti luvut ovat liukuluja. Desimaalierotin on desimaalipiste. Itseisarvoltaan suuria ja pieniä lukuja voidaan kirjoittaa e- tai d-merkintää käyttäen: kirjaimen e tai d perässä on kokonaisluku, joka tarkoittaa luvun 10 potenssia. ESIMERKKEJÄ. --> >3.456e >3.456e >3.456d Laskutoimitukset Skalaareilla laskenta tapahtuu normaaliin tapaan. Laskentaoperaattorit ovat luonnolliset:

10 Scilab Osa 1 10 Operaatio Operandi Huomautus Yhteenlasku + Vähennyslasku Kertolasku * Kertomerkki on aina laitettava. Jakolasku / Potenssin korotus ^ tai ** --> Monta komentoa voidaan antaa samalla rivillä erottamalla ne pilkulla: -->2^10, 2**10, 5*(3+2), (6+2)/ Myös puolipistettä voidaan käyttää erottimena. Tällöin vain viimeisen komennon tulos tulee näytölle eikä sekään, jos viimeinen komento päätetään puolipisteeseen. Muuttujiin voidaan tallentaa arvoja sijoituskäskyllä, jonka operaattori on =. Jos tulosta ei tallenneta muuttujaan, Scilab tallentaa tuloksen muuttujaan ans. --> >7*ans >x=-15 x = >y=7*x y = Yhdellä komennolla voi tallentaa arvoja useampaan muuttujaan: -->[x,y,z]=(1,4,7) z = 7. y = 4. x = 1. Tällaista komentoa käyttäen on helppo vaihtaa muuttujien arvot.

11 11 Scilab Osa 1 -->[x,y]=(y,x) y = 1. x = 4. Muuttujan tai funktion nimen on alettava kirjaimella 1 tai merkillä %, _, #,!, $,?. Seuraavat merkit voivat olla kirjaimia, numeroita tai merkkejä _, #,!, $,?. Nimi voi olla kuinka pitkä tahansa, mutta vain 24 ensimmäistä merkkiä otetaan huomioon. Isot ja pienet kirjaimet ovat eri kirjaimia. -->#1kokeilu?=5 #1kokeilu? = 5. Laskentajärjestys on normaali matematiikan laskentajärjestys. Laskentajärjestystä voidaan ohjata kaarisuluilla ( ). -->(5.2^4+7.8^3)/(5.9^2*22.1) Yleisiä vakioita Scilabin vakioiden nimet alkavat %-merkillä. Seuraava taulukko sisältää yleisimmät vakiot. Vakio Merkitys %pi π %e Napierin luku e %i Imaginaariyksikkö i %eps Tietokoneen lukujen esitystarkkuus. %inf Ääretön %nan Ei luku (not a number) %t Tosi %f Epätosi %s Symbolinen muuttuja s %z Symbolinen muuttuja z -->%pi, %e %pi = %e = Jos imaginaariyksikkö kerrotaan luvulla, on käytettävä kertomerkkiä! -->%i^2 1 Tässä yhteydessä ääkkönen ei ole kirjain.

12 Scilab Osa >1/(2+%i) i -->(2+4*%i)/(3+2*%i) i Scilabissa reaalilukuja käsitellään kaksoistarkkuuden liukulukuina. Tämä esitysmuoto on tietokoneesta riippuva. Koska liukulukuesityksessä reaaliluvut esitetään äärellisellä määrällä bittejä, voi itseisarvoltaan tarpeeksi pienillä luvuilla a olla 1 a=1 : mutta ja -->(1+10^(-12)) D-12 -->(1+10^-13) D-14 -->(1+10^-14) D-15 -->(1+10^-15) D-15 -->(1+10^(-16))-1 0. Vakio %eps ilmoittaa tietokoneen lukujen esitystarkkuuden. Se on suurin luku a, jolle 1 a 2 =1 : -->%eps %eps = 2.220D-16 -->(1+%eps) D-16 -->(1+%eps/2)-1 0. Vakio %inf ei ole matemaattisesti ääretön. Jossain tapauksissa kuitenkin on tarkoituksenmukaista laskea ääretöntä käyttäen. Seuraavat laskutoimitukset antavat normaalisti virheilmoituksen:

13 13 Scilab Osa 1 Sen sijaan -->1/0!--error 27 division by zero... -->0/0!--error 27 division by zero... -->1/%inf 0. Virheilmoitukset johtuivat poikkeuskäsittelyn muodosta, johon voidaan vaikuttaa komennolla 1 ieee. Äskeinen asetus oli -->mod=ieee() mod = 0. Muutetaan se -->ieee(2) ja lasketaan 2 -->1/0 Inf -->-1/0 -Inf Seuraava muoto ei tietenkään ole luku. -->0/0 Nan Palautetaan oletusarvo -->ieee(mod) Vakiot %t ja %f ovat loogisia vakioita, joita käsitellään myöhemmin. Symbolisia muuttujia %s ja %z käsitellään luvussa 24.2 Rationaalilausekkeet (Osa 10). ESIMERKKI. Lasketaan suoran ympyrälieriön tilavuus kaavalla V = r 2 h, missä r on pohjaympyrän säde ja h on ympyrälieriön korkeus. 1 Komennosta saa tietoa helpistä esim. antamalla komento help ieee. Tämä huomautus pätee tietenkin muihinkin käsiteltäviin komentoihin. 2 Näiden kanssa on syytä olla varovainen, sillä lausekkeen raja-arvo 0:ssa riippuu siitä, mistä päin 0:aa lähestytään. 1 x

14 Scilab Osa 1 14 Annetaan muuttujille arvot (päätetään komennot puolipisteellä, jolloin tulos ei tule näytölle) -->r=1.2; h=0.35; Tallennetaan tilavuus muuttujaan V: -->V=%pi*r^2*h V = Muuta muuttujien r ja h arvoja ja laske uusi tilavuus. Käytä komentojen selailuun nuoli-näppäimiä. TEHTÄVIÄ 1. Laske katkaistun ympyräkartion tilavuus käyttäen kaavaa V = h a2 a b b 2 3, kun - kartion korkeus h = 0,92 m - pohjan säde a = 1,26 m - kannen säde b = 0,83 m. Sijoita arvot muuttujiin ja laske kaavaa käyttäen. Laskennan jälkeen muuta lähtöarvoja. Käytä selaamiseen nuolinäppäimiä. 2.3 Perusfunktiot Scilabissa on käytettävissä tutut matematiikan perusfunktiot. Näissä on kuitenkin joitain merkintäeroja normaaliin käytäntöön nähden. Funktio sqrt(x) exp(x) log(x), log10(x), log2(x) sin(x), cos(x), tan(x), cotg(x) asin(x), acos(x), atan(x), acot(x) sinh(x), cosh(x), tanh(x), coth(x) asinh(x), acosh(x), atanh(x), acoth(x) Merkitys neliöjuuri e-kantainen eksponenttifunktio luonnollinen logaritmi, 10-kantainen logaritmi, 2-kantainen logaritmi trigonometriset funktiot arkusfunktiot hyperboliset funktiot areafunktiot Edellä esiteltyjen trigonometristen funktioiden argumentti ja arkusfunktioiden arvot ovat radiaaneissa. ESIMERKKEJÄ. -->sqrt(2)

15 15 Scilab Osa 1 -->log(%e) 1. -->sin(%pi/2) 1. -->atan(1) Koska on 180 = π rad, 1 = 180 rad. Siis, jos haluaa laskea asteissa, voi määritellä Tällöin -->deg=%pi/180; muuttujalla deg kertominen muuntaa asteet radiaaneiksi muuttujalla deg jakaminen muuntaa radiaanit asteiksi -->sin(45*deg) >cos(60*deg) >atan(1)/deg 45. Scilabista löytyy myös trigonometriset funktiot ja niiden käänteisfunktiot, joissa laskenta tapahtuu asteissa. Niiden nimet eroavat edellä esiteltyjen trigonometristen funktioiden nimistä siten, nimen perään on lisätty d : sind, cosd, tand, cotd, asind, acosd, atand, acotd. Nämä funktiot on tehty siten, että joissain tilanteissa ne laskevat arvot tarkasti: ->sin(180*deg) 1.225D-16 -->sind(180) 0. Seuraava taulukko sisältää lisää perusfunktioita:

16 Scilab Osa 1 16 Funktio abs(x) sign(x) atan(y,x) real(z), imag(z) Merkitys itseisarvo etumerkki pisteen (x, y) paikkavektorin vaihekulma. Huom. järjestys! kompleksiluvun z reaaliosa, imaginaariosa ESIMERKKEJÄ (jatkoa). -->sign(3),sign(-15) >atan(4,3)/deg >z=3+4*%i; -->real(z), imag(z) Oikeastaan sign(x) on lausekkeen x x arvo: -->sign(z) i -->z/abs(z) i Kuitenkin -->sign(0) 0. Lukujen kokonaisluvuksi pyöristämiseen on käytettävissä seuraavia funktioita: Funktio Merkitys round(x) Pyöristäminen lähimpään kokonaislukuun 1 fix(x) tai int(x) floor(x) ceil(x) Kokonaisluvuksi pyöristäminen kohti nollaa eli desimaaliluvun kokonaisosa. Lattiafunktio: alaspäin kokonaisluvuksi pyöristäminen Kattofunktio: ylöspäin kokonaisluvuksi pyöristäminen 1 Desimaaliin.5 päättyvä luku pyöristetään siten, että luvun itseisarvo pyöristyy ylöspäin.

17 17 Scilab Osa 1 ESIMERKKEJÄ. -->round(-2.7), round(2.7) >fix(-2.7), fix(2.7) >floor(-2.7), floor(2.7) >ceil(-2.7), ceil(2.7) TEHTÄVIÄ 1. Laske lausekkeiden arvot: 33,2 33,3 3 e 2,05 sin(30) sin(30 ) 2,3 4,2 arccos 3 2 (esitä tulos asteina) 3. MATRIISIT Matriisi on suorakulmion muotoinen lukutaulukko. Jos matriisissa on m riviä ja n saraketta, matriisin sanotaan olevan kertalukua m n. Puhutaan myös m n-matriisista. Erityisesti luvut eli skalaarit ovat 1 1-matriiseja. vaakavektorit ovat matriiseja, joissa on yksi rivi. pystyvektorit ovat matriiseja, joissa on yksi sarake. Matriisin alkiot a ij indeksoidaan siten, että ensimmäinen indeksi i ilmoittaa rivin toinen indeksi j ilmoittaa sarakkeen. Indeksointi alkaa luvusta Matriisien syöttö Matriisit syötetään hakasulkujen väliin vaakariveittäin seuraavasti: rivin alkiot erotetaan toisistaan välilyönnillä tai pilkulla rivit erotetaan toisistaan Enterin painalluksella tai puolipisteellä.

18 Scilab Osa >A=[ > >7 8 9] A = >B=[-3,0,2;5,-1,7] B = Syötetään vielä vaaka- ja pystyvektorit -->u=[2 0-3] u = >v=[1;-4;6] v = Matriisin alkioita syötettäessä lausekkeissa ei saa olla ylimääräisiä välilyöntejä, koska matriisin alkiot voidaan erottaa toisistaan myös välilyönnillä. -->C=[2+%e 2+3*%i] // Ei ylimääräisiä välilyöntejä C = i -->C=[2 + %e 2 + 3*%i] // Operaattorit erotettu välilyönneillä: oikein C = i -->C=[2 +%e 2 +3*%i] // Ylimääräisiä välilyöntejä: väärin! C = i Merkintä [ ] tarkoittaa tyhjää matriisia, jossa ei ole yhtään alkiota. Scilabissa voidaan määritellä tyhjä matriisi, jota voidaan täydentää myöhemmin. Määrittelemällä matriisi tyhjäksi matriisiksi, tyhjennetään matriisin sisältö ja vapautetaan matriisin vaatima tila. -->C=[] C = [] Matriisin alkioihin viitataan ilmoittamalla suluissa pilkulla erotettuna rivi ja sarake, jolla alkio sijaitsee. Matriisin A 2. rivin 1. alkio: -->A(2,1) 4. Vektorin alkioihin voidaan viitata yhdellä indeksillä: -->u(3)

19 19 Scilab Osa 1-3. Matriisin riveihin ja sarakkeisiin viitataan seuraavasti: A(i, :) matriisin A i:s rivi A(:, j) matriisin A j:s sarake Matriisin A 2. rivi ja 3. sarake: -->A(2,:) >A(:,3) Sisäisesti matriisi on tallennettu pystyvektorina asettamalla sarakkeet peräkkäin. Matriisin alkioihin voidaan siis aina viitata myös yhdellä indeksillä. Komento A(:) tulostaa matriisin pystyvektorina. -->A A = >A(:) >A(6) 8. Matriisin kertaluku saadaan selville komennolla size. Komento antaa tulokseksi 1 2-matriisin, jonka alkiot sisältävät matriisin kertaluvun. -->size(b) Vektorin dimensio saadaan selville komennolla length: -->length(v) 3. -->length(a)

20 Scilab Osa Seuraava komento tallentaa matriisin rivien määrän muuttujaan m ja sarakkeiden määrän muuttujaan n. -->[m,n]=size(b) n = 3. m = 2. Komennolla tai matrix(v, m, n) matrix(v, [m, n]) muutetaan matriisi tai vektori, jossa on m n alkiota m n-matriisiksi. Muunnos tehdään sarakkeittain. -->v=[1,2,3,4,5,6] v = >matrix(v,2,3) >matrix(v,[3,2]) Seuraavassa taulukossa on esitetty joidenkin erikoismatriisien luontikomentoja: Komento eye(m,n) eye(a) eye() zeros(m,n) zeros(a) ones(m,n) ones(a) Toiminto m n-yksikkömatriisi: matriisi, jonka lävistäjällä on ykkösiä, muualla nollia yksikkömatriisi, jolla on sama kertaluku kuin matriisilla A yksikkömatriisi, jolla on sama kertaluku kuin siihen lisättävällä matriisilla m n-matriisi, jonka alkiot ovat nollia nollamatriisi, jolla on sama kertaluku kuin matriisilla A m n-matriisi, jonka alkiot ovat ykkösiä matriisi, jonka alkiot ovat ykkösiä ja jolla on sama kertaluku kuin A:lla ESIMERKKEJÄ. -->eye(3,3)

21 21 Scilab Osa >ones(2,2)-eye() >x=[1,4,-1,5]; zeros(x) >17*ones(1,9) Saman skalaarimuuttujan toisto voidaan muodostaa komentoa ones käyttäen: -->ones(1,10) >a=7; -->a(ones(1,10)) >s='einstein' s = Einstein //Tämä on merkkijono -->s(ones(3,5)) //Merkkijonomatriisi!Einstein Einstein Einstein Einstein Einstein!!!!Einstein Einstein Einstein Einstein Einstein!!!!Einstein Einstein Einstein Einstein Einstein! TEHTÄVIÄ. 1. Muodosta 15 7-matriisi, jonka kaikki alkiot ovat lukuja Vektorien syöttö Scilabissa kaksoispisteellä on tärkeä merkitys. Edellä oli jo esillä kuinka matriisin rivi- ja sarakevektorit muodostetaan kaksoispistettä käyttäen. Myös vektoreiden muodostamisessa voidaan käyttää kaksoispistettä. Vaakavektoreita voidaan luoda seuraavasti: a:b on vektori, jonka koordinaatit muodostavat lukujonon a,a 1,a 2, lukuun b asti. Tuloksena on tyhjä matriisi [ ], jos a b. a: :b on vektori, jonka koordinaatit muodostavat lukujonon a,a, a 2, lukuun b asti. Tuloksena on tyhjä matriisi [ ], jos lisäys on rajoihin nähden vääränmerkkinen.

22 Scilab Osa 1 22 linspace(a,b) on vektori, joka koostuu 100:sta välillä [a, b] tasavälisesti olevasta luvusta 1, joista ensimmäinen on a ja viimeinen on b. linspace(a,b,n) on vektori, joka koostuu n:sta välillä [a, b] tasavälisesti olevasta luvusta. Pystyvektori saadaan transponoimalla vaakavektori: jos v on vaakavektori, niin v on pystyvektori 2. ESIMERKKEJÄ. -->v1=3:9 v1 = >v2=9:-1:3 v2 = >v1+v >2.1: >1.2:0.5: >linspace(-1.7,2.8,6) >(0:3:12)' TEHTÄVIÄ. 1. Muodosta vaakavektori, jonka alkiot ovat nousevassa järjestyksessä välillä [ 2, ] luvun 0,3 välein. 2. Muodosta vaakavektori, jonka alkiot ovat laskevassa järjestyksessä välillä [ 2, ] luvun 0,3 välein. 3. Muodosta pystyvektori, jonka alkioiden määrä on 20 ja alkiot ovat tasavälisesti välillä [1, 3]. 1 Logaritmisesti tasan jakautuneita lukuja voidaan luoda logspace-komennolla (ks. luku 6.3, Osa 2) 2 Transpoosia käsitellään tarkemmin myöhemmin.

23 23 Scilab Osa Satunnaismatriisit Satunnaislukujen ja satunnaismatriisien muodostamiseen voidaan käyttää komentoa rand. rand() antaa satunnaisluvun rand(m,n) antaa m n-satunnaismatriisin rand(a) antaa satunnaismatriisin, jolla on sama kertaluku kuin matriisilla A. Satunnaisluvut ovat oletusarvoisesti tasan jakautuneita välillä [, 1] rand(, normal ) antaa (0,1)-normaalijakauteita satunnaislukuja 0. Komennon muoto ESIMERKKEJÄ. Muodostetaan 3 5-matriisi, jonka alkiot ovat tasan jakautuneet välillä [ 10,10]. -->a=-10; b=10; -->x=a+(b-a)*rand(3,5) //Skalaarin lisääminen ks. luku 3.4 x = Muodostetaan 2 7-satunnaismatriisi, jonka alkiot ovat tasan jakautuneita kokonaislukuja välillä 0..9: -->floor(10*rand(2,7)) Muodostetaan satunnaisvektori, jonka alkiot ovat tasan jakautuneita kokonaislukuja välillä Koska komento 5+(13-5)*rand tuottaa välillä [5,13] tasan jakautuneita satunnaislukuja, saadaan välillä tasan jakautuneita kokonaislukuja komennolla floor(5+8*rand). Muodostetaan 7-vektori: -->floor(5+8*rand(1,7)) Satunnaislukugeneraattori lähtee aina samasta siemenarvosta 0 liikkeelle. Siemenarvon voi muuttaa komennolla rand( seed,n), missä n on kokonaisluku. Komento rand( seed ) antaa tulokseksi nykyisen siemenarvon. Satunnaislukugeneraattorin voi alustaa satunnaiseen tilaan komennolla 1 -->rand('seed',getdate('s')) ESIMERKKEJÄ. Muodostetaan samat satunnaisluvut kahteen kertaan 1 Komento getdate('s') antaa ajan sekunteina alkaen. Satunnaislukugeneraattorin alustusta ohjelmasilmukassa on syytä välttää ks. monisteen Ohjelmointi lukua

24 Scilab Osa >n=rand('seed'); -->rand(1,5) >rand('seed',n); -->rand(1,5) TEHTÄVIÄ 1. Muodosta 3 4-matriisi, jonka alkiot ovat tasan jakautuneet välillä [2,5]. 2. Muodosta 1 9-satunnaismatriisi, jonka alkiot ovat tasan jakautuneita kokonaislukuja välillä Toteuta Scilabilla lottoarvonta. Lotossa arvotaan 7 lukua väliltä 1 39: Muodosta satunnainen 7-vektori, jonka alkiot ovat satunnaisia lottonumeroita. Jos joukossa on samoja lukuja suorita arvonta uudestaan. Lajittele luvut nousevaan suuruusjärjestykseen komennolla gsort(vektori,'g','i') (ks. helppi). Lottoarvonnassa on tietenkin syytä alussa alustaa satunnaislukugeneraattori satunnaiseen tilaan. 4. Toteuta Scilabilla veikkausarvonta. Veikkauksessa on 12 kohdetta, joissa kussakin jokin merkinnöistä 1, x, 2. Toteuta tämä Scilabilla korvaamalla x luvulla 0. Muodosta siis satunainen 12-pystyvektori, jonka alkiot ovat satunnaislukuja 0, 1, 2. Tässäkin on tietenkin syytä alussa alustaa satunnaislukugeneraattori satunnaiseen tilaan. 3.4 Osamatriisit ja lohkomatriisit Matriisin A osamatriisilla tarkoitetaan matriisia, joka on muodostettu matriisin A alkioista. Matriisin A alimatriisi on osamatriisi, jossa alkioiden järjestys on sama kuin matriisissa A. Seuraavaan taulukkoon on koottu m n-matriisin A osamatriisin muodostuskomentoja. Osa näistä on ollut esillä jo aiemmin. Komento A(i,j) A(i,:) A(:,j) A(i:k,:) A(:,j:k) Toiminto i:nnen rivin ja j:nnen sarakkeen alkio i:s rivi j:s sarake Alimatriisi, joka koostuu riveistä i, i+1,, k Alimatriisi, joka koostuu sarakkeista j, j+1,, k A(i:k,j:p) Alimatriisi, joka koostuu riveistä i k ja sarakkeista j p. A(:) A(j:k) A([i1,i2, ],:) A(:,[j1,j2, ]) A([i1,i2, ],[j1,j2, ]) Pystyvektori, jossa matriisin A sarakkeet ovat peräkkäin. Pystyvektori, joka koostuu vektorin A(:) alkioista j k. Osamatriisi, joka koostuu riveistä i1, i2, Osamatriisi, joka koostuu sarakkeista j1, j2, Osamatriisi, joka koostuu riveistä 1 i1, i2, ja sarakkeista j1, j2, 1 Sama rivi-indeksi tai sarake-indeksi voi esiintyä useampaan kertaan...

25 25 Scilab Osa 1 ESIMERKKEJÄ. -->A=matrix(1:9,[3,3]) A = >A(2:3,:) >A([3,2],1:2) Merkintä $ tarkoittaa indeksin viimeistä arvoa, $ 1 viimeistä edellistä jne. -->A($,:) >A(:,$-1) Vektorin alkioiden järjestys voidaan kääntää seuraavalla tavalla: -->v=floor(10*rand(1,9)) v = >v($:-1:1) Matriisista A poistetaan i:s rivi komennolla A(i,:) = [ ] j:s sarake komennolla A(:,j) = [ ] -->A(2,:)=[] A = Matriisin osa voidaan muuttaa toiseksi sijoituskäskyllä. Sijoituskäskyllä voidaan myös muuttaa matriisin kokoa. Tällöin määrittelemättömät alkiot saavat arvon nolla. -->A=[1:4;5:8] A =

26 Scilab Osa >A(:,3:4)=eye(2,2) A = >A(3,6)=-3 A = Lohkomatriisi on matriisi, jonka alkiot ovat matriiseja. Alkioina olevien matriisien on oltava kertaluvultaan yhteen sopivia. Näin muodostuu isompi matriisi, jonka alimatriiseja lohkot ovat. Lohkomatriiseja muodostetaan samaan tapaan kuin tavallisia matriiseja. -->B=[1 2; 3 4] B = >[B, zeros(b); eye(b), 10*B] Sopivaa kertalukua olevia matriiseja voidaan asettaa päällekkäin käyttäen operaattorina rivinvaihtomerkkiä ; peräkkäin käyttäen operaattorina välilyöntiä tai, Kyseessä on siis lohkomatriisin muodostaminen. -->A=rand(2,3) A = >B=ones(A) B = >C=[A;B] C = >D=[A,B] D = Tyhjän matriisin [ ] alle tai perään voidaan asettaa millainen matriisi tahansa: -->[[],D]

27 27 Scilab Osa 1 TEHTÄVIÄ Muodosta lohkomatriiseja käyttäen kuvan kaltainen matriisi jonka lohkot ovat kertalukua Muodosta komento, joka a) kääntää matriisin sarakevektorit vastakkaiseen järjestykseen. b) kääntää matriisin rivivektorit vastakkaiseen järjestykseen Testaa tulos satunnaismatriisilla. 3.5 Matriisioperaatiot Seuraavassa esitellään matriisilaskennan perusoperaatiot yhteenlasku, kertolasku ja transpoosi. Esimerkeissä käytetään seuraavia matriiseja: -->A=[1 2 3; 4 5 6; 7 8 9] A = >B=[3-2 -1; 4 5-2; ] B = Matriisien yhteenlasku ja vähennyslasku on määritelty, jos matriiseilla on sama kertaluku. Yhteenlaskussa vastinalkiot lasketaan yhteen; vähennyslaskussa vastinalkiot vähennetään. -->A+B Yhteenlaskun erikoistapauksena on skalaarin lisääminen tai vähentäminen. Tällöin skalaari lisätään jokaiseen alkioon tai vähennetään jokaisesta alkiosta. -->A

28 Scilab Osa 1 28 Matriisin kertolasku on määritelty, jos kertojassa on yhtä monta saraketta kuin kerrottavassa rivejä. Tulon AB i:nnen rivin ja j:nnen sarakkeen alkio on A:n i:nnen rivin ja B:n j:nnen sarakkeen vastinalkioiden tulojen summa. Tulossa AB on yhtä monta riviä kuin matriisissa A yhtä monta saraketta kuin matriisissa B Kertolaskun merkkinä on *. -->A*B Kertolaskun erikoistapaus on skalaarilla kertominen tai jakaminen. Tällöin matriisin jokainen alkio kerrotaan tai jaetaan skalaarilla. -->-10*A >A/ Neliömatriisin positiivisella kokonaislukupotenssilla tarkoitetaan neliömatriisin kertomista itsellään seuraavasti: A k = k kpl. Potenssiin korotuksen merkkinä on ^ tai **. A A A -->A^ >A*A*A Scilabissa on kaksi matriisien jakolaskua: oikealta jako / ja vasemmalta jako \. Oikealta jako A/B on määritelty, jos matriisien A ja B sarakkeiden määrä on sama. Tuloksena on sellainen matriisi X, joka toteuttaa yhtälön 1 XB=A. Jos matriisilla B on käänteismatriisi, on A/B = A B 1. Vasemmalta jako 2 A\B on määritelty, jos matriisien A ja B rivien määrä on sama. Tuloksena on sellainen matriisi X, joka toteuttaa yhtälön AX=B. Jos matriisilla A on käänteismatriisi, on 1 mikäli mahdollista. En täsmälleen tiedä, mikä ratkaisu matemaattisesti on. 2 Vasemmalta jakoa käsitellään tarkemmin Luvussa 15 Yhtälöryhmän ratkaiseminen (Osa 4)

29 29 Scilab Osa 1 A\B = A 1 B, muuten tulos on yhtälön pienimmän neliösumman ratkaisu. -->A=[1 2 3; 5 6 7] A = >B=[3 6; 1-5] B = >X=A\B X = >A*X // Tarkistus Matriisin transpoosissa muutetaan rivit sarakkeiksi (tai sarakkeet riveiksi). Reaalialkioisen matriisin A transpoosi on A : -->A=[-3,0,4;5,1,-2] A = >A' Matriisi, jonka sarakkeina ovat annetut vektorit: -->C=[1:4;5:8;9:12]' C = Oikeastaan A muodostaa matriisin A alkioista myös kompleksikonjugaatit. Pelkkä transpoosi muodostetaan seuraavalla komennolla A. : -->A=[-%i, 2+5*%i; 7+2*%i,4] A = - i i i 4. -->A' i i i 4.

30 Scilab Osa >A.' - i i i 4. Reaalialkioisille matriiseille nämä ovat tietenkin samat. 3.6 Taulukko-operaatiot Aritmeettisia operaatioita, jotka suoritetaan kahden matriisin vastinalkioiden kesken sanotaan taulukko-operaatioiksi tai alkioittaisiksi operaatioiksi. Ne vastaavat taulukkolaskennassa käytettyjä operaatioita. Taulukko-operaatioissa matriisien kertalukujen on oltava samoja. Taulukkooperaatio saadaan laittamalla piste operaattorin eteen. Esimerkeissä käytetään seuraavia matriiseja: -->A=[1 2;3 4] A = >B=[5 6;2-3] B = Matriisien yhteen- ja vähennyslasku ovat myös taulukko-operaatioita. Alkioittaisessa tulossa lasketaan vastinalkioiden tulo. Operaatiota merkitään.* -->A.*B Alkioittaisessa jakolaskussa lasketaan vastinalkioiden osamäärä. Alkioittaisia jakolaskuja on kaksi: jako oikealta./ ja jako vasemmalta.\ -->A./B >A.\B Alkioittaisen jakolaskun erikoistapaus on skalaarin jakaminen matriisilla: tuloksena on jakajamatriisin kokoinen matriisi, joka saadaan jakamalla skalaari alkioittain jakajamatriisilla. Jos kokonaisluku jaetaan alkioittain vektorilla tai matriisilla on luku päätettävä desimaalipisteeseen, jolloin jakomerkin eteen tulee kaksi pistettä (../) tai laitettava välilyönti ennen jakolaskuoperaattoria./ Tämä johtuu siitä, että muuten operaatiolla on yhtälöryhmän ratkaisemiseen liittyvä tulkinta. -->x=1:5

31 31 Scilab Osa 1 x = >1./x // Väärin tässä yhteydessä! -->1../x // Oikein >1./x // Oikein >a=1 a = 1. -->a./x Alkioittaisessa potenssiin korotuksessa korotetaan kantamatriisi alkioittain eksponenttimatriisin osoittamaan potenssiin. Operaatiota merkitään.^ -->A.^B Alkioittaiseen potenssiin korottamisen erikoistapauksia on kaksi: eksponentti on skalaari. Tällöin matriisin jokainen alkio korotetaan skalaarin osoittamaan potenssiin. kantamatriisi on skalaari. Tällöin tuloksena on eksponenttimatriisin kokoinen matriisi, joka saadaan korottamalla kantaluku alkioittain eksponenttimatriisin osoittamaan potenssiin. -->A.^ >2.^A //Välilyönti ^-merkin jälkeen! TEHTÄVIÄ. 1. Muodosta vektori x, joka koostuu välillä 1 10 olevista luvuista 0,5:n välein. Luvut ovat siis 1; 1,5; 2; 2,5;, 10. Laske seuraavien funktioiden arvot vektorin x alkioilla. a) 1 x b) x 2 c) x sin x d) 5 x 3 2 x 2 e x

32 Scilab Osa Taulukkofunktiot Taulukkofunktio on funktio, joka operoi matriisiin alkioittain. Tällaisia ovat luvussa 2.3 esitellyt matematiikan perusfunktiot. -->A=[1 2;3 4] A = >sqrt(a) >exp(a) >floor(ans) >sin([%pi,0; %pi/2,-%pi/4]) 1.225D Esitetään vielä muutama taulukkolaskennan tyyppinen funktio: Funktio sum(a) prod(a) max(a), min(a) mean(a) stdev(x) cumsum(a) gsort(a) Toiminto matriisin A alkioiden summa matriisin A alkioiden tulo matriisin A suurin, pienin alkio matriisin A alkioiden keskiarvo matriisin A alkioiden keskihajonta matriisin A alkioiden kumuloituva summa vektorina. matriisin A alkioiden lajittelu laskevaan suuruusjärjestykseen. Tulos esitetään sarakkeittain. Vektorille x kumuloituva summa cumsum(x) tarkoittaa seuraavaa vektoria cumsum(x) = [x(1), x(1)+x(2), x(1)+x(2)+x(3), ]. Matriisille kumuloituva summa lasketaan sarakkeittain edeten. Tuloksena on samaa kertalukua oleva matriisi. ESIMERKKEJÄ. Käytetään esimerkeissä satunnaismatriiseja, joissa alkiot ovat välillä >x=floor(-9+19*rand(1,10)) x =

33 33 Scilab Osa 1 Komento >sum(x) >max(x) 9. -->cumsum(x) >A=matrix(x,[2,5]) A = >cumsum(a) >cumsum(a(:))' >gsort(a) sum(a, r ) laskee matriisin A kunkin sarakevektorin alkioiden summan ja esittää tuloksen rivivektorina. sum(a, c ) laskee matriisin A kunkin rivivektorin alkioiden summan ja esittää tuloksen sarakevektorina. Vastaavaa komennon muotoa voidaan käyttää myös muille taulukon funktioille. ESIMERKKEJÄ. Edellisen esimerkin matriisille A: -->sum(a,'r') >max(a,'r') >gsort(a,'c')

34 Scilab Osa 1 34 Komento gsort(a, g, i ) lajittelee matriisin A alkiot nousevaan suuruusjärjestykseen. -->gsort(a,'g','i') Kertomafunktio n! voidaan laskea tulona prod(1:n) tai komennoilla factorial(n) tai gamma(n+1) Komento -->prod(1:11) >factorial(11) >gamma(12) modulo(m, n) muodostaa lukujen m ja n jakolaskun m/n jakojäännöksen, jonka tulos on samanmerkkinen kuin m. Komento pmodulo(m, n) muodostaa jakojäännöksen, jonka tulos on samanmerkkinen kuin n. Näissä komennoissa m ja n voivat olla myös samaa kertalukua olevia matriiseja tai n luku. ESIMERKKEJÄ. -->m=[12,-12,12,-12]; -->n=[5,5,-5,-5]; -->modulo(m,n) >pmodulo(m,n) >modulo(12.4,5.1) >m=[34,56.2;52,9.3] m = >n=[7,8;3.4,5]

35 35 Scilab Osa 1 n = >modulo(m,n) >modulo(100:110,5) ESIMERKKI. Komennolla testmatrix voidaan muodostaa tiettyjä erikoismatriiseja. Esimerkiksi komento testmatrix( magi,n) tulostaa taikaneliön. Tämä on matriisi, jossa lukujen summa on sama joka vaaka- ja pystyriveillä. Myös neliön lävistäjien summa on sama. Muodostetaan 5 5-taikaneliö ja tarkistetaan, että se todella on taikaneliö. Tarkistuksessa käytetään komentoa diag, joka määrittää matriisin lävistäjäalkiot. -->A=testmatrix('magi',5) A = >sum(a,'r') // Sarakkeiden summat >sum(a,'c') >sum(diag(a)) 65. // Rivien summat // Lävistäjän alkioiden summa -->sum(diag(a(:,$:-1:1))) // Antilävistäjän alkioiden summa 65. TEHTÄVIÄ 1. Muodosta 7 7-satunnaismatriisi, jonka alkiot ovat kokonaislukuja välillä Määritä matriisin sarakkeiden ja rivien keskiarvot. Määritä myös matriisin kaikkien alkioiden keskiarvo. Tarkista tämä laskemalla kaikkien alkioiden summa ja jakamalla se matriisin alkioiden määrällä.

36 Scilab Osa Selvitä kokeilemalla, mikä on suurin luku, jonka kertoma voidaan laskea Scilabilla? 4. TIETOTYYPPEJÄ Päätietotyyppi Scilabissa on matriisi. Tämän lisäksi Scilabissa on monia muita tietotyyppejä. Komennolla type(x) saadaan objektin x tyyppi selville. Komento antaa tulokseksi kokonaisluvun, joka ilmoittaa objektin tyypin seuraavasti: 1 : real or complex constant matrix. 2 : polynomial matrix. 4 : boolean matrix. 5 : sparse matrix. 6 : sparse boolean matrix. 7 : Matlab sparse matrix. 8 : matrix of integers stored on 1 2 or 4 bytes. 9 : matrix of graphic handles. 10 : matrix of character strings. 11 : un-compiled function (Scilab code). 13 : compiled function (Scilab code). 14 : function library. 15 : list. 16 : typed list (tlist). 17 : matrix oriented typed list (mlist). 128 : pointer. 129 : size implicit polynomial used for indexing. 130 : Scilab intrinsic (C or Fortran code). Tämä luettelo sisältänee Scilabin tietotyypit. Komento typeof(x) tulostaa objektin x tyypin merkkijonona. Vaihtoehdot ovat seuraavat: "constant" if object is a real or complex constant matrix. "polynomial" if object is a polynomial matrix. "function" if object is a function (Scilab code). "handle" if object is an handle. "string" if object is a matrix made of character strings. "boolean" if object is a boolean matrix. "list" if object is a list. "rational" if object is a rational matrix (transfer matrix). "state-space" if object is a state-space model. "sparse" if object is a (real) sparse matrix. "boolean sparse" if object is a boolean sparse matrix. "hypermat" if object is an hypermatrix (N-dimension array with N >=3). "st" if object is a structure array. "ce" if object is a cell array. the first string in the first list entry if object is a tlist or mlist. "fptr" if object is a Scilab intrinsic (C or Fortran code). "pointer" if object is a pointer. "size implicit" if object is a size implicit polynom used for indexing. "library" if object is function library. "int8" or "uint8" or "int16" or "uint16" or "int32" or "uint32" if object is a matrix of [unsigned] integers stored on 8, 16 or 32 bits. See int8)

37 37 Scilab Osa 1 ESIMERKKI. -->A=rand(2,3); -->type(a) 1. -->typeof(a) constant 4.1 Listat Monet Scilabin objektit on muodostettu listoina. Scilabissa listat ovat tietorakenteita, jotka voivat sisältää erilaisia objekteja. Listoja on kolmea eri tyyppiä: list. Listan alkioihin voidaan viitata indeksillä tlist. Listarakenne on dynaaminen ja listan alkioihin voidaan viitata nimillä ja indekseillä. mlist. Listarakenne on dynaaminen ja listan alkioihin voidaan viitata nimillä. Nimellä tapahtuva viittaus käyttää operaattoria piste (.) seuraavan esimerkin mukaisesti. ESIMERKKI. Seuraavassa on lista x luotu dynaamisesti. -->clear x // Poistetaan mahdollinen muuttuja x -->x.tyyppi='kolmio'; -->x.ala=11.3; -->x.sivut=[3.4,6.7,7.1]; -->x x = tyyppi: "kolmio" ala: 11.3 sivut: [3.4,6.7,7.1] Lista x on mlist: -->type(x) 17. Alkioihin voidaan viitata nimellä: -->x.tyyppi kolmio -->x.sivut Viittaaminen indeksiä käyttäen ei käy: -->x(1)

38 Scilab Osa 1 38 tyyppi: "kolmio" ala: 11.3 sivut: [3.4,6.7,7.1] -->x(2)!--error 21 invalid index at line 90 of function %st_e called by : x(2) Seuraavassa on esitetty joitain listaoperaatioita. Tyhjä lista luodaan komennolla list(). -->L=list() L = () // Tyhjä lista -->L(2)=rand(2,2) // Luodaan alkio L = L(1) Undefined L(2) Listan alkioon viitataan indeksiä käyttäen: -->L(2) Listan indeksointi alkaa ykkösestä. Listan alkuun voidaan lisätä alkio sijoituskäskyllä L(0) = Samalla seuraavien indeksi kasvaa yhdellä: -->L(0)=55 L = L(1) 55. L(2) Undefined L(3) Listan loppuun voidaan lisätä alkio sijoituskäskyllä L($+1) = : -->L($+1)=100 L = L(1) 55. L(2) Undefined L(3) L(4)

39 39 Scilab Osa Sijoituskäsky L(i) = null() poistaa alkion i: -->L(2)=null() L = L(1) 55. L(2) L(3) 100. Listasta voidaan poimia alkioita seuraavaan tapaan: -->[a,b]=l([1,3]) b = 100. a = 55. Komento list(a1, a2, ) luo listan, jonka alkiot ovat a1, a2, -->L1=list('la','su') L1 = L1(1) la L1(2) Su Listoja voidaan asettaa peräkkäin komennolla lstcat(l1, L2): -->L2=lstcat(L,L1) L2 = L2(1) 55. L2(2) L2(3) 100. L2(4) la L2(5) su Listan pituus saadaan selville komennolla size tai length. -->size(l2) 5. Lista L2 on list: -->type(l2) 15.

40 Scilab Osa Lukujen esitysmuodot Liukuluvut Scilabin laskenta suoritetaan pääasiassa kaksoistarkkuuden (64 bitin) liukuluvuilla. Tällöin laskentatarkkuus on noin 16 numeroa. Lukujen esitysmuoto ei vaikuta laskennan tarkkuuteen. Liukulukujen tyyppi on 1. Lukujen esitysmuotoon voidaan vaikuttaa komennolla format, jonka muoto on format( v, luku) tai format(luku): muuttuva esitysmuoto, jossa numeroiden maksimimäärä on luku format( e, luku): eksponenttiesitys, jos numeroiden maksimimäärä on luku. Oletusarvoinen esitysmuoto on format( v,10). Esitysmuodon saa selville komennolla format. Komento antaa tulokseksi vaakavektorin [m, n], missä m = 1 tarkoittaa esitysmuotoa v ja m = 0 tarkoittaa esitysmuotoa e. Luku n ilmoittaa numeroiden maksimimäärän. ESIMERKKEJÄ. -->format >sqrt(2) >10^(-5)*sqrt(2) >10^(-7)*sqrt(2) >10^(-8)*sqrt(2) 1.414D-08 -->10^10*sqrt(2) 1.414D+10 -->format("e",14) -->format D+00 -->sqrt(2) D D+01 -->10^(-7)*sqrt(2) D-07 -->10^10*sqrt(2) D+10

41 41 Scilab Osa 1 -->format("v",10) -->format Lukujen esittäminen liukulukuina ei ole tarkkaa, joten laskenta liukuluvuilla ei myöskään ole tarkkaa. ESIMERKKEJÄ Seuraavassa funktio int pyöristää kokonaisluvuksi kohti nollaa. -->int(10*0.1) 1. -->int(10*(1-0.9)) 0. Ero johtuu siitä, että lukua 0,9 ei voida esittää tarkasti liukulukuna. -->format(25) // Enemmän numeroita --> >10*(1-0.9) Komento clean(a, {tol}) asettaa nolliksi ne matriisin alkiot, joiden itseisarvo on pienempi noin kuin tol. Oletusarvona on >A=10^(-5:-2:-13).*rand(1,5) A = 1.0D-10 * >clean(a) 1.0D-08 * >clean(a,1d-8) 2.917D D Kokonaisluvut Kokonaisluvut voidaan tallentaa 1, 2 tai 4 tavuun omilla komennoillaan. Esimerkiksi komento int32(x)

42 Scilab Osa 1 42 tallentaa luvun x kokonaisluvuksi 4 tavuun. Kokonaisluku on tällöin välillä eli välillä Komento uint32(x) tallentaa luvun x ei-negatiiviseksi kokonaisluvuksi 4 tavuun. Tämä luku on välillä välillä eli Kokonaisluvut ovat tyyppiä 8. Kokonaislukujen peruslaskutoimitukset 1 tuottavat tulokseksi kokonaislukuja. Tässä on erityisesti huomattava, että jakolaskun tulos on kokonaisluku kokonaisluvun ja liukuluvun summa ja tulo ovat kokonaislukuja. Laskennassa käytetään liukuluvun kokonaisosaa. ylivuoto tapahtuu jos tulos menee kyseisen kokonaislukualueen ulkopuolelle. Scilabissa ylivuoto on sirkulaarinen eli luku pyörähtää ympäri (ks Esimerkkejä). Komento double(x) muuttaa kokonaisluvun x liukuluvuksi. Komentoikkunaan luvut tulostuvat seuraavasti: kokonaisluvussa ei ole desimaalipistettä liukuluvussa on desimaalipiste. ESIMERKKEJÄ. -->x=267 x = 267. // Liukuluku -->type(x) 1. -->m=int32(267) m = 267 // Kokonaisluku -->type(m) 8. -->double(m) 267. // Liukuluku -->type(ans) 1. -->67*m >type(ans) 1 Yhteen-, vähennys-, kerto-, jakolasku ja positiiviseen kokonaislukuun korottaminen.

43 43 Scilab Osa >67.31*m >67.31*double(m) // Tulo kokonaisluku! // Oikea arvo -->67*267 // Liukuluvusta otetaan kokonaisosa >-0.98*m 0 -->m/ >double(m)/ // Osamäärä kokonaisluku // Oikea arvo -->m^ >m^4 // Ylivuoto >double(m)^4 // Oikea arvo 5.082D+09 ESIMERKKI: Sirkulaarinen ylivuoto. Komento int8(x) tuottaa kokonaisluvun, joka on välillä eli välillä Kokeillaan laskentaa arvoalueen rajoilla. -->x=int8(127) x = >x+1,x >-x-1,-x

44 Scilab Osa 1 44 Kokonaisluvut voidaan tietenkin tallentaa liukukuina, mutta jos kokonaisluvun itseisarvo on liian suuri, se ei ole tarkka. Scilabissa kokonaislukujen liukulukulaskenta on tarkkaa, jos kokonaisluvut ja niiden laskennan kaikki välitulokset ovat välillä eli välillä ESIMERKKEJÄ. -->format(20) // Tuloksen esitystarkkuus suurempi Laskenta oikein: -->2^ >2^ Laskenta väärin 1 : -->2^ >2^ >2^53+2 Kokeillaan vielä: >(2^52+1)-2^ >(2^53+1)-2^53 0. Huom. Jos matriisin alkioiden sarake- ja rivi-indeksit ovat liukulukuja, pyöristää Scilab ne ennen laskentaa kokonaisluvuiksi alaspäin funktiota int käyttäen. Tämä saattaa johtaa yllättäviin virheisiin. 1 Tämä ei tietenkään ole Scilabin vika, vaan virhe johtuu siitä, että liukulukuesityksessä luku esitetään tietyssä muodossa 64:llä bitillä. Tällöin luvun esitysmuoto ei välttämättä ole tarkka.

45 45 Scilab Osa 1 ESIMERKKEJÄ mutta -->A=[1:3;4:6] A = >A(2,[1., 1.2, 1.]) >A(2,(1-0.9)*10)!--error 21 Invalid index. Virhe johtuu siitä, että Scilabissa luku (1-0.9)*10) ei olekaan tarkasti 1, vaan -->format(20) // Suurempi esitystarkkuus -->(1-0.9)* ja alaspäin pyöristettäessä 0 ->int((1-0.9)*10) Rationaaliluvut Rationaaliluvuilla laskentaa Scilabissa ei taida olla. Kuitenkin komennolla rat voidaan muodostaa liukuluvun rationaaliapproksimaatio. Komennon muoto on [n, d] = rat(x, {tol}), missä sisäänmenoparametrit ovat x on liukulukumatriisi tol suhteellinen toleranssi ja ulostuloparametrit ovat n on rationaaliapproksimaation osoittajamatriisi d on rationaaliapproksimaation nimittäjämatriisi Parametrin tol oletusarvo on Luvut n ja d ovat liukulukumuotoisia kokonaislukumatriiseja siten, että matriisi n./d on matriisin x likiarvo toleranssin tol ilmoittamalla suhteellisella tarkkuudella. ESIMERKKEJÄ. -->x=2/3 x =

46 Scilab Osa >[n,d]=rat(x) d = 3. n = 2. -->[n,d]=rat(x+1e-6) d = n = >[n,d]=rat(x+1e-7) d = 3. n = 2. -->[n,d]=rat(%pi) d = 113. n = >n/d-%pi >A=[sqrt(2), 2^(1/3);%e, 5] A = >[n,d]=rat(a) d = n = >n./d >[n,d]=rat(a,1d-10) d = n = >n./d

47 47 Scilab Osa 1 5. FUNKTIOT JA SKRIPTIT Scilabia käytettäessä kirjoitetaan usein monia komentoja peräkkäin. Tällaiset komennot voidaan tehdä editorilla SciNotes erilliseen tiedostoon joko skripteiksi eli komentojonoiksi tai funktioiksi eli ohjelmiksi Skripti on jono komentoja, joita käytetään automatisoimaan laskentaa. Skriptin muuttujat ovat yleisiä komentoikkunan muuttujia. Skriptin komentojen tulos tulostuu komentoikkunaan, ellei komentoja päätetä puolipisteellä. Funktio on ohjelma, jonka liittyminen ulkomaailmaan tapahtuu sisäänmeno- ja ulostuloparametrien kautta 1. Funktion muuttujat ovat funktion sisäisiä muuttujia, joten ne eivät sotkeudu komentoikkunan muuttujiin. Funktio tehdään yleensä erilliseen tiedostoon. Yksinkertaisen funktion voi tehdä myös komentoikkunaan. Funktiota voidaan käyttää laajentamaan Scilabin ominaisuuksia. Editoriin voi tietenkin ladata aiemmin tehtyjä tiedostoja SciNoten painikkeella valikkokomennolla File: Open (Ctrl+o). Scilabin painikkeella tai valikkokomennolla File: Open a file Scilabin funktiot ja skriptit tehdään editorilla, joka käynnistetään valikkokomennolla Applications: SciNotes, painikkeella tai komennolla editor. Editori tuntee Scilabin syntaksin. Tehdyt komennot tai ohjelmat voidaan tallentaa tiedostoon komennolla File: Save (Ctrl+s). Tiedoston tyyppi on oltava.sce tai.sci. Ohjelma tai komentojono saadaan ladattua Scilabiin SciNoten valikkokomennolla Execute: file with no echo: Tiedoston komennot suoritetaan tai ohjelma ladataan Scilabiin. Tiedoston tai ohjelman komentoja ei näytetä Scilabin komentoikkunassa. Tiedosto on tallennettava ennen komennon suorittamista. Execute: file with echo: Tiedoston komennot suoritetaan tai ohjelma ladataan Scilabiin. Tiedoston tai ohjelman komennot näytetään Scilabin komentoikkunassa. Tiedostoa ei tarvitse tallentaa ennen komennon suorittamista. Execute: the selection with echo: Valitut komennot suoritetaan ja näytetään Scilabin komentoikkunassa. Komentoja ei tarvitse tallentaa. Editorin SciNotes komennolla Execute: until the caret, with echo suoritetaan editorissa olevat komennot kohdistimen sijaintikohtaan asti. Scilabiin ladattu ohjelma ajetaan omalla kutsukomennollaan. Editoriin voi tietenkin ladata aiemmin tehtyjä tiedostoja SciNoten painikkeella valikkokomennolla File: Open (Ctrl+o). Scilabin painikkeella tai valikkokomennolla File: Open a file Yksinkertaisen 2 funktion rakenne on seuraava: 1 Funktiossa voi tietenkin olla myös luku- ja tulostuskäskyjä. 2 Ohjelmointia käsitellään tarkemmin tekstissä Scilab - Ohjelmointi; tässä otetaan esille vain joitain perusasioita

MATLAB - Osa 1. Timo Mäkelä

MATLAB - Osa 1. Timo Mäkelä MATLAB - Osa 1 Timo Mäkelä SISÄLTÖ: 1. KÄYTTÖLIITTYMÄ...1 1.1 YLEISTÄ...1 1.2 TYÖPÖYTÄ...1 1.2.1 Komentoikkuna...2 1.2.2 Työtila...4 1.2.3 Komentohistoria...4 1.2.4 Nykyinen hakemisto...5 1.3 OHJETOIMINTA...5

Lisätiedot

BL40A0000 Säätötekniikan ja signaalinkäsittelyn

BL40A0000 Säätötekniikan ja signaalinkäsittelyn 1 BL40A0000 Säätötekniikan ja signaalinkäsittelyn matemaattiset ohjelmistot Luennot ja harjoitukset Katja Hynynen, h. 6431, p. 040-548 8954 Katja.Hynynen@lut.fi Opetus ja suoritusvaatimukset OPETUS: Luentoja

Lisätiedot

Matriiseista. Emmi Koljonen

Matriiseista. Emmi Koljonen Matriiseista Emmi Koljonen 3. lokakuuta 22 Usein meillä on monta systeemiä kuvaavaa muuttujaa ja voimme kirjoittaa niiden välille riippuvaisuuksia, esim. piirin silmukoihin voidaan soveltaa silmukkavirtayhtälöitä.

Lisätiedot

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

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006 Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten

Lisätiedot

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

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto Opiskelijan pikaopas STACK-tehtäviin Lassi Korhonen, Oulun yliopisto 21.3.2016 SISÄLLYSLUETTELO Oppaan käyttäminen... 2 Vastauksen syöttämisen perusteet... 2 Operaatiot... 2 Luvut ja vakiot... 3 Funktiot...

Lisätiedot

Matemaattiset ohjelmistot A. Osa 2: MATLAB

Matemaattiset ohjelmistot A. Osa 2: MATLAB Matemaattiset ohjelmistot 802364A Osa 2: MATLAB Mikko Orispää 30. lokakuuta 2013 Sisältö 1 MATLAB 2 1.1 Peruslaskutoimitukset......................... 2 1.2 Muuttujat................................ 3

Lisätiedot

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

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Ohjelman käynnistäminen

Ohjelman käynnistäminen >> why Because he obeyed a good and young and smart and terrified and rich and rich and not very good and good and bald and not excessively tall and good programmer. Tässä materiaali on tarkoitettu insinööriopiskelijoille

Lisätiedot

Valitse ruudun yläosassa oleva painike Download Scilab.

Valitse ruudun yläosassa oleva painike Download Scilab. Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download

Lisätiedot

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

Matlab-perusteet. Jukka Jauhiainen. OAMK / Tekniikan yksikkö. Hyvinvointiteknologian koulutusohjelma Matlab-perusteet Jukka Jauhiainen OAMK / Tekniikan yksikkö Hyvinvointiteknologian koulutusohjelma Tämän materiaalin tarkoitus on antaa opiskelijalle lyhyehkö johdanto Matlabohjelmiston perusteisiin. Matlabin

Lisätiedot

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

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, kertausta Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Kaavio kirjoitetaan kaarisulkujen väliin

Lisätiedot

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

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Merkintöjä 1 Matriisi on suorakulmainen lukukaavio.

Lisätiedot

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

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ( 0, 4, ( ( 1 4 2, a 11 a 12 a 21 a 22 Kaavio kirjoitetaan kaarisulkujen väliin (amer. kirjoissa

Lisätiedot

1 Matriisit ja lineaariset yhtälöryhmät

1 Matriisit ja lineaariset yhtälöryhmät 1 Matriisit ja lineaariset yhtälöryhmät 11 Yhtälöryhmä matriisimuodossa m n-matriisi sisältää mn kpl reaali- tai kompleksilukuja, jotka on asetetettu suorakaiteen muotoiseksi kaavioksi: a 11 a 12 a 1n

Lisätiedot

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37 Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37 Tehtävä 1: Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44 MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko Tehtävä (L): Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske

Lisätiedot

1.1. Määritelmiä ja nimityksiä

1.1. Määritelmiä ja nimityksiä 1.1. Määritelmiä ja nimityksiä Luku joko reaali- tai kompleksiluku. R = {reaaliluvut}, C = {kompleksiluvut} R n = {(x 1, x 2,..., x n ) x 1, x 2,..., x n R} C n = {(x 1, x 2,..., x n ) x 1, x 2,..., x

Lisätiedot

Harjoitus 10: Mathematica

Harjoitus 10: Mathematica 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

Lisätiedot

BM20A0700, Matematiikka KoTiB2

BM20A0700, Matematiikka KoTiB2 BM20A0700, Matematiikka KoTiB2 Luennot: Matti Alatalo, Harjoitukset: Oppikirja: Kreyszig, E.: Advanced Engineering Mathematics, 8th Edition, John Wiley & Sons, 1999, luku 7. 1 Kurssin sisältö Matriiseihin

Lisätiedot

Luvuilla laskeminen. Esim. 1 Laske 6 21 7

Luvuilla laskeminen. Esim. 1 Laske 6 21 7 Luvuilla laskeminen TI-84 Plus käyttää laskujen suorittamiseen ns. yhtälönkäsittelyjärjestelmää (EOS TM, Equation Operating System), jonka avulla lausekkeiden syöttö tapahtuu matemaattisessa kirjoitusjärjestyksessä.

Lisätiedot

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014 12. syyskuuta 2014 IDL - Interactive Data Language IDL on tulkattava ohjelmointikieli, jonka vahvuuksia ovat: Yksinkertainen, johdonmukainen komentosyntaksi. Voidaan käyttää interaktiivisesti, tai rakentamalla

Lisätiedot

Fortran 90/95. + sopii erityisesti numeriikkaan:

Fortran 90/95. + sopii erityisesti numeriikkaan: Fortran 90/95 + sopii erityisesti numeriikkaan: + optimoivat kääntäjät tehokas koodi + mukana valmiiksi paljon varusfunktioita + kompleksiluvut + taulukko-operaatiot + operaattorit laajennettavissa myös

Lisätiedot

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

Matlabperusteita, osa 1. Heikki Apiola Matlab-perusteita, osa 1. Heikki Apiola. 12. maaliskuuta 2012 Matlab-perusteita, 12. maaliskuuta 2012 Matlab-perusteita, Ohjelmahahmotelma 1. viikko: Matlab 2. viikko: Maple (+ annettujen Matlab tehtävien ratkaisuja) 3. viikko: Maple ja Matlab (lopputyöt) Matlab-perusteita,

Lisätiedot

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 5. luento.2.27 Lineaarialgebraa - Miksi? Neuroverkon parametreihin liittyvät kaavat annetaan monesti

Lisätiedot

Talousmatematiikan perusteet: Luento 9. Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Transponointi Matriisitulo

Talousmatematiikan perusteet: Luento 9. Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Transponointi Matriisitulo Talousmatematiikan perusteet: Luento 9 Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Transponointi Matriisitulo Viime luennolta Esim. Yritys tekee elintarviketeollisuuden käyttämää puolivalmistetta,

Lisätiedot

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

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus Perusohjeita, symbolista laskentaa Geogebralla Kielen vaihtaminen. Jos Geogebrasi kieli on vielä englanti, niin muuta se Options välilehdestä kohdasta Language suomeksi (finnish). Esittelen tässä muutaman

Lisätiedot

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

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. Laskuharjoitus 1A Mallit Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. 1. tehtävä %% 1. % (i) % Vektorit luodaan

Lisätiedot

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä 3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä Lineaarinen m:n yhtälön yhtälöryhmä, jossa on n tuntematonta x 1,, x n on joukko yhtälöitä, jotka ovat muotoa a 11 x 1 + + a 1n x n = b 1 a 21

Lisätiedot

Heikki Apiola, Juha Kuortti, Miika Oksman. 5. lokakuuta Matlabperusteita, osa 1

Heikki Apiola, Juha Kuortti, Miika Oksman. 5. lokakuuta Matlabperusteita, osa 1 Matlab-perusteita, 5. lokakuuta 2015 Matlab-perusteita, Mikä on Matlab Matriisilaboratorio [Cleve Moler, Mathworks inc.] Numeerisen laskennan työskentely-ympäristö Suuri joukko matemaattisia ja muita funktioita,

Lisätiedot

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

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2 PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä /+^2 Kirjoita muuten sama, mutta ota välilyönti :n jälkeen / +^2 Kopioi molemmat matematiikka-alueet ja liiku alueen sisällä

Lisätiedot

KAAVAT. Sisällysluettelo

KAAVAT. Sisällysluettelo Excel 2013 Kaavat Sisällysluettelo KAAVAT KAAVAT... 1 Kaavan tekeminen... 2 Kaavan tekeminen osoittamalla... 2 Kaavan kopioiminen... 3 Kaavan kirjoittaminen... 3 Summa-funktion lisääminen... 4 Suorat eli

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä 1 3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä Lineaarinen m:n yhtälön yhtälöryhmä, jossa on n tuntematonta x 1,, x n on joukko yhtälöitä, jotka ovat muotoa a 11 x 1 + + a 1n x n = b 1 a

Lisätiedot

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

plot(f(x), x=-5..5, y=-10..10) [] Jokaisen suoritettavan rivin loppuun ; [] Desimaalierotin Maplessa on piste. [] Kommentteja koodin sekaan voi laittaa # -merkin avulla. Esim. #kommentti tähän [] Edelliseen tulokseen voi viitata merkillä

Lisätiedot

Talousmatematiikan perusteet: Luento 10. Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Matriisitulo Determinantti

Talousmatematiikan perusteet: Luento 10. Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Matriisitulo Determinantti Talousmatematiikan perusteet: Luento 1 Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Matriisitulo Determinantti Viime luennolta Esim. Yritys tekee elintarviketeollisuuden käyttämää puolivalmistetta,

Lisätiedot

DIFFERENTIAALI- JA INTEGRAALILASKENTA

DIFFERENTIAALI- JA INTEGRAALILASKENTA DIFFERENTIAALI- JA INTEGRAALILASKENTA Timo Mäkelä Tässä tekstissä esitellään yhden muuttujan reaaliarvoisten funktioiden differentiaalilaskentaa sekä sarjoja. Raja-arvot Raja-arvoja voidaan laskea käyttämällä

Lisätiedot

Matlab-perusteet Harjoitustehtävien ratkaisut

Matlab-perusteet Harjoitustehtävien ratkaisut Matlab-perusteet Harjoitustehtävien ratkaisut Osa 1 Tehtävä: Määrittele muuttujat a ja b, anna niille vaikkapa arvot 3 ja 2 ja kokeile peruslaskutoimituksia niillä. >>a=1;b=2; >>a+b 3 >>a-b -1 >>a*b 2

Lisätiedot

9 Matriisit. 9.1 Matriisien laskutoimituksia

9 Matriisit. 9.1 Matriisien laskutoimituksia 9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D Mika Hirvensalo mikhirve@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2014 Mika Hirvensalo mikhirve@utu.fi Luentokalvot 3 1 of 16 Kertausta Lineaarinen riippuvuus

Lisätiedot

0. Kertausta. Luvut, lukujoukot (tavalliset) Osajoukot: Yhtälöt ja niiden ratkaisu: N, luonnolliset luvut (1,2,3,... ) Z, kokonaisluvut

0. Kertausta. Luvut, lukujoukot (tavalliset) Osajoukot: Yhtälöt ja niiden ratkaisu: N, luonnolliset luvut (1,2,3,... ) Z, kokonaisluvut 0. Kertausta Luvut, lukujoukot (tavalliset) N, luonnolliset luvut (1,2,3,... ) Z, kokonaisluvut Rationaaliluvut n/m, missä n,m Z Reaaliluvut R muodostavat jatkumon fysiikan lukujoukko Kompleksiluvut C:z

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Luentokalvot

Lisätiedot

Ortogonaalinen ja ortonormaali kanta

Ortogonaalinen ja ortonormaali kanta Ortogonaalinen ja ortonormaali kanta Määritelmä Kantaa ( w 1,..., w k ) kutsutaan ortogonaaliseksi, jos sen vektorit ovat kohtisuorassa toisiaan vastaan eli w i w j = 0 kaikilla i, j {1, 2,..., k}, missä

Lisätiedot

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi Talousmatematiikan perusteet: Luento 11 Lineaarikuvaus Matriisin aste Käänteismatriisi Viime luennolla Käsittelimme matriisien peruskäsitteitä ja laskutoimituksia Vakiolla kertominen, yhteenlasku ja vähennyslasku

Lisätiedot

FUNKTION KUVAAJAN PIIRTÄMINEN

FUNKTION KUVAAJAN PIIRTÄMINEN FUNKTION KUVAAJAN PIIRTÄMINEN Saat kuvapohjan painamalla @-näppäintä tai Insert/Graph/X-Y-POT. Kuvapohjassa on kuusi paikanvaraaja: vaaka-akselin keskellä muuttuja ja päissä minimi- ja maksimiarvot pystyakselin

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Luentokalvot

Lisätiedot

Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa.

Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa. 7 Matriisilaskenta Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa. 7.1 Lineaariset yhtälöryhmät Yhtälöryhmät liittyvät tilanteisiin, joissa on monta tuntematonta

Lisätiedot

Käänteismatriisin ominaisuuksia

Käänteismatriisin ominaisuuksia Käänteismatriisin ominaisuuksia Lause 1.4. Jos A ja B ovat säännöllisiä ja luku λ 0, niin 1) (A 1 ) 1 = A 2) (λa) 1 = 1 λ A 1 3) (AB) 1 = B 1 A 1 4) (A T ) 1 = (A 1 ) T. Tod.... Ortogonaaliset matriisit

Lisätiedot

Lineaarialgebra ja matriisilaskenta I

Lineaarialgebra ja matriisilaskenta I Lineaarialgebra ja matriisilaskenta I 29.5.2013 HY / Avoin yliopisto Jokke Häsä, 1/26 Kertausta: Kanta Määritelmä Oletetaan, että w 1, w 2,..., w k W. Vektorijono ( w 1, w 2,..., w k ) on aliavaruuden

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Matemaattiset ohjelmistot 1-2 ov, 2-3 op

Matemaattiset ohjelmistot 1-2 ov, 2-3 op Matemaattiset ohjelmistot 1-2 ov, 2-3 op Aloitustehtävät Perehdy netissä olevan oppaan http://mtl.uta.fi/opetus/matem_ohjelmistot/matlab lukuihin 0 Johdanto, 1 matriisit ja vektorit sekä 4 Ohjelmointi

Lisätiedot

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia Voidaan osoittaa, että avaruuden R n vektoreilla voidaan laskea tuttujen laskusääntöjen mukaan. Huom. Lause tarkoittaa väitettä, joka voidaan perustella

Lisätiedot

1 Peruslaskuvalmiudet

1 Peruslaskuvalmiudet 1 Peruslaskuvalmiudet 11 Lukujoukot N {1,, 3, 4,} on luonnollisten lukujen joukko (0 mukana, jos tarvitaan), Z {, 3,, 1, 0, 1,, 3,} on kokonaislukujen joukko, Q m n : m, n Z, n 0 on rationaalilukujen joukko,

Lisätiedot

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

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2 3 PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä 3/+^ 3 Kirjoita muuten sama, mutta ota välilyönti :n jälkeen 3/ +^ 3 Liiku matematiikka alueella nuolinäppäimin. Kokeile

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45 MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko 5 Tehtävä 1 (L): Hahmottele kompleksitasoon ne pisteet, jotka toteuttavat a) z 3 =, b) z + 3 i < 3, c) 1/z >. Yleisesti: ehto z = R, z C muodostaa kompleksitasoon

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi A. Lepistö alepisto@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2016 M. Hirvensalo V. Junnila A. Lepistö

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Kompleksiluvut., 15. kesäkuuta /57

Kompleksiluvut., 15. kesäkuuta /57 Kompleksiluvut, 15. kesäkuuta 2017 1/57 Miksi kompleksilukuja? Reaaliluvut lukusuoran pisteet: Tiedetään, että 7 1 0 x 2 = 0 x = 0 1 7 x 2 = 1 x = 1 x = 1 x 2 = 7 x = 7 x = 7 x 2 = 1 ei ratkaisua reaalilukujen

Lisätiedot

Tieto- ja tallennusrakenteet

Tieto- ja tallennusrakenteet Tieto- ja tallennusrakenteet Sisältö Tyyppi, abstrakti tietotyyppi, abstraktin tietotyypin toteutus Tallennusrakenteet Taulukko Linkitetty rakenne Abstraktit tietotyypit Lista (Puu) (Viimeisellä viikolla)

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

Scilab 5.3.3 - ohjelman alkeisohjeet

Scilab 5.3.3 - ohjelman alkeisohjeet Pohdin projekti Scilab 5.3.3 - ohjelman alkeisohjeet Käytön aloittaminen Ohjelma käynnistetään kaksoisklikkaamalla työpöydällä ohjelman kuvaketta ja ohjelman käyttö lopetetaan käyttämällä komentoa exit

Lisätiedot

1 Kompleksiluvut. Kompleksiluvut 10. syyskuuta 2005 sivu 1 / 7

1 Kompleksiluvut. Kompleksiluvut 10. syyskuuta 2005 sivu 1 / 7 Kompleksiluvut 10. syyskuuta 2005 sivu 1 / 7 1 Kompleksiluvut Lukualueiden laajennuksia voi lähestyä polynomiyhtälöiden ratkaisemisen kautta. Yhtälön x+1 = 0 ratkaisemiseksi tarvitaan negatiivisia lukuja.

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009 Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut

Lisätiedot

Vektorit. Vektorin luominen... 192 Vektorin tuominen näyttöön... 195 Vektorin koon ja alkioiden muokkaaminen... 195 Vektorin poistaminen...

Vektorit. Vektorin luominen... 192 Vektorin tuominen näyttöön... 195 Vektorin koon ja alkioiden muokkaaminen... 195 Vektorin poistaminen... 12 Vektorit Vektorin luominen... 192 Vektorin tuominen näyttöön... 195 Vektorin koon ja alkioiden muokkaaminen... 195 Vektorin poistaminen... 196 TI -86 M1 M2 M3 M4 M5 F1 F2 F3 F4 F5 192 Luku 12: Vektorit

Lisätiedot

TAULUKON TEKEMINEN. Sisällysluettelo

TAULUKON TEKEMINEN. Sisällysluettelo Excel 2013 Taulukon tekeminen Sisällysluettelo TAULUKON TEKEMINEN TAULUKON TEKEMINEN... 1 Tietotyypit... 1 Tiedon syöttäminen taulukkoon... 1 Kirjoitusvirheiden korjaaminen... 2 Alueen sisällön tyhjentäminen...

Lisätiedot

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet Ohjelmointi Matlab-komentoja voidaan koota ns. M-tiedostoon. Nimi tulee tiedoston tarkentimesta.m. Matlabilla voidaan ohjelmoida kahdella eri tavalla: Skriptit eli komentojonot eli makrot Funktiot eli

Lisätiedot

Algoritmit C++ Kauko Kolehmainen

Algoritmit C++ Kauko Kolehmainen Algoritmit C++ Kauko Kolehmainen Algoritmit - C++ Kirjoittanut Taitto Kansi Kustantaja Kauko Kolehmainen Kauko Kolehmainen Frank Chaumont Oy Edita Ab IT Press PL 760 00043 EDITA Sähköpostiosoite Internet

Lisätiedot

Matlab- ja Maple- ohjelmointi

Matlab- ja Maple- ohjelmointi Perusasioita 2. helmikuuta 2005 Matlab- ja Maple- ohjelmointi Yleistä losoaa ja erityisesti Numsym05-kurssin tarpeita palvellee parhaiten, jos esitän asian rinnakkain Maple:n ja Matlab:n kannalta. Ohjelmien

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2011 1 / 37 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Harjoitus 3 (viikko 39)

Harjoitus 3 (viikko 39) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä. Ohjelmointitehtävien

Lisätiedot

Ennakkotehtävän ratkaisu

Ennakkotehtävän ratkaisu Ennakkotehtävän ratkaisu Ratkaisu [ ] [ ] 1 3 4 3 A = ja B =. 1 4 1 1 [ ] [ ] 4 3 12 12 1 0 a) BA = =. 1 + 1 3 + 4 0 1 [ ] [ ] [ ] 1 0 x1 x1 b) (BA)x = =. 0 1 x 2 x [ ] [ ] [ 2 ] [ ] 4 3 1 4 9 5 c) Bb

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:

Lisätiedot

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi Talousmatematiikan perusteet: Luento 10 Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi Lineaarikuvaus Esim. Yritys tekee elintarviketeollisuuden käyttämää puolivalmistetta, jossa käytetään

Lisätiedot

2.8. Kannanvaihto R n :ssä

2.8. Kannanvaihto R n :ssä 28 Kannanvaihto R n :ssä Seuraavassa kantavektoreiden { x, x 2,, x n } järjestystä ei saa vaihtaa Vektorit ovat pystyvektoreita ( x x 2 x n ) on vektoreiden x, x 2,, x n muodostama matriisi, missä vektorit

Lisätiedot

Seuraavassa on esitetty seuraavien laskutoimitusten suoritukset eri laskinmalleilla

Seuraavassa on esitetty seuraavien laskutoimitusten suoritukset eri laskinmalleilla Seuraavassa on esitetty seuraavien laskutoimitusten suoritukset eri laskinmalleilla Muuttuja Frekvenssi 7 12 8 16 9 11 10 8 Tilastomoodin valinta. Tilastomuistin tyhjennys. Keskiarvon ja keskihajonnan

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 4 To 15.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 4 To 15.9.2011 p. 1/38 p. 1/38 Lineaarinen yhtälöryhmä Lineaarinen yhtälöryhmä matriisimuodossa Ax = b

Lisätiedot

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät Matematiikan peruskurssi K3/P3, syksy 25 Kenrick Bingham 825 Toisen välikokeen alueen ydinasioita Alla on lueteltu joitakin koealueen ydinkäsitteitä, joiden on hyvä olla ensiksi selvillä kokeeseen valmistauduttaessa

Lisätiedot

Luento 4. Timo Savola. 21. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 4 Timo Savola 21. huhtikuuta 2006 Osa I Shell Lausekkeet Komentoriville kirjotettu komento on lauseke echo "foo" echo $USER MUUTTUJA=1 ls -l Rivinvaihto

Lisätiedot

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

Lisätiedot

A = a b B = c d. d e f. g h i determinantti on det(c) = a(ei fh) b(di fg) + c(dh eg). Matriisin determinanttia voi merkitä myös pystyviivojen avulla:

A = a b B = c d. d e f. g h i determinantti on det(c) = a(ei fh) b(di fg) + c(dh eg). Matriisin determinanttia voi merkitä myös pystyviivojen avulla: 11 Determinantti Neliömatriisille voidaan laskea luku, joka kertoo muun muassa, onko matriisi kääntyvä vai ei Tätä lukua kutsutaan matriisin determinantiksi Determinantilla on muitakin sovelluksia, mutta

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Lineaarinen yhtälöryhmä

Lineaarinen yhtälöryhmä Lineaarinen yhtälöryhmä 1 / 39 Lineaarinen yhtälö Määritelmä 1 Lineaarinen yhtälö on muotoa a 1 x 1 + a 2 x 2 + + a n x n = b, missä a i, b R, i = 1,..., n ovat tunnettuja ja x i R, i = 1,..., n ovat tuntemattomia.

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018

Lisätiedot

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen Geogebra -koulutus Ohjelmistojen pedagoginen hyödyntäminen Geogebra Ilmainen dynaaminen matematiikkaohjelmisto osoitteessa http://www.geogebra.org Geogebra-sovellusversion voi asentaa tietokoneilla ja

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut Johdanto Kokeile tavallista numeroilla laskemista: yhteen-, kerto- ja jakolaskuja sekä potenssiinkorotusta. 5 (3.1) Differentiaali- ja integraalilaskenta 1 Tietokoneharjoitus: ratkaisut Kurssin 1. alkuviikon

Lisätiedot

y z = (x, y) Kuva 1: Euklidinen taso R 2

y z = (x, y) Kuva 1: Euklidinen taso R 2 Kompleksiluvut. Määritelmä Tarkastellaan euklidista tasoa R = {(, y), y R}. y y z = (, y) R Kuva : Euklidinen taso R Suorakulmaisessa koordinaatistossa on -akseli ja y-akseli. Luvut ja y ovat pisteen z

Lisätiedot

Matematiikka B2 - TUDI

Matematiikka B2 - TUDI Matematiikka B2 - TUDI Miika Tolonen 3. syyskuuta 2012 Miika Tolonen Matematiikka B2 - TUDI 1 Kurssin sisältö (1/2) Matriisit Laskutoimitukset Lineaariset yhtälöryhmät Gaussin eliminointi Lineaarinen riippumattomuus

Lisätiedot

Matriisipotenssi. Koska matriisikertolasku on liitännäinen (sulkuja ei tarvita; ks. lause 2), voidaan asettaa seuraava määritelmä: ja A 0 = I n.

Matriisipotenssi. Koska matriisikertolasku on liitännäinen (sulkuja ei tarvita; ks. lause 2), voidaan asettaa seuraava määritelmä: ja A 0 = I n. Matriisipotenssi Koska matriisikertolasku on liitännäinen (sulkuja ei tarvita; ks. lause 2), voidaan asettaa seuraava määritelmä: Määritelmä Oletetaan, että A on n n -matriisi (siis neliömatriisi) ja k

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017

Lisätiedot

Kieliteknologian ATK-ympäristö Kolmas luento

Kieliteknologian ATK-ympäristö Kolmas luento Kieliteknologian ATK-ympäristö Kolmas luento Miikka Silfverberg Nykykielten laitos 20. syyskuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 3 20. syyskuuta 2010

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48 MS-A3/A5 Matriisilaskenta Malliratkaisut 5 / vko 48 Tehtävä (L): a) Onko 4 3 sitä vastaava ominaisarvo? b) Onko λ = 3 matriisin matriisin 2 2 3 2 3 7 9 4 5 2 4 4 ominaisvektori? Jos on, mikä on ominaisarvo?

Lisätiedot

Liukulukulaskenta. Pekka Hotokka

Liukulukulaskenta. Pekka Hotokka Liukulukulaskenta Pekka Hotokka pejuhoto@cc.jyu.fi 10.11.2004 Tiivistelmä Liukulukuja tarvitaan, kun joudutaan esittämään reaalilukuja tietokoneella. Niiden esittämistavasta johtuen syntyy laskennassa

Lisätiedot