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



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

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

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

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

Textsträngar från/till skärm eller fil

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Repetition av filer Grundkurs i programmering med Python

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

TANA17 Matematiska beräkningar med Matlab

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

Tentamen i Programmering grundkurs och Programmering C

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

TAIU07 Matematiska beräkningar med Matlab

Föreläsning 12: Datastrukturer & filer

Kapitel 15: Data/Matrix Editor

5 Grundläggande in- och utmatning

MMA132: Laboration 1 Introduktion till MATLAB

Programmeringsteknik med C och Matlab

Chapter 3: Using Classes and Objects

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

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

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

Introduktion till Winbas. produkt och prisinläsning

Matematisk Modellering

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

Enkla datatyper minne

Introduktion till Matlab

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

Filer och structer Del 2

Tentamen OOP

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

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

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

Programmeringsteknik med C och Matlab

TANA81: Simuleringar med Matlab

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.

Objektorienterad programmering D2

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

Föreläsning 3.1: Datastrukturer, en översikt

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

Introduktion till MATLAB

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

Björn Abelli Programmeringens grunder med exempel i C#

Linjär algebra med tillämpningar, lab 1

Beräkningsvetenskap föreläsning 2

Föreläsning 1 & 2 INTRODUKTION

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

Föreläsning 13. In- och utmatning

Uppgift 1 (Oläsliga krypterade meddelanden)

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

1 Funktioner och procedurell abstraktion

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

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

4 Sammansatta datatyper

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

READ (*, 100) X,Y,Z,T,U,V 100 FORMAT (6F5.2) för att läsa in talen

Föreläsning 2: Avlusning och antilustekniker

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.

Strängar. Strängar (forts.)

Grundläggande programmering med C# 7,5 högskolepoäng

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

F2: Styrstrukturer, programmeringsteknik (kap. 3 4)

SMD 134 Objektorienterad programmering

Anvisningar för ifyllning av Excelark för databaser (sekventiella textfiler)

TDP002 - Imperativ programmering

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

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

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

Mini-One-Stop-Shop (MOSS) Deklarationsrader i fil. (för inläsning i e-tjänsten)

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

Dragningssystemet. Filbeskrivning för osigillerad resultatfil från premieobligationsdragning. Version 1.2

Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler

Objektorienterad Programmering (TDDC77)

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

Matematisk Modellering

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

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

Programmering A. Johan Eliasson

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

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

Objektorienterad programmering i Java

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Datorövning 1: Introduktion till MATLAB

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

Textbearbetning i skalet och man-sidor

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Datorövning 1 Statistik med Excel (Office 2007, svenska)

Kort om programmering i Matlab

Adobe. InDesign CS2. Grundkurs.

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)

Objektorienterad Programmering (TDDC77)

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Instruktion för laboration 1

TSBB14 Laboration: Intro till Matlab 1D

Börja programmera. Kapitel 4 i kompendiet Jämförande uttryck Villkorssatser Loopar (slingor) Funktioner. Läs inte avsnitt 4.2.3

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

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

Transkript:

F5: Filhantering in- och utmatning (kap. 2 och 8) 1 Utskrift på skärm, inläsning från tangentbord (kap. 2) Spara och hämta variabler med save och load (kap. 2) Kommandot textread Mer avancerad filhantering: Användning av filreferenser, öppna, stänga, filslut Binär skrivning och läsning med filreferens Formatkoder och specialtecken Skrivning och läsning med formatstyrning Direktfiler Utskrift på skärm, inläsning från tangentbord 2 Det finns många sätt att skriva ut och läsa in data. Kommandon för utskrift på skärmen: Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut disp(uttryck) uttryckets värde utan variabelnamn skrivs ut - fprintf(formatsträng,uttryck, ) hur uttryckens värden skrivs styrs av formatkoder m.m. i formatsträngen Inläsning från tangentbordet: - input(ledtext) skriver ut strängen ledtext. Kommandot returnerar svaret - input(ledtext,'str') skriver ut strängen ledtext. Svaret lagras som en sträng i str

Ex: Tabell på skärmen Skriv en tabell med rätvinkliga trianglar med heltalssidor <= 100. 3 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); Filhantering 4 En datafil är en samling data (information) som är lagrad under ett speciellt namn. Data kan skrivas till och läsas från filer på två olika sätt: Oftast lagras filer i form av text, s.k. formatterad in- och utmatning. Innehållet omvandlas då till tecken som kan läsas direkt av användaren. Ibland vill man kunna lagra data binärt, på exakt samma form och med samma bitmönster som data lagras i primärminnet. Läsningen och skrivningen är mycket effektiv, men en användare kan inte läsa innehållet

Spara variabler med save Man kan spara sina variabler i filer som är gjorda för MATLAB med följande kommandon: 5 save filnamn spara alla variabler i workspace (eller angivna variabler) binärt på filen filnamn.mat save filnamn v spara värden i variabeln v binärt på filen filnamn.mat Ex: v = [1 2 3 4]; save vektor v; save filnamn v -ascii-double spara värden i variabeln v som text i ASCII-format på filen filnamn.mat i dubbel precision med 16 siffror Hämta variabler medload 6 Man kan hämta variabler från filer skapade i tidigare MATLABsessioner med följande kommandon: load filnamn Hämta alla variabler från filnamn.mat binärt Ex: load vektor.mat; hämtar alla variabler i den binära filen vektor.mat load filnamn [variabellista] Hämta alla variabler (eller angivna) från filnamn.mat binärt 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

Användning av MATLAB med andra program 7 Möjligheten att använda MATLAB med andra program är maskinberoe Det är möjligt att läsa och skriva filer skapade med andra program på blankteckenseparerat ASCII-format, t.ex. Excels, Lotus 123 formulärformat WK1 eller ASCIIkalkylbladformat Verktyget Import Wizard underlättar inläsning av många filformat, t ex kalkylblad, binära filer, textoch grafikfiler Kommandottextread 8 Läs i boken och hjälpinformationen om filhantering. textread läser numeriska data från en textfil. Man kan även läsa in till flera variabler. Syntax: [a,b,c,...] = textread('filename','format') [a,b,c,...] = textread('filename','format',n) [...] = textread(...,'param','value',...) 'format' är en formatsträng som innehåller en beskrivning av datatypen i varje kolumn (se bild 12) Ex. A = textread( blah.txt, %u%u );

Öppna och stänga filer med filreferenser (file id) Vi öppnar filen med funktionen fopen Om det går bra får vi en filreferens, s.k. fileid som kan användas för att identifiera filen och var man jobbar i den. (om det uppstod något fel returneras värdet -1). filreferens = fopen(filnamn,op) Strängen op bestämmer vilka typer av operationer som kan utföras på filen och kan anta värdena: 'r' ast läsning 'r+' läsning och skrivning 'w' skriv över gammal eller skapa ny. Endast skrivning 'w+'skriv över gammal eller skapa ny. Skrivning och läsning 'a' (app) skriv i slutet av gammal fil. Endast skrivning 'a+' skriv i slutet av gammal fil. Endast skrivning och läsning 9 fclose(filreferens) Stänger filen specificerad av filreferens. Om det går bra returneras 0 annars 1. feof(filreferens) Returnerar 1 om slutet på filen har nåtts annars returneras 0 Binär skrivning och läsning 10 Det kan ibland vara nödvändigt att använda binära filer i MATLAB Om man har ett annat program som skapar filer i ett speciellt format eller kräver filer i ett speciellt format Kommandona save och load kan inte påverka exakt hur variablerna ska lagras Binär skrivning : fwrite(filreferens,uttryck,prec) skriver uttrycket kolonnvis till filen. Funktionen returnerar antalet skrivna element. prec bestämmer med vilken precision elementen ska sparas, kan vara 'char', 'int16', 'float32' m.m. Binär läsning: [variabel,antal] = fread(filreferens,storlek,precision) returnerar data från filen till matrisen variabel. antal är antalet element som lästes utan fel, storlek är ett tal, inf eller [m n] och precision som ovan

Skrivning och läsning av formatterade textfiler Skrivning till textfil med filreferens: fprintf(filreferens,formatsträng,uttryck, ) skriver de data som ges av uttryck, till filen på formatet enligt formatsträng Läsning från textfil med filreferens: variabel = fscanf(filreferens,formatsträng,storlek) läser in data från filen till variabel, formatsträng anger formatet på de data som läses in. storlek anger hur många element som ska läsas [variabel,antal] = fscanf(filreferens,formatsträng,storlek) fungerar på samma sätt som ovan, men i antal returneras antal inlästa element rad = fgetl(filreferens) läser nästa rad i filen, om filen står vid radslut returneras -1 rad = fgets(filreferens) returnerar en sträng som innehåller nästa rad i filen, inklusive -of-line-tecken, om filen står vid radslut returneras -1 11 Formatkoder i formatsträngar 12 En formatsträng till kommandona fprintf oxh fscanf består av formatkoder, specialtecken och annan text. En formatkod har formen: %[ + 0][#.#]F. Markören % och formatkonverteraren F måste ingå, hakparanteserna anger att tecknen kan utelämnas - vänsterställ + sätt alltid ut tecken 0 fyll ut med inledande nollor #.totalt antal tecken.#antal siffror /antal decimaler Formatkonverterare: c ett tecken d decimalt heltal e exponentform med e E exponentform med E f decimalbråk s teckensträng u decimalt heltal utan tecken

Specialtecken i formatsträngar Specialtecken är: \n (ny rad) \t (tabulatortecken) \b (backsteg) \f (ny sida) \r (början av raden) \' eller '' (skriv apostrof, ') \\ (skriv inverterat snedstreck) Uttrycken i formatsträngen paras ihop med formatkoderna med början från vänster. 13 Om formatsträngen tar slut innan uttrycken används den från början igen. Om uttrycken tar slut innan formatsträngen används formatsträngen fram till nästa formatkod eller till sitt slut. Specialtecken och annan text och skrivs ut resp. matchas mot tecknen i filen. Ex: Läs, lagra och skriv en textfil 14 fr = fopen('findgear.m','r') fr = 3 t = fscanf(fr,'%c',inf); %läs till slutet av filen disp(t); function [m,n,finalgear] = findgear(gear,min,max)... whos t Name Size Bytes Class t 1x865 1730 char array

Läs in till en nx3 numerisk matris från textfil 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] 15 % Konvertera till nx3 numerisk matris % och 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 4 5 6 7 8 9 10 0 0 Dialogrutor, felmeddelanden och numeriska data 16 Med 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);

Direktfiler Programmet kan styra var i filen läsning/skrivning ska ske: frewind(filreferens) sätter aktuell position till filbörjanftell(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 17