Tietojen tallennus ja luku



Samankaltaiset tiedostot
Matlab-perusteet Harjoitustehtävien ratkaisut

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

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

LAS-TIEDOSTON SISÄLTÖ LIITE 2/1

T Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

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

Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi. Esimerkit laskettu JMP:llä

Moduli 5: Kehittyneitä piirteitä

MATLAB 6.0 m-tiedoston ohjelmointiopas. lähteenmäki.m

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Binäärioperaatiot Tiedostot ja I/O

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Binäärioperaatiot Tiedostot ja I/O

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

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

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Zeon PDF Driver Trial

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

Ohjelmoinnin perusteet Y Python

5. HelloWorld-ohjelma 5.1

Luento 5. Timo Savola. 28. huhtikuuta 2006

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Ohjeita. Datan lukeminen

Harjoitus 5 (viikko 41)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Harjoitus 3 (viikko 39)

Tieteellinen laskenta 2 Törmäykset

Festo Online Shop käyttöohje.

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Harjoitus 6 (viikko 42)

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Choose Finland-Helsinki Valitse Finland-Helsinki

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Harjoitustyö: virtuaalikone

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

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

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

Luento 2: Tiedostot ja tiedon varastointi

Valitse ruudun yläosassa oleva painike Download Scilab.

Matlab- ja Maple- ohjelmointi

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

Kalenterimerkintöjen siirtäminen Notesista

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

C++11 seminaari, kevät Johannes Koskinen

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

4. Lausekielinen ohjelmointi 4.1

Flash ActionScript osa 4

ASENNUS- JA KÄYTTÖOHJE

Harjoitus 5 (viikko 41)

DOORSin Spreadsheet export/import

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

Harjoitus 2 (viikko 45)

Excel funktiot. Sisällys

Alkuun HTML5 peliohjelmoinnissa

Matlabin perusteita Grafiikka

The CCR Model and Production Correspondence

Videokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla

Mobility Tool. Demo CIMO

Ohjelmoinnin perusteet Y Python

812336A C++ -kielen perusteet,

Toinen harjoitustyö. ASCII-grafiikkaa 2017

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

Salasanan vaihto uuteen / How to change password

Ohjelmointiharjoituksia Arduino-ympäristössä

Kieliteknologian ATK-ympäristö Kolmas luento

Harjoitus 1 (viikko 44)

Johdatus Ohjelmointiin

Alternative DEA Models

Ohjelmoinnin perusteet Y Python

5. HelloWorld-ohjelma 5.1

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Matemaattinen optimointi I, demo

DOORS Word DOORS SoftQA Pekka Mäkinen

Kylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8.

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Tiedosto on yhteenkuuluvien tietojen joukko, joka tavallisimmin sijaitsee kiintolevyllä, muistitikulla tai jollakin muulla fyysisellä tietovälineellä.

SGN-4010, Puheenkäsittelyn menetelmät Harjoitus 6, 18. ja

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

PIC-koodin luominen URF-tietokantaan Participant Portal

Ohjelmoinnin perusteet Y Python

Tässä harjoituksessa käydään läpi R-ohjelman käyttöä esimerkkidatan avulla. eli matriisissa on 200 riviä (havainnot) ja 7 saraketta (mittaus-arvot)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)


Rakenteiset tietotyypit Moniulotteiset taulukot

Versio 3. Tallentava hiilidioksidimittari Käyttöohje. Käyttöohje

OTTELUN TILASTOINTI NUORTEN VALTAKUNNALLISET SARJAT

TEHTÄVÄ 1.1 RATKAISUOHJEET

Harjoitus 4 (viikko 47)

MrSmart 8-kanavainen lämpötilamittaus ja loggaus, digitoija ja talletusohjelma

Operatioanalyysi 2011, Harjoitus 2, viikko 38

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

SPSS-pikaohje. Jukka Jauhiainen OAMK / Tekniikan yksikkö

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

The Viking Battle - Part Version: Finnish

Luento 3. Timo Savola. 7. huhtikuuta 2006

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

ASCII-taidetta. Intro: Python

LUSAS tiedosto-opas. Matti Lähteenmäki

Transkriptio:

