Läsning, skrivning, tangentbord, skärm. F6: Filhantering (kap. 8) Tabell på skärmen. save

Relevanta dokument
Läsning, skrivning, tangentbord, skärm. F6: Filhantering (kap. 8) Tabell på skärmen. Tabell på skärmen, test

Läsning, skrivning, tangentbord, skärm. F6: Filhantering (kap. 8) Tabell på skärmen

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

F5: Grafiska användargränssnitt (kap. 9 10) Vad är ett (grafiskt) användargränssnitt? Ett exempel: Enkel räknare

Grafiska objekt och egenskapslistor Grafikfunktioner returnerar en objektreferens. >> obj_r = quiver([0 1],[0 0],[1 0],[1 1],'o') obj_r = 111.

F5: Grafiska användargränssnitt (kap. 9 10) Vad är ett (grafiskt) användargränssnitt? Ett exempel: Enkel räknare

F8: Resterna. Substitutionschiffer. Permutationer. ASCII och char. Substitutionschiffer (Lab 3) Permutationer Rekursion

Föreläsning 12: Datastrukturer & filer

Filer och structer Del 2

Enkla datatyper minne

Strängar. Strängar (forts.)

Programmeringsteknik med C och Matlab

Objektorienterad Programmering (TDDC77)

Föreläsning 13. In- och utmatning

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Villkor if, switch. F2: Styrstrukturer, programmeringsteknik (kap. 3 4) If-kommando forts. If-kommando forts.

Objektorienterad Programmering (TDDC77)

Filhantering. Grunderna i filhantering. Uppbyggnad av filer. Data hierarkin. Filpekaren. Positionering i filer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26

Deklarera en struct som kan användas för att representera en rät linje

5 Grundläggande in- och utmatning

TANA17 Matematiska beräkningar med Matlab

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Programmering för språkteknologer I, VT2012. Rum

Uppgifter till praktiska tentan, del A. (7 / 27)

Programmering i C++ EDA623 Strömmar och filer. EDA623 (Föreläsning 9) HT / 19

Villkor, if, switch. F2: Styrstrukturer, programmeringsteknik (kap. 3 4) If-kommando forts. If-kommando forts.

TANA81: Simuleringar med Matlab

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Tentamen ges för: Tentamensdatum: Tid:

Övning från förra gången: readword

Tentamen i. Programmering i språket C

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

[] Arrayer = Indexerad variabel

F2: Styrstrukturer, programmeringsteknik (kap. 3 4)

Villkor if, switch. F2: Styrstrukturer, programmeringsteknik (kap. 3 4) If-kommando forts. If-kommando forts.

Linjär algebra med tillämpningar, lab 1

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Kursuppläggning. F1: Introduktion, Matlabrepetition (kap. 1 2) Motivering för programmering. Att kunna programmera

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

Strängar. Elektronikcentrum i Svängsta AB

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

F4: Datastrukturer (kap. 6 7) Komplexa tal Ö3: 5.2, 5.7, 5.14, 5.20

HI1024 Programmering, grundkurs TEN

F2 Binära tal EDA070 Datorer och datoranvändning

Filer. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Anteckningar 1: Grundläggande saker

Föreläsning 1 & 2 INTRODUKTION

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Tentamen i. för D1 m fl, även distanskursen. lördag 19 januari 2013

Introduktion till Matlab

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Uppgift 1 ( Betyg 3 uppgift )

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

F2 Datarepresentation talbaser, dataformat och teckenkodning

Beräkningsvetenskap föreläsning 2

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Tentamen i Programmering grundkurs och Programmering C

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Objektorienterad programmering Föreläsning 4

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I

SMD 134 Objektorienterad programmering

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

PC-teknik, 5 p LABORATION FILHANTERING

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Undantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

Programmeringsteknik med C och Matlab

Undantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Översikt över Visual Basic

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Tentamen i. Programmering i språket C

