ITGK - H2010, Matlab. Repetisjon

Like dokumenter
TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

Kapittel september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 7.

MATLAB for STK1100. Matematisk institutt Univeristetet i Oslo Januar Enkel generering av stokastiske variabler

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Tall, vektorer og matriser

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 2. Iver Dihle Skjervum Vit.ass. ITGK

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Forelesningsinfo. Tider Mandag Tirsdag Onsdag Torsdag Fredag

Python: Variable og beregninger, innlesing fra tastatur utskrift til skjerm. TDT4110 IT Grunnkurs Professor Guttorm Sindre

En innføring i MATLAB for STK1100

Øvingsforelesning TDT4105 Matlab

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose

TDT4105 Informasjonsteknologi, grunnkurs

Læringsmål og pensum. Designe et program

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Testlig og binær form

TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon. Professor Alf Inge Wang

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

Del 4 Noen spesielle C-elementer

Kapittel august Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 2.

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

TDT4105 Informasjonsteknologi grunnkurs: Uke 42 Strenger og strenghåndtering

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 4. Iver Dihle Skjervum Vit.ass. ITGK

Designe et program. TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output. Mål.

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag

INF109 - Uke 1b

Del 1 En oversikt over C-programmering

Høst Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Øvingsforelesning i Matlab TDT4105

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang

Læringsmål og pensum. Inn- og utoperasjoner 21/10/16

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output. Professor Alf Inge Wang

Utførelse av programmer, metoder og synlighet av variabler i JSP

MAT-INF 2360: Obligatorisk oppgave 1

START MED MATLAB. Når du starter Matlab, kommer du inn i kommandovinduet. Dersom du har versjon 6.1, ser du dette :

Matlab-intro MUS4218

Programmeringsspråket C

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Øvingsforelesning 1 Python (TDT4110)

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

Forkurs i informatikk Python. Andreas Færøvig Olsen

Binærfiler versus tekstfiler

Kapittel Oktober Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 14.

Øvingsforelesning i Matlab (TDT4105)

MATLABs brukergrensesnitt

Kapittel 1 En oversikt over C-språket

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

Kanter, kanter, mange mangekanter

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

TDT4110 IT Grunnkurs Høst 2015

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

41070 STABILITET I ELKRAFTSYSTEMER

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo

MAT1120 Plenumsregningen torsdag 26/8

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Læringsmål og pensum. v=nkiu9yen5nc

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Hydrostatikk/Stabilitet enkle fall

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

MAT-INF 2360: Obligatorisk oppgave 1

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

18. (og 19.) september 2012

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

Shellprogrammer og -variabler

INF1000 Behandling av tekster

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Sprettende ball Introduksjon Processing PDF

Dagens tema. Kort repetisjon om rutiner. Programmering i C Variable og adresser. Vektorer. Tekster. Preprosessoren. Separat kompilering

Sammensetningen h = f g er en funksjon fra A til C, h: A -> C og er definert ved h(a) = f(g(a)) Viktig: f g g f

Læringsmål og pensum. Oversikt

Matematikk Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

4. og 5. september 2012

Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Transkript:

1 ITGK - H2010, Matlab Repetisjon

2 Variabler og tabeller Variabler brukes til å ta vare på/lagre resultater Datamaskinen setter av plass i minne for hver variabel En flyttallsvariabel tar 8 bytes i minne (default representasjon) I Matlab blir alle variabler representert som matriser Tekststrenger blir i Matlab representert som en matrise av enkelt karakterer En variabel som lagrer bare en verdi er en 1x1 matrise i Matlab Vi bruker whos for å finne størrelse og type på variabler Vi kan bruke exist for å sjekke om en variabel er ledig For å slette en variabel brukes clear <variabel> Husk at bare clear sletter alle variabler

3 Tilordning av variabler Tilordning av enkelt variabel: x = sin(pi/2)+12 + y; % Resultat blir lagret i variabelen x Opprettelse av lister og tabeller: A = [1:2:10]; % A blir [1 3 5 7 9]. B = [1 2 3 ; 4 5 6]; % Oppretter 2x3 tabell i B C = [1:0.5:3 ; 2:1:6]; % Oppretter 2x5 tabell i C, %Obs! Antall kolonner må være like. D(1:10,1:10) = 10; % Oppretter 10x10 tabell med verd.10 E = [1 2 3; 4 5 6; 7 8 9]; % Oppretter 3x3 tabell i E

4 Om tabeller Tabeller består av: indeks: angir plassnummer i tabellen element: innholdet i form av en verdi for en gitt indeks tabellengde: maks antall elementer i tabellen

5 Manipulere tabeller Vi bruker size() og length() for å finne lengde av tabeller og lister Man legger inn elementer eller endrer verdier på elementer i en tabell ved å bruke indeksen: A(3) = 7; % Tilordner element 3 i lista A verdien 7 E(2,2) = 5; % Gir elementet med indeks 2,2 verdien 5 disp(e(3,3)); % Skriver ut verdien til elementet med indeks 3,3 disp(e(2,:)); disp(e(:,1)); % Skriver ut andre rad i tabellen E % Skriver ut første kolonne i tabellen E disp(e(1,2:3)); % Skriver ut elementene fra 2 og 3 kollonne i rad 1