Tietojen tallennus ja luku Tehtävissä on käytetty esimerkkejä osoitteesta: http://exploringdata.cqu.edu.au/datasets.htm Matlabin muuttujien tallennus: save ja load Käytössä olevat muuttujat tallennetaan komennolla >>save Komento tallentaa muuttujat työhakemistoon tiedostoon matlab.mat. Huomaa, että koulun verkkolevyille ei pysty tallentamaan omaa public-hakemistoa lukuun ottamatta. Muista vaihtaa työhakemisto! >>save foo Tallentaa tiedostoon foo.mat. Tiedostomuoto on Matlabin oma binääritiedostomuoto, jota ei pysty tutkimaan kovin helposti muilla ohjelmilla. Muuttuja voidaan tallentaa myös tekstimuodossa lisäämällä optio -ascii Muuttujat luetaan tiedostosta komennolla tai >>load >>load foo Kaikki Matlab-session aikana annetut komennot ja ohjelman tulostukset saa talteen komennolla >>diary on joka tallentaa työhakemistoon diary-nimiseen tiedostoon. Diaryn saa pois päältä komennolla >>diary off

Tehtävä: Luo satunnaislukuja sisältävä 4x4-matriisi ja oman nimesi sisältävä merkkijono. Tallenna muuttujat tiedostoon binäärimuodossa. Tyhjennä kaikki käytössä olevat muuttujat ja lataa ne takaisin tiedostosta. Datan luku tekstitiedostosta Interaktiivinen työkalu: Import Wizard Matlabin uusimmissa versioissa on graafinen työkalu Import Wizard: >>uiimport Painetaan Browse nappia ja haetaan spring.txt niminen tiedosto, jossa määritetty jousen jousivakio mittaamalla jousen venymää eri suuruisilla voimilla:

Toisin sanoen velho on niin fiksu, että se osaa tulkita tiedoston sisällön. Ensimmäinen rivi tulkitaan otsikkoriviksi. Lopuksi velho kysyy, missä muodossa data tallennetaan. Ensimmäinen vaihtoehto tallentaa otsikkorivin merkkijonoksi ja datan 2x10 kokoiseksi matriisiksi:

