Föreläsning 12 Matlab J-uppgiften
Matlab MATrix LABoratory Interaktivt matteprogram Vektor- och matrisräkning Matematiska funktioner 2- och 3-dimensionell kurvritning Programmering
Variabler Inga deklarationer behövs (alla variabler blir av flyttalstyp). who visar alla variabler man använt hittills. clear tar bort alla variabler. Exempel: x = 5 y = [1 2 3] z = [1;2;3] w = -5:0.2:5 A = [1 2;3 4]
Operatorer Matematiska operationer är definierade även för hela vektorer/matriser. [5 4] + [1 2] blir [6 6] [54] - [1 2] blir [4 2] [5 4] * [1 2]’ blir 13 [1 2; 3 4]^2 blir [7 10;15 22]
Elementvisa operatorer Elementvisa operationer görs för varje element i vektorn/matrisen. [5 4] .* [1 2] blir [5 8] [54] ./ [1 2] blir [5 2] [5 4].^2 blir [25 16] [1 2; 3 4].^2 blir [1 4;9 16]
Matriser A = [3 7 2; 4 6 -3; 9 0 2] det(A) determinanten inv(A) inversen eig(A) egenvärden x = A\b lösning av ekvationssystem
Kurvritning Skapa en vektor med x-koordinaterna: x = 1:0.1:5; ...och en med y-koordinaterna: y = x.^3+2*x-4; Rita en kurva: plot(x,y); Eller markera punkterna: plot(x,y,´*´);
Tredimensionella kurvor Använd meshgrid för att skapa matriser med önskade koordinater i planet: [X,Y]=meshgrid(0:0.2:3*pi,0:0.25:5*pi); Beräkna funktionsvärden för varje matrispunkt: Z=sin(X).*sin(Y); Rita kurvan: mesh(Z);
Kommandofiler Matlabkommandon som skrivits i en fil med namnet xxx.m exekveras i Matlab med kommandot xxx Programhuvud och variabeldeklarationer behövs inte. Alla variabler blir lokala för programmet, utom de som explicit deklarerats som globala.
Funktionsfiler Funktioner i Matlab kan returnera flera värden. Första raden i funktionsfilen måste se ut så här: function [utdata] = namn(indata); Exempel på funktionsanrop: [X,Y] = meshgrid(v,w); Anrop i ett uttryck: k = 12*f(x,y,z)
if-satser och slingor Avslutas alltid med end: if a==b ... end for x=1:0.5:3 while x<3 ... ... end end
Programmeringsteknik för K och Media 1999-12-06 J-uppgifter Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen). Räkna med minst 40 timmars arbete (mer för en uppgift som ger högre betyg). Slutbetyget beräknas ur summan av bonuspoängen (max 16) och J-poängen (17-52). 30-39 ger trea, 40-49 ger fyra, 50 och över femma Linda Kann, Nada
Programmeringsteknik för K och Media 1999-12-06 Tidsplan 10 dec Välj en J-uppgift. 17-18 jan Specskrivningsövning - ta med uppgiftslappen. 24 jan Inlämning av spec (sista datum för bonus). 4 feb Sista bonusdatum för prototyp (redovisas på datorövning). 23 feb Sista bonusdatum för redovisning. 31 okt Bonuspoängen försvinner. Linda Kann, Nada
Specifikation Specen tvingar dig att planera innan du börjar programmera. Den ska innehålla: Algoritm Prototypbeskrivning Klasser Instansvariabler Metodernas namn, returtyp och parametrar
Prototyp En körbar version av ditt program där bara vissa delar fungerar. Exempel: Rättstavning - prototypen kan vara ett program som läser in ordlistan från fil och skriver ut den på skärmen. I specen anger du vilka metoder som ska fungera i din prototyp.
Granskning Innan du redovisar ska någon elev (granskare) testköra ditt program och granska koden. Granskaren ska gå igenom ett granskningsprotokoll där brister antecknas. Dessa brister måste åtgärdas före redovisningen. Alla måste granska ett program. Varje J-uppgift måste granskas.
Redovisning Tider för redovisning bokas på kursens hemsida. En handledare provkör programmet, tittar igenom det och ställer frågor. För att förhindra fusk kommer ditt program att jämföras med alla tidigare lösningar. Se avsnittet ”Hederskodex” i kursprogrammet.
Plussning Du kan bättra på din betygspoäng genom att göra någon av extrauppgifterna inom ett år från kursstart. Vid behov kan du i samråd med kursledaren utarbeta nya extrauppgifter. Du kan inte göra en helt ny uppgift.