1 TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 4 Iver Dihle Skjervum Vit.ass. ITGK
2 Program Auditorieøving Kollokvie Spørsmål fra øving 2 Matriser og operasjoner på de For løkker While løkker Plotting av graf
3 Auditorieøving Neste tirsdag 15 17 Øvelse på eksamen Må ha en av to godkjente
4 Fordeling auditorieøving R1: Bygg og miljøteknikk og Teknisk Geofag R3: Petroleumsfag, Nanoteknikk og «Annet» EL3: Master Realfag
5 Påmelding kollokvie Ikke veldig mange påmeldt Snakk med studass for påmelding Hvis du er usikker: Meld deg på, så sier vi ifra hvis du er for flink.
6 Spørsmål øving 2
7 Matriser Består av rader og kolonner Vi kan multiplisere og dele matriser med andre matriser eller tall Kan utføre elementoperasjoner Det vil si operasjon som utføres på hvert element Må ha to matriser av samme dimensjon (eller et enkelt tall) Da vil operasjonen bli utført med elementene på samme posisjon i matrisen Eksempel
8 For - løkker for i=1:10 end fprintf('%d, ',i);
9 Telle «baklengs» for i=10:-1:1 end fprintf('%d, ',i); Start: 10 Teller: -1 Stop: 1
10 Inne i for-løkken kan vi gjøre «alt» Vi kan ha if/else Vi kan ha switch Vi kan ha en ny for-løkke
11 Eksempel for i=10:-1:1 if(i > 5) fprintf('i er større enn 5, og i er: %d\n', i); else fprintf('i er mindre enn 5, og i er: %d\n', i); end end
12 Oppgave Lag en for-løkke som teller fra 1 til 6 Lag en ny for-løkke som teller fra 1 til 6 inne i den forrige (obs: husk nytt navn på telleren) Skriv ut begge tellerne hvis summen av tellerne blir 7 Dette vil gi ut alle mulige måter man kan få 7 på når du kaster to terninger
13 Lister Matrise med hvor mange rader? Vi finner et element i listen ved å gå inn på riktig posisjon a = [5:-1:1]; fprintf('%d\n', a(1)); fprintf('%d\n', a(2));
14 For-løkker og lister Vi bruker for-løkker til å iterere (gå gjennom) lister En liste har index som begynner på 1, og ender på antall elementer i lista Derfor passer det veldig bra med å bruke for-løkker til å gå gjennom lister
15 Oppgave Lag en liste som består av 10 forskjellige tall Lag en for-løkke som itererer gjennom lista, og skriver ut annethvert tall
16 While - løkker while(betingelse) end %Gjør noe spennende her
17 While - eksempel a = 0; while(a < 10) fprintf('a er fortsatt mindre enn 10: %d\n', a); end a = a+1;
18 Oppgave: «Hvor mye er igjen av UKA budsjettet ditt?» Ta inn input fra brukeren hvor mye penger han har tenkt å bruke på UKA Gjør følgende så lenge som saldoen er større enn 0: Ta inn fra brukeren fra brukeren hvor mye som ble brukt i dag. Trekk fra saldoen, og sjekk om brukeren hadde råd til det på budsjettet. Skriv ut til brukeren om det gikk bra å bruke så mye penger eller ikke
19 For løkker og matriser For-løkker og matriser hører også veldig godt sammen Før har vi bare iterert gjennom lister (matriser som har 1 rad) Nå skal vi iterere gjennom matriser som har flere rader Hvordan gjør vi det?
20 Dobbel for-løkke Vi lager en teller for radene, og en teller for kolonnene a = randi(5,5,3) [rad,kolonne] = size(a); for radteller=1:rad for kolonneteller=1:kolonne fprintf('element i rad %d, og kolonne %d er: %d\n', radteller, kolonneteller, a(radteller,kolonneteller)); end end
21 Plotting Matlab har funksjon for å plotte grafer Funksjonen plot(x,f(x)) tar inn x aksen som første argument, og en funksjon f(x) som regner ut verdien på y-aksen Eksempel
22 Oppgave Lag en tabell som består av tall mellom 0 og pi, med skritt 0.1 Plot sinus funksjonen med tabellen som x-akse
23 Spørsmål?