Toinen vaihtoehto tekee kaksi 1x10 kokoista vektoria ja niiden nimet otetaan otsikkoriviltä: Tehtävä: Lataa kurssin sivulta löytyvä tiedosto spring.txt. Piirrä mittaustuloksista kuvaaja, jossa vaaka-akselilla on jousen venymä (metreinä) ja pystyakselilla voima (newtoneina). Lisää akselien ja kuvaajan otsikko. Mittaustulokset esitetään pisteellä (.). Sovita mittaustuloksiin suoran yhtälö (Ylävalikosta Tools -> Basic fitting). Näytä suoran yhtälö kuvaajassa. Piirrä lisäksi toinen kuvaaja edellisen alle samaan kuvaikkunaan, joka näyttää mitatun arvon ja suoralta lasketun arvon erotuksen ( residuals ). Mikä on tämän mittauksen perusteella jousen jousivakio? Huom: Jousivakion yksikkö on N/m. Komentorivikäyttö: load Interaktiivista työkalua ei voi kaikissa tilanteissa käyttää. Se kun tarvitsee käyttäjältä syötteitä. Jos halutaan rakentaa Matlab-ohjelma, joka hoitelee homma automaattisesti, on käytettävä sellaisia työkaluja, joilla ohjelmoija antaa tiedon datan formaatista etukäteen. Matlab osaa lukea load-komennolla matriisimuotoista dataa tiedostosta. Datassa ei saa olla ylimääräisiä tekstejä. Tyypillinen käyttökohde on jonkin mittauslaitteen tai tilastoohjelman tuottaman datan lukeminen tiedostosta jatkokäsittelyä varten. Tiedostosta täytyy ensin poistaa kaikki ylimääräiset tekstit (tähän on olemassa muitakin vaihtoehtoja, mutta siitä myöhemmin.

Esimerkki: Oletetaan, että Matlabin työhakemistossa on tiedosto carb_dio.txt.ladataan se Matlabiin ja piirretään kuvaaja. >>data=load('carb_dio.txt'); >>plot(data(:,1),data(:,2),'.'); >>title('hiilidioksin määrä ilmakehässä') >> xlabel('vuosi'); >> ylabel('co2 (ppm)') Datan käsittelyn helpottamiseksi kopioidaan datamatriisin sarakkeet erillisiin vektoreihin, joilla on havainnollisemmat nimet: >>vuosi=data(:,1); >>co2=data(:,2); Lasketaan, montako mittaustulosta on ennen 1800-luka ja mikä on CO2-pitoisuuden keskiarvo tänä aikana:

>> sum(vuosi<1800) 2 >> mean(vuosi(vuosi<1800)) 1.7775e+003 Tehtävä: Lataa kurssin kotisivulta edellä esitetty data ja tallenna se Matlabin työhakemistoon (oltava kirjoitusoikeudet!). Kopioi data kahteen erilliseen vektoriin vuosi ja co2. Piirrä edellä esitetty kuvaaja. Tehtävä: Kuinka paljon pitoisuus on noussut 1700 luvun alusta 2000-luvun lopulle prosenteissa? Tehtävä: Laske havaintojen lukumäärät ja keskimääräiset hiilidioksidipitoisuudet 50 vuoden aikavälein lähtien vuodesta 1800. Tehtävä: Milloin CO2-pitoisuus on laskenut eniten kahden peräkkäisen mittauksen välillä? Kuinka paljon tämä lasku oli? Tehtävä: Mikä on suurin CO2-pitoisuuden nousu prosenteissa kahden peräkkäisen mittauksen välillä? Tehtävä: Tallenna muuttujat vuosi ja co2 erillisiin tiedostoihin tekstimuodossa. Tarkista tallennuksen onnistuminen tutkimalla tiedostojen sisältöä jollain tekstieditorilla (Notepad ). Laiteläheinen tiedostonkäsittely Matlab tiedostonkäsittely perustuu ANSI C:n tiedostonkäsittelyfunktioihin. Tiedostonkäsittelyssä on kolme vaihetta: 1. Tiedoston avaus: fopen. 2. Tiedostoon operointi: a. Luetaan binääridataa: fread. b. Kirjoitetaan binääridataa: fwrite. c. Luetaan merkkijono rivi kerrallaan: fgets tai fgetl d. Luetaan formatoitua ASCII-dataa: fscanf e. Kirjoitetaan formatoitua ACII-dataa: fprintf 3. Suljetaan tiedosto: fclose

Avaus ja sulkeminen: fopen ja fclose Tiedoston avauskomennon syntaksi: fid = fopen('filename','permission') The permission string specifies the kind of access to the file you require. Possible permission strings include r for reading only w for writing only a for appending only r+ for both reading and writing Jos avaus onnistuu, fopen palauttaa tiedostotunnisteen (File Identifier, fid), joka on einegatiivinen kokonaisluku. Tiedosto-operaatioiden jälkeen tiedosto suljetaan käyttämällä tiedostotunnistetta komennon argumenttina: status = fclose(fid); Kaikki avoinna olevat tiedostot voidaan sulkea yhdellä kertaa komennolla status = fclose( all ); Paluuarvo status = 0, jos sulkeminen onnistui, muuten -1. Formatoitu binääritiedostoon kirjoitus ja luku: fread ja fwrite fwrite-komennon syntaksi: count=fwrite(fid,a,precision) Kirjoitetaan tiedostotunnisteeseen fid muuttuja A käyttäen tietotyyppiä precision. Paluuarvo count on kirjoitettujen tietojen lukumäärä. Esimerkki: Kirjoitetaan magic-komennon tuottama 5x5-matriisi tiedostoon 32-bittisinä kokonaislukuina. >>count = fwrite(fid,magic(5),'int32'); >>status = fclose(fid);

fread-komennon syntaksi: A=fread(fid,size,precision); Luetaan tiedostotunnisteesta fid size kappaletta dataa, jonka tietotyyppi on precision. Tulos tallentuu muuttujaan A. Esimerkki: Luetaan edellä kirjoitettu data 5x5-matriisiksi A ja 1x25-vektoriksi B. >> fid=fopen('testi.dat','r') fid = 3 >> A=fread(fid,[5 5],'uint32') A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> frewind(fid) >> B=fread(fid,25,'uint32') B = 17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9 >> fclose(fid) 0

Ensimmäisen freadin jälkeen tiedosto-osoitin (file pointer) on tiedoston lopussa. Se voidaan siirtää takaisin tiedoston alkuun komennolla frewind. Muita tiedosto-osoittimen käsittelyyn käytettäviä funktioita: status = fseek(fid,offset,origin) repositions the file position indicator in the file with the given fid to the byte with the specified offset relative to origin. o fid An integer file identifier obtained from fopen offset A value that is interpreted as follows, offset > 0 Move position indicator offset bytes toward the end of the file. offset = 0 Do not change position. offset < 0 Move position indicator offset bytes toward the beginning of the file.o o origin A string whose legal values are 'bof'-1: Beginning of file 'cof' 0: Current position in file 'eof' 1: End of file o status A returned value that is 0 if the fseek operation is successful and -1 if it fails. If an error occurs, use the function ferror to get more information. position = ftell(fid) o returns the location of the file position indicator for the file specified by fid, an integer file identifier obtained from fopen. The position is a nonnegative integer specified in bytes from the beginning of the file. A returned value of -1 for position indicates that the query was unsuccessful; use ferror to determine the nature of the error Formatoitu tekstitiedostoon tallennus ja luku: fprintf ja fscanf count = fprintf(fid,format,a,...) Kirjoittaa tiedostotunnisteeseen fid muotoilumääreen format ilmaisemassa muodossa matriisin A sisällön, paluuarvo count ilmaisee kirjoitettujen tavujen lukumäärän. Muotoilumääreet ovat samat kuin C-kielessä. Katso komennon help-tiedostosta tarkemmin. Esimerkki: Kirjoitetaan eksponenttifunktion arvoja tiedostoon. >> x = [0:.1:1]; >>y = [x; exp(x)]; >>fid = fopen('exp.txt','w'); >>fprintf(fid,'%6.2f %12.8f\n',y); >>fclose(fid) A = fscanf(fid,format) [A,count] = fscanf(fid,format,size) Lukee tiedostotunnisteesta fid muotoilumääreen format ilmaiseman määrän muuttujia matriisiin A. Jälkimmäinen versio lukee size-parametrin ilmaiseman määrän dataa.

n Read n elements into a column vector inf Read to the end of the file, resulting in a column vector containing the same number of elements as are in the file. [m,n] Read enough elements to fill an m-by-n matrix, filling the matrix in column order. n can be specified as inf, but m cannot. Esimerkki: Luetaan edellisen esimerkin data. >>fid = fopen('exp.txt'); >>a = fscanf(fid,'%g %g',[2 inf]) >>fclose(fid) Tehtävä: Sovellusohjelmat-kurssin kokeessa opiskelijat saivat pisteitä seuraavasti: Ankka Aku 7 Ankka Roope 14 Hiiri Mikki 18 Hopo Hessu 3 Kirjoita tulokset tekstitiedostoon tulokset.txt fprintf-funktiota käyttäen. Tarkista tulos Notepadilla. Tekstitiedostosta luku rivi kerrallaan: fgetl ja fgets fgetl Read line from file, discard newline character. tline=fgetl(fid) returns the next line of a file associated with file fgetl lukee tiedostotunnisteesta FID tekstiä rivi kerrallaan ja tallentaa tuloksen Matlabin merkkijonoksi. Rivinvaihtomerkkiä EI LUETA. Jos se tarvitaan, on käytettävä fgets-funktiota. Esimerkki: Työhakemistoon on tiedosto blackbird.txt. Luetaan sitä rivi kerrallaan. >> fid=fopen('blackbird.txt','r') fid = 3 >> fgetl(fid) Blackbird singing in the dead of night >> fgetl(fid) Take these broken wings and learn to fly >> fgetl(fid) All your life >> fclose(fid) 0

Tiedoston luku tapauksessa, jossa se sisältää sekä tekstiä että numeerista tietoa sekaisin: textscan ja textread textscan-funktio Monesti tekstitiedostossa oleva data sisältää sekä tekstiä että lukuja. Tavallinen tilanne on, että meillä on tiedoston alussa otsikko eli header, jossa on määritelty, mitä jäljempänä olevat luvut ovat. Esimerkki: Tiedosto grades.dat sisältää formatoitua numeerista tietoa (liukulukuja) sekä yksirivisen otsikkotekstin: Grade1 Grade2 Grade3 78.8 55.9 45.9 99.5 66.8 78.0 89.5 77.0 56.7 Tämä voidaan lukea yhdellä kertaa seuraavasti: >>fid = fopen('grades.dat', 'r'); >>grades = textscan(fid, '%f %f %f', 3, 'headerlines', 1); >>grades{:} 78.8000 99.5000 89.5000 55.9000 66.8000 77.0000 45.9000 78.0000 56.7000 >>fclose(fid); Toiminta: Luetaan tiedostotunnisteesta fid kolme liukulukua per rivi ('%f %f %f'). Rivejä on 3 kappaletta. Luvut tallentuvat muuttujaan grades. Alusta jätetään huomiotta 1 otsikkorivi. Tarkempi kuvaus syntaksista löytyy komennon helpistä. Jos rivien lukumäärää ei tiedetä ja halutaan lukea kaikki mitä löytyy, on komennon syntaksi: >>grades = textscan(fid, '%f %f %f', -1, 'headerlines', 1);

Textscan tallentaa lukemansa datan cell array-tyyppiseen muuttujaan. Jos tiedostossa on rivillä useaa erityyppistä tietoa, ne olisi luontevampaa tallentaa jokainen sarakkeittain omiksi muuttujikseen. Tähän voidaan käyttää textread-funktiota. Solun sisältämät tiedot voidaan sijoittaa tavalliseen vektoriin valitsemalla yksi cell array-sarake: >>grades{:,1} 78.8000 99.5000 89.5000 >> grades{:,2} 55.9000 66.8000 77.0000 Eli sarakkeeseen viitatessa käytetään tavallisten sulkujen sijasta aaltosulkuja. Tehtävä: Lue tekemäsi tulokset.txt-tiedoston sisältö käyttäen textscanfunktiota. Laske arvosanojen keskiarvo. Tehtävä: Henry Cavendish mittasi maapallon keskimääräisen tiheyden vuonna 1798 torsioheilurin avulla. Kurssin sivulta löytyvässä tiedostossa density_tab.txt on listattu Cavendishin mittaustulokset (29 kpl) yksiköissä g/cm 3. Piirrä mittaustuloksista histogrammi. Mille tiheysvälille sijoittuu suurin osa mittaustuloksista ja kuinka monta arvoa kyseiselle välille osuu? Tehtävä: Mikä on mittaustulosten perusteella maapallon keskitiheys virherajoineen? Tulos on muotoa: σ ρ = x ± 2

textread-funktio Tämä funktio on poistumassa käytöstä, joten sen sijasta suositellaan käytettäväksi textscan:ia. Esimerkki: Tiedostossa mydata.dat on kullakin rivillä sekä tekstiä että liuku- ja kokonaislukuja: Sally Type1 12.34 45 Yes Larry Type2 34.56 54 Yes Tommy Type1 67.89 23 No >>[names, types, x, y, answer]=textread('mydata.dat', '%s %s %f %d %s',3) names = 'Sally' 'Larry' 'Tommy' types = 'Type1' 'Type2' 'Type1' x = 12.3400 34.5600 67.8900 y = 45 54 23 answer = 'Yes' 'Yes' 'No' Hakasuluissa määritellään, minkä nimisiin muuttujiin tallennetaan. Muuttuja names sisältää heppujen nimet jne. Hipsuissa määritellään C-kielestä tutuilla formatointikoodeilla luettavien muuttujien tietotyypit. Viimeinen luku kertoo, montako riviä luetaan. Jälleen -1 tässä kohtaa lukee kaikki.

Kuvat, audio, video, xml ja xls Lopuksi lyhyt kooste muista tarpeellisista tiedostoformaateista, joista voi olla hyötyä tulevaisuudessa. Tässä niitä ei käsitellä sen tarkemmin ajan puutteen takia. imread, imwrite Kuvien luku ja kirjoitus aufinfo, aviinfo wavinfo Tietoa.au,.avi ja.wav-tarkenteisista tiedostoista mmfileinfo Tietoa multimediaformaateista auread, wavread Äänitiedostojen luku aviread, mmreader Videotiedostojen luku auwrite, aviwrite Äänitiedostoihin kirjoitus xlsinfo, xlswrite, xlsread Excel-tiedostojen käsittely xmlwrite, xmlread XML-tiedostojen käsittely Tehtävä: Lataa Matlabin hakemistopolusta löytyvä kuva cameraman.tif ja tutki, minkä kokoinen se on. Miten kuvatieto on tallennettu? Tehtävä: Tallenna tulokset.txt-tiedosto tulokset.xls-tiedostoksi. Tutki Excelillä, onnistuiko tiedoston tallennus.