Presentation laddar. Vänta.

Presentation laddar. Vänta.

1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm.

Liknande presentationer


En presentation över ämnet: "1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm."— Presentationens avskrift:

1 1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm

2 2 Dagens föreläsning MATLAB i praktiken Hur man använder enkla program och funktioner för sina beräkningar

3 3 Ingenjörsrollen Från DNs kultursidor http://www.dn.se/DNet/jsp/polopoly. jsp?d=&a=827474&sb2231i0=1_827 474 ”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 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 3.1415 ; stänger av utmatning av svar.* multiplicerar ihop matriser med samma form/storlek

5 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 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 7 Matriser och speciella räknesätt >> ettor=ones(6,6) ettor = 1 1 1 1 1 1 >> tvaor=2*ettor tvaor = 2 2 2 2 2 2

8 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 9 Matriser och speciella räknesätt >> v=[30 50 70]/3.6 v = 8.3333 13.8889 19.4444 >> 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 * 0.3472 0.9645 1.8904 >> E=m*v.*v/2 E = 1.0e+005 * 0.3472 0.9645 1.8904

10 10 Matriser och speciella räknesätt >> ettor=ones(6,6) ettor = 1 1 1 1 1 1 >> tvaor=2*ettor tvaor = 2 2 2 2 2 2

11 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 12 Studentaktivitet >> (1:5)'*(1:5) ans = 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25 >>

13 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 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 15 Skript eller programfiler 1.Öppna matlab-editorn 2.Skriv in dina ekvationer 3.Spara filen med lämpligt namn och prefixet.m

16 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 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 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 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 20 Program innehåller funktioner Anropa funktionen stat stat(randn(100,1)) Svaret blir?


Ladda ner ppt "1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm."

Liknande presentationer


Google-annonser