1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm
2 Dagens föreläsning MATLAB i praktiken Hur man använder enkla program och funktioner för sina beräkningar
3 Ingenjörsrollen Från DNs kultursidor jsp?d=&a=827474&sb2231i0=1_ ”Jag läste till en examen i teknisk fysik på KTH för att jag trodde att matematiken och siffrorna skulle vara ett bättre språk än svenskan för att beskriva världen...”
4 Matriser och speciella räknesätt a=[pi 5] skapar en matris a(1) tar ut det första elementet (index=1) ur matrisen a => svaret blir ; stänger av utmatning av svar.* multiplicerar ihop matriser med samma form/storlek
5 Matriser och speciella räknesätt Hela matrisen kan hanteras på en och samma gång! Inga uppräkningar eller slingor behövs i programkoden Räknesätten med punkten framför utförs elementvis i hela matrisen Matriser och vanliga tal kan blandas – då utförs beräkningen också elementvis
6 Matriser och speciella räknesätt Exempel: skapa en lagom stor matris fylld med siffran 2 Lösning: funktionen ones(m,n) ger matris fylld med ettor Siffran 2 kan multipliceras in på VARJE element
7 Matriser och speciella räknesätt >> ettor=ones(6,6) ettor = >> tvaor=2*ettor tvaor =
8 Matriser och speciella räknesätt Exempel: beräkna rörelseenergin för en bil vid hastigheterna: 30,50 70 km/h Formel E=mv 2 /2 eller E=mv*v/2 Alltså behövs ’upphöjt till’ ^ eller ’gånger’ * Fungerar ^ eller * direkt, nej eftersom element i matriser ska hanteras
9 Matriser och speciella räknesätt >> v=[ ]/3.6 v = >> m=1000; >> E=m*v^2/2 ??? Error using ==> mpower Matrix must be square. >> E=m*v*v/2 ??? Error using ==> mtimes Inner matrix dimensions must agree. >> E=m*v.^2/2 E = 1.0e+005 * >> E=m*v.*v/2 E = 1.0e+005 *
10 Matriser och speciella räknesätt >> ettor=ones(6,6) ettor = >> tvaor=2*ettor tvaor =
11 Studentaktivitet Övning skapa 1:ans till 5:ans multiplikationstabell och presentera resultatet i en tabell. Behöver inte vara tjusigt Använd uppräkning, vektorer och/eller matriser
12 Studentaktivitet >> (1:5)'*(1:5) ans = >>
13 Vad är ett program 1.Ett program består av funktionsanrop och formler/ekvationer 2.Villkorssatser: for-loopen kapitel 5 3.Kommentarer för läsbarheten
14 Funktioner och program Tre varianter – 1. antingen ’inline’ för formler 2.eller med programfiler som skapas i en editor 3.Funktionsfiler som sparas från editorn
15 Skript eller programfiler 1.Öppna matlab-editorn 2.Skriv in dina ekvationer 3.Spara filen med lämpligt namn och prefixet.m
16 Funktionsfiler 1.Öppna matlab-editorn 2.Definiera in- och ut-värden till funktionen och funktionens NAMN 3.Skriv in dina ekvationer 4.Spara filen med samma namn som funktionen och suffixet.m
17 Program vs. funktion Enkelt program statenkel.m Enkel funktion stat.m x=randn(100,1); n = length(x); medel = sum(x)/n; s = sqrt(sum((x- medel).^2/(n-1))); function [medel,s] = stat(x) n = length(x); medel = sum(x)/n; s = sqrt(sum((x-medel).^2/(n- 1)));
18 Jämförelse funktion/program Programmet definierar sina egna x- värden Funktionen kan hantera godtyckliga x-värden som användaren skickar in
19 Program innehåller funktioner Alla inbyggda kommandon i matlab har formen av en funktion T.ex. cos(x), size(x),... Man kan ANROPA sina EGNA funktioner
20 Program innehåller funktioner Anropa funktionen stat stat(randn(100,1)) Svaret blir?