TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Like dokumenter
TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

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.

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

Læringsmål og pensum. v=nkiu9yen5nc

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

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Alternativ dag for teoriforelesning. Intro. Torsdag 12:15-14:00 R1

Øvingsforelesning i Matlab (TDT4105)

Øvingsforelesning i Matlab (TDT4105)

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

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

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

ITGK - H2010, Matlab. Repetisjon

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Tall, vektorer og matriser

TDT4105 Informasjonsteknologi, grunnkurs

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

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

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål

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

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter

Øvingsforelesning i Python (TDT4110)

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

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

TDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer

Øvingsforelesning TDT4105 Matlab

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

Læringsmål og pensum. Designe et program

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

YouTube-kanal ITGK. Læringsmål og pensum

TDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer

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

TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner. - 3rd edition: Kapittel Professor Alf Inge Wang

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

En innføring i MATLAB for STK1100

Kapittel 1 En oversikt over C-språket

Læringsmål og pensum. Hva er en variabel?

Læringsmål og pensum. Oversikt

Hydrostatikk/Stabilitet enkle fall

Læringsmål og pensum. if (be): else (not_to_be):

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

Øvingsforelesning i Matlab (TDT4105)

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

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

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

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

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Bruk piazza for å få rask hjelp til alles nytte!

Del 1 En oversikt over C-programmering

TDT4110 Informasjonsteknologi grunnkurs: Uke 48 Oppsummering/Spørretime. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

Et lite oppdrag i bakgrunnen

Shellscripting I. Innhold

Programmeringsspråket C

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

TDT4105 Informasjonsteknologi, grunnkurs

Matematikk Øvingsoppgaver i numerikk leksjon 3 Skript

Hvordan en prosessor arbeider, del 1

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.

Noen innebygde funksjoner - Vektorisering

TDT4110 Informasjonsteknologi grunnkurs: Uke 41: «Matlab programs» (kapittel 6)

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

Noen innebygde funksjoner - Vektorisering

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

MATLABs brukergrensesnitt

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

Øvingsforelesning 1 Python (TDT4110)

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 34

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

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

Denne oppgaven innfører funksjoner, og viser hvordan vi kan skrive og teste funksjoner i Ellie.

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

CATALOG, variabler og tegn

Velkommen til INF2100

Kom i gang med Python

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

Beregninger i ingeniørutdanningen

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

TDT4105 Informasjonsteknologi grunnkurs: Uke 42 Strenger og strenghåndtering

INF1000 : Forelesning 1 (del 2)

I denne oppgaven skal vi gi en enkel innføring til klasser og objekter (ordene forklares senere i teksten).

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

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering

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

En oppsummering (og litt som står igjen)

ST1301 Bioberegninger - Introduksjon

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

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

Transkript:

1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no

3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan Matlab brukes Lære om programmeringsomgivelse, skript, prompt, variabler Pensum Matlab-boka, kapittel 1 (minus 1.5) Introduksjon til MATLAB Motivasjonsvideo: http://code.org 3

4 Hva er programmering? Å programmere er å fortelle en datamaskin hva den skal gjøre. Vi bruker et programmeringsspråk for å gjøre dette Matlab er et programmeringsspråk Før en datamaskin kan kjøre et program, må programmet oversettes til maskinkode. Maskinkode er et språk som prosessoren forstår Programmet som oversetter programmeringsspråket til maskinkode kalles kompilator, tolker eller oversetter. 4

5 Hva er programmering? Skriv program Skriv summen av 123+321 på skjermen x=123; y=321; sum=x+y; disp(sum) Oversetter Matlab 010010101010101010 101010100111101010 101010101010101010 101010101000101010 101010101011010101 010101011010 Maskin kode 5

6 Hva er et program? Et program er en oppskrift med instruksjoner som forteller en datamaskin hva den skal gjøre. Et program kan bestå av instruksjoner som: Oppretter (deklarerer) og gir (tilordner) verdier til variabler Evaluerer og regner på variabler Gjør valg Utfører ulike operasjoner (f.eks. Viser grafikk, spiller av lyd, tar imot informasjon fra brukeren) Osv. 6

7 Hvordan et program fungerer Programmer utføres linje for linje (altså en linje om gangen). Dette er uhyre viktig å forstå for å klare å henge med etter hvert som vi lanserer avanserte programmer. Vi snakker gjerne om en programpeker som flytter seg nedover linje for linje i programmet. Det som står øverst skjer først! 7

8 Illustrasjon av programkjøring alder = 0 gråhår =0 alder = 30 gråhår = 0 alder = 40 gråhår = 10000 alder = 50 gråhår = 50000 alder = 60 gråhår = 10000 alder=80 gråhår=0

9

10 Generelt om Matlab Opprinnelig et dataprogram for matematiske beregninger, MathWorks Inc. Kan bruke det som en kalkulator De 4 regneartene: +,-,*,/ Elementære funksjoner som sin, cos osv. Datatyper som vektorer og tabeller Avansert flerdimensjonal graf-plotting (med animering) Et programmeringsspråk Et prototypeverktøy for algoritmeutvikling Ikke et produksjonsverktøy, er et interpretert språk Ikke godt på parallell-beregning (flere-tråder) Ikke godt for symbolsk matte (formel-regning) 10

11 De som ikke har installert enda http://farm.ntnu.no Matlab desktop fra http://software.ntnu.no Mappe Editor Variabler Fildetaljer Kommandovindu Kommandohistorie 11

12 Programmering i Matlab Matlab kan programmeres på følgende måter: Interaktiv modus Skrive en og en instruksjon inn bak «prompt» i kommandovinduet i Matlab-programmet. Lage egne Matlab-programmer (såkalte scripts) Lage en tekstfil med Matlab-kommandoer ved hjelp av en teksteditor (for eksempel i Editor-vinduet) og deretter bruke Matlab-programmet til å oversette ditt program til maskinkode som så kan kjøres/utføres (Run). 12

13 Interaktiv modus Skriv en linje med en kommando og få direkte respons Fungerer nesten som en kalkulator I interaktiv modus huskes alle variabler som brukes Hvis du ikke bruker variabel-tilordning lagres svaret i ans Du får feilmelding umiddelbart hvis du skriver noe feil Egner seg ikke til å skrive store programmer! 13

14 Matlab som kalkulator Skriv inn kommandoer etter prompt-et: >> Vanlig regning: Vi har de 4 regneartene, + - * / Eksponent, ^ Parenteser for å angi rekkefølge, () Konstanter pi (3.141592653589793) NaN (Not a Number, for eksempel 0/0) Prøv dette selv i Matlab nå, og bruk 5 minutter på å få godkjent Enkel Aritmetikk (i Øving 0) på Blackboard 14

15 Variabler og datastrukturer Et (brukerdefinert) navn på data Refererer til et sted i minnet der verdien lagres Starter med bokstav, fortsetter med bokstaver, tall eller understrek-tegn Skiller mellom små og store bokstaver En enkelt verdi: A = 5 En vektor (liste): V = [1 2 3 4 5] En matrise: M = [1 2 3; 4 5 6; 7 8 9] 15 Se Variabler (Prøve 1) i Blackboard

16 Datastrukturer Data som hører logisk sammen Alt i Matlab er tabeller (matriser) Rader og kolonner Kan plukke ut enkeltelementer V(3) tredje element M(1,2) første rad, andre kolonne A(1) Den ene (første) verdien! Matriseoperasjoner Transponering: M Matrisemultiplikasjon: M*M Elementvis multiplikasjon: M.*M 16

17 Innebygde funksjoner Kvadratrot, sqrt(x) Tilfeldig tall, rand(x) Sinus, sin(radianer) Stolpediagram Bar(sqrt(V)) Plotting Plot(V, sqrt(v)) Prøv i Matlab&Blackboard: Videregående Aritmetiske Operasjoner (Prøve 1) 17

18 Resultat 18

19 Matlab hjelp Kommandoen help <nøkkelord> gir en kort forklaring på kommandoer og funksjoner Kommandoen doc <nøkkelord> åpner online- manualen (Octave sin er tekstbasert) Octaves HTML-manual http://www.gnu.org/software/octave/doc/interpreter 19

20 Script Kjedelig å skrive alle kommandoer (på nytt, hver gang) Lagrer sekvenser av kommandoer i fil <filnavn>.m Ren tekst (NB! Ikke Word) Kjører alle kommandoer på en gang (en etter en) Kjør scriptet: Input Skriv filnavnet i kommandovinduet (NB! Ofte mappe-relaterte problemer med å finne filen) Fra den innebygde editoren <variabelnavn> = input( Ledetekst ) Skriver ledetekst, venter på bruker-innputt, tilordner denne til variabel 20

21 Areal av sirkel % Dette er en kommentar % Beregner omkrets og areal av en sirkel Radius = input('oppgi radius: '); Omkrets = 2*pi*Radius Areal = pi*radius^2 Kode i sirkelscript_forste.m 21