Föreläsning 14 Matlab Javaexempel - sortering Fler kurser på Nada: –2D1320 Tillämpad datalogi (Tilda) –2D1210 Numeriska metoder (Numme) –2D1385 Programutvecklingsteknik (Prutt)
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; ; 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:3while x< end
Javaexempel:Sortering I API-klassen Arrays finns flera metoder för sortering av en array. Man kan sortera samma array på flera olika sätt. Deklarera en jämförelseklass som –implementerar gränssnittet Comparable –innehåller blott en metod compare som v isar hur objekten ska jämföras. Se foerelaesningar/exempel/Sortering.java