Språket Python - Del 2 Grundkurs i programmering med Python

Repetition av filer Grundkurs i programmering med Python

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

HI1024 Programmering, grundkurs TEN

TDP002 - Imperativ programmering

Transkript:

F6: Filhantering (kap. 8) Läsning från tangentbordet, skrivning på skärmen Binär skrivning och läsning med save och load Skrivning på och läsning från textfil med save och load Användning av filreferenser, öppna, stänga, filslut Binär skrivning och läsning med filreferens Skrivning och läsning med formatstyrning Direktfiler Läsning, skrivning, tangentbord, skärm Det finns många sätt att hämta och spara data. In från tangentbordet: med tilldelningskommando input(ledtext), input(ledtext,'s') Ut på skärmen: kommando utan ; variabelns namn skrivs också ut disp(uttryck) inget variabelnamn fprintf(formatsträng,uttryck, ) hur uttryckens värden skrivs styrs av formatkoder m.m. i formatsträngen Tabell på skärmen Skriv en tabell med rätvinkliga trianglar med heltalssidor <= 100. fprintf('\n a b c\n'); for c=1:100 c2 = c^2; for a=1:floor(sqrt(c2/2)) a2 = a^2; b = round(sqrt(c2-a2)); if a2+b^2==c2 fprintf('%5d%5d%5d\n',a,b,c); save Ut på fil: save [variabellista] alla variabler i arbetsplatsen (eller angivna) binärt till filen matlab.mat save filnamn [variabellista] binärt till filen filnamn.mat save filnamn.suffix [variabellista] binärt till filen filnamn.suffix save -ascii [-double] [-tabs] som text till filen matlab.mat save filnamn [variabellista] -ascii [-double] [-tabs] som text till filen filnamn.mat save filnamn.suffix [variabellista] -ascii [-double] [-tabs] som text till filen filnamn.suffix med 8 siffror, -double ger 16 siffror, -tabs ger tabulatorseparerad utskrift

load In från fil: load [variabellista] alla variabler (eller angivna) från matlab.mat binärt load -ascii alla data från matlab.mat som text till variabeln matlab load filnamn [variabellista] alla variabler (eller angivna) från filnamn.mat binärt load filnamn -ascii alla data från filnamn.mat som text till variabeln filnamn load filnamn.suffix [variabellista] [-ascii -mat] alla variabler (eller angivna) från filnamn.suffix värdena läses normalt binärt, med -ascii eller med suffix annat än mat läses alla data till variabeln filnamn (då används ej variabellistan) från filen som text Load forts. >> type in.dat 2 3 6 7 får man >> load in.dat??? Error using ==> load Number of columns on line 2 of ASCII file in.dat must be the same as previous lines. Filreferenser Användning av filreferens. en filreferens håller Matlab reda på filen, vad man får göra med den och var man jobbar i den. filreferens = fopen(filnamn,tillstånd) Tillstånd kan vara 'r', 'r+', 'w', 'w+', 'a', 'a+'. Om öppningen misslyckas blir filreferens 1 och ett felmeddelande lagras i variabeln msg. fclose(filreferens) Ev. utskrift avslutas. Filen stängs. Om det går bra återsänds 0 annars 1. feof(filreferens) sant om inga data återstår Binär skrivning och läsning med filreferens Skrivning binärt med filreferens: fwrite(filreferens, uttryck, precision) där precision kan vara 'char', 'int16', 'float32' m.m. Läsning binärt med filreferens: [variabel,antal] = fread(filreferens, storlek, precision) antal är antalet lästa värden, storlek är ett tal, Inf eller [m n] och precision som ovan