6 Tilordning av variabler og innebygde funksjoner Funksjonen zeros lager en tabell av 0er: A = zeros(1,10); % Lager en 1x10 matrise av 0er B = zeros(5,5); % Lager en 5x5 matrise av 0er. Kan bruke zeros(5) Funksjonen rand gir et tilfeldig tall mellom 0 og 1: x = rand()*50; % Et tilfeldig flyttall mellom 0 og 50 y = rand(2,3)*10; % 2x3 tabell av tilfeldige flyttall mellom 0 og 10 Funksjonene floor og ceil runder av nedover og oppover: z = ceil(rand(10,1)*20); %10x1 tabell med heltall mellom 1 og 20 v = floor(rand()*5); % Heltall mellom 0 og 4 Funksjonen round gir vanlig avrunding til nærmeste heltall

7 Oppgaver D=[1:4; 2:5; 3:6; 4:7] Skriv kode for å sette element 15 til tallet 9 Skriv kode for å skrive ut elementene 13-16 til skjerm Skrive kode for å bytte elementene 5-7 til verdien 1 Skriv kode for å skrive ut elementene 3,7, 10 og 11 Skrive kode for å sette elementene 4, 8, 12, og 16 til 4, 3, 2, 1 Skrive kode for å skrive ut elementene 1-3 og 5-7 til skjerm

8 2D plotting oversikt plot(x,y,<farge>); plotter på en prikk på punktet x,y med farge r, b, etc. plot funksjonen brukes vanligvis på to lister av tall bar(h,<farge>); lager et søylediagram med ut ifra verdier i H med farge r, b, etc. bar funksjonen brukes vanligvis på lister av verdier grid on; % Gir rutenett hold on; % Kan plotte flere plot oppå hverandre title( tittel ); % Gir overskrift på plottet xlabel( tekst ); % Tekst på x-aksen ylabel( tekst ); % Tekst på y-aksen

9 Input fra tastatur Tall fra tastatur til Matlab-variabelen tall: tall = input( ledetekst ) Viktig ved innlesing: ledetekst er vanlig tekst som skrives ut til skjerm det du skriver inn tolkes som et Matlab-uttrykk. Dvs. hvis brukeren skriver inn tekst vil man få feilmelding. Ved innlesning av tekst kan man bruke: tekst = input( ledetekst, s )

10 Disp Standardfunksjonen for å skrive ut verdier til skjerm i Matlab heter disp Denne er veldig begrenset i forhold til det som er vanlig i andre programmeringsspråk fordi den bare kan gjøre to ting skrive ut en liste av tall skrive ut en liste av tekst Dette er slitsomt fordi man oftest vil gjøre begge deler, for eks. skrive ut noen tall og en forklaring på hva disse tallene er... Skal vi bruke disp må vi oversette til det ene eller det andre. Derfor blir ofte disp erstattet med printf (Matlab: fprintf(1,...)) når man har lært seg det

11 Output til skjerm - disp Vis innholdet av en variabel, tabell, tekststreng på skjerm ved å bruke: disp(variabel) disp(tabell_variabel) disp( Skriver ut tekst ) % viser variabel på skjerm % viser tabell på skjerm % viser tekst på skjerm Merk at kommandoen disp etterfølges av et linjeskift Flere variabler kan skrives ut etter hverandre: disp(a), disp(b), disp(c) % Får linjeskift etter hver disp

12 Alternativ: fprintf() Funksjonen disp er tungvint for å blande utskrift av tekst og tall Matlab har fprintf og fscanf som kan brukes til formatert utskrift uten problemene disp har Den må ha filnummer som første argument Skriving til skjerm kan gjøres ved å droppe filnummeret, eller med 1 som filnummer: fprintf( Tekst som skal skrives ut \n ); fprintf(1, Tekst som skal skrives ut \n ); Funksjonen fprintf tar et argument som kan være en blanding av tekst som skal skrives ut og spesifikasjon av hvordan variable skal skrives ut

13 Formatert utskrift Det er best å se på et konkret eksempel: >> x=10; y=1; >> fprintf( Verdien til x er %d og y er %d\n', x, y); Verdien til x er: 10 og y er 1 >> fprintf( Pi med 10 desimaler: %.10f\n, pi); Pi med 10 desimaler: 3.1415926536 Typebokstaver: d x f e c s heltall heksadesimalt tall desimaltall uten e (fast form) desimaltall med e+ eller e- (vitenskapelig notasjon) en enkel bokstav en tekststreng Merk at fscanf ikke kan lese fra tastatur, så den er ikke så nyttig! Men kan være ok for å lese inn formatert tekst fra fil

14 Konvertering mellom tall og tekststrenger Bruk følgende for å gjøre om et tall til en tekststreng: tekst_variabel=num2str(tall_variabel) Brukes typisk ved utskrift av variabler med disp: disp(['verdien til x er ' num2str(x)]); Bruk følgende for å gjøre om en tekststreng til et tall: tall_variabel = str2double(tekst_variabel) For å sette sammen flere tekststrenger bruk: tekststrenger = strcat(s1,s2, ) tekst = strcat( Kåre kjører, for fort, huff )

15 Skriving og lesing til/fra fil av enkelt variabler/tabeller For å skrive en variabel A til tekstfil, bruk følgende: save( -ascii, minfil.txt, A ) For å lese fra tekstfil til en variabel B, bruk følgende: B= load( -ascii, minfil.txt ) Merk at save skal ha variabelen som en tekststreng (dvs. variabelnavnet innpakket i fnutter) Kan også lese og skrive binærfil med save og load