Skrivning och läsning med formatstyrning Skrivning som text med filreferens: fprintf(filreferens,formatsträng,uttryck, ) sprintf(formatsträng, uttryck, ) returnerar en sträng Läsning från textfil: [variabel1, variabel2,,variabeln] = textread(filnamn,formatsträng,radantal) läser kolumnuppdelade data Läsning från textfil med filreferens: variabel = fscanf(filreferens,formatsträng,storlek) [variabel,antal] = fscanf(filreferens,formatsträng,storlek) texten i filen tolkas som värden enligt formatsträng [variabel,antal] = sscanf(sträng,formatsträng,storlek) läser från sträng rad = fgetl(filreferens) texten fram till radslut, om filen står vid radslut återsänds -1 rad = fgets(filreferens) texten fram till och med radslut, om filen står vid radslut återsänds -1 >> type in.dat 2 3 6 7 8 9 10 får man >> [a, b, c]=textread('in.dat'); [a';b';c'] ans = 2 4 6 8 3 5 7 9 0 6 0 10 Formatsträng >>type s.dat ab c def ger s = fscanf(fopen('s.dat'),'%c') s = ab c def och abs(s) ans = 97 98 32 99 10 10 100 101 102 En formatsträng består av formatkoder, specialtecken och annan text. En formatkod har formen %[ + 0][#.#]k. % och k måste sättas ut. - vänsterställ + sätt alltid ut tecken 0 fyll ut med inledande nollor #. totalt antal tecken.# antal siffror/antal decimaler c ett tecken d decimalt heltal e exponentform med e E exponentform med E f decimalbråk g kortaste av e och f G kortaste av E och f o oktalt heltal

s teckensträng u decimalt heltal utan tecken x sedecimalt (basen 16) med gemena siffror X sedecimalt (basen 16) med versala siffror Specialtecken är %% (representerar ett procenttecken), \' (apostrof), '' (apostrof), \\ (inverterat snedstreck), \f (sidmatning), \r (vagnretur), \b (blanktecken), \t (tabulatortecken), \n (ny rad). Uttrycken paras ihop med formatkoderna. När formatsträngen tar slut används den från början igen. När data tar slut används formatsträngen fram till nästa formatkod eller till sitt slut. Text och specialtecken skrivs ut resp. matchas mot tecknen i filen. Läs, lagra och skriv en textfil. fr = fopen('findgear.m','r') fr = 3 t = fscanf(fr,'%c',inf); disp(t); function [m,n,finalgear] = findgear(gear,min,max)... whos t Name Size Bytes Class t 1x865 1730 char array Läs en nx3 numerisk matris från textfil. Fyll ut sista raden. type t.dat 1 2 3 4 5 6 7 8 9 10 fr = fopen('t.dat','r') fr = 3 t = fscanf(fr,'%d',inf); size(t) ans = [10 1] % Fyll sista raden t = reshape([t; zeros(mod(-numel(t),3))],3,[])' % mod([-12-11 -10],3) är [0 1 2] t = 1 2 3 7 8 9 10 0 0 uigetfile och uisetfile kan man öppna dialogrutor för att välja in- och utfil. Man bör kontrollera om läsning och skrivning gick bra: [felmed,felnr] = ferror(filreferens); if felnr~=0 disp(felmed); Läs i boken och hjälpinformationen om filhantering. Direktfiler Programmet kan styra var i filen läsning/skrivning ska ske: frewind(filreferens) sätter aktuell position till filbörjan ftell(filreferens) ger aktuell position i byte från filbörjan fseek(filreferens,pos,origo) sätter aktuell position till pos byte efter origo, origo 1 betyder filbörjan, 0 betyder aktuell position, 1 betyder filslut

Avslutning av programmerigskursdelen Det finns mer i Matlab Ni kan fördjupa det ni redan har sett. Ni kan lära känna Matlabs verktygslådor. Ni kan lära er objektorienterad programmering med Matlab. Kursen fortsätter med Programmeringslaboration 2 och 3 Numeriska metoder inkl. laborationer Projektet Tentan Hur går du vidare? Använd Matlab i nummedelen och i andra kurser. Läs kursen Tillämpad datalogi (tilda).