Introduktion till Matlab Föreläsning 2

Slides:



Advertisements
Liknande presentationer
Talföljder formler och summor
Advertisements

Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
• Frågeledaren är den som vet svaren. De finns under en länk på sidan i kalendern. • Ni behöver antingen en 12-tärning eller två vanliga tärningar. • Slå.
Här ser ni några sidor som hjälper er att lösa uppgifterna:
Relationsdatabasdesign
MS Excel 2007 Lektion 3 1 Copyright, Mahmud Al Hakim, 2008.
MS Excel 2010 – Dag 2 Mahmud Al Hakim
Videokonsultation med medborgare
Display för GymAssistWear - Huvudmeny Välj Av/På Upp i Menyn Ned i Menyn Meny Tillbaka Antal repetitioner Göra Playlist Sparade Playlist Visa statistik.
Många studenter använder en LCD-display till sin programmeringsuppgift
Numeriska beräkningar i Naturvetenskap och Teknik
Funktioner och programorganisation
Sökning och sortering Linda Mannila
1 Ingenjörsmetodik IT & ME Dagens tema Att tänka rätt är stort att tänka fritt är större MATLAB programmering är väldigt kreativt men minsta tecken.
Ingenjörsmetodik IT & ME 2011 Föreläsning 12
Föreläsning 10 Kurvanpassning som en del av problemlösning med datorer
Nya typer Konstruerare, selektorer och predikat Rekursiva datatyper
Föreläsning 15 Matlab överkurs KTH, CSC, Vahid Mosavat.
Inloggning till Landstinget Kronoberg via Citrix
1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm.
©storm.
Föreläsning 12 Matlab J-uppgiften.
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Hashing / Hash tabeller -- Kapitel 20. Hash? Varför en annan datastruktur? Konstant tid för både insert- och find- operationer.
Programmering B PHP Lektion 2
INFÖR NATIONELLA PROVET
1 Funktioner Nr 3 Funktionstyper, högre ordningens funktioner och polymorfism.
Pathfinding. –Vad är det? –Sökning från A till B.
Programmering B PHP Lektion 3
Det handlar om multiplikation
TÄNK PÅ ETT HELTAL MELLAN 1-50
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
INFÖR NATIONELLA PROVET. UPPGIFT 1 Förenkla så långt som möjligt Ständigt återkommande uppgift!
Funktioner, styrstrukturer, manipulering av matriser
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Grundläggande programmering
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Introduktion till MATLAB Föreläsning 1
Diskreta, deterministiska system Projekt 1.2; Vildkatt
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Datorlära Datorlära 1 Introduktion till datasystemet, epost konto,
Träning 13 Makroprogrammering
Planbesked Möjlighet för enskilda Öka förutsägbarheten
Styrteknik: Grundläggande logiska funktioner D2:1
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Styrteknik 7.5 hp distans: SFC Introduktion SFC_A:1
Namnrum, räckvidd och rekursion Linda Mannila
En mycket vanlig frågeställning gäller om två storheter har ett samband eller inte, många gånger är det helt klart: y x För en mätserie som denna är det.
Styrteknik 7.5 hp distans: SFC Introduction PLC5A:1 Bilder SFC = Sequential Function Chart Language SFC är ett grafiskt programspråk som används.
Grunderna i MATLAB 1 Vad är MATLAB? Användningsområden MATLAB-miljön
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Google SketchUp Del 1.
Binomialsannolikheter ritas i ett stolpdiagram
Ingenjörsmetodik IT & ME 2008
Vara kommun Grundskoleundersökning 2014 Föräldrar 2 Levene skola årskurs 5 Antal svar 2014 för aktuell årskurs i skola: 12 Antal svar 2014 för årskurs.
Projekt 5.3 Gilpins och Ayalas θ-logistiska modell A Course in Mathematical Modeling - Mooney & Swift.
Hur bra är modellen som vi har anpassat?
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
Fysikexperiment, 7.5 hp1 Oviktad linjär anpassning Om är det bästa estimatet (enligt minsta kvadratmetoden) av parametrarna a och b: Uppskattat.
Diskret stokasticitet Projekt 2.3, Talltita
Föreläsning 2 programmeringsteknik och Matlab 2D1312/ 2D1305
1 Ingenjörsmetodik IT & ME 2007 Föreläsare Dr. Gunnar Malm.
1 Matlab, föreläsning 1 Oktober MATLAB Perspektiv på materialdesign Lina Kjellqvist Rum: K324 Telefon:
1 Föreläsning 13 programmeringsteknik och Matlab Funktioner, styrstrukturer, mer om matriser.
Att rita en funktion i ett koordinatsystem
Presentationens avskrift:

Introduktion till Matlab Föreläsning 2 F2. programmeringsteknik och Matlab 2005-09-08 Introduktion till Matlab Föreläsning 2 FY021G Ingenjörsvetenskap Magnus.Eriksson@miun.se Reviderad 2007-09-23 KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Examination En enkel dugga (kort prov, ca 20 minuter) inleder labbtillfället Duggans uppgifter har liknande karaktär som dokumentet ”Introduction to the MATLAB language – examples and exercises”. För tillträde till labben krävs 50% godkänt på duggan. För VG på labben krävs minst 75% rätt på duggan. Ligger man strax under gränsen kan en mycket väl genomförd laboration ”kompensera”. G ger 1 poäng och VG 2 poäng bidrag till den poängsiffra som slutbetyget grundar sig på. KTH, NADA, Vahid Mosavat

Förberedelse inför labben F2. programmeringsteknik och Matlab 2005-09-08 Förberedelse inför labben Förberedelse inför duggan: Repetera exemplen i dokumentet ”Examples and exercises”. Repetera denna slide show (publiceras i WebCT i eftermiddag). Läs ev. i läroboken ”Introduction to MATLAB 7”, kap 1 till 6 om det som känns oklart. Läs i läroboken kapitel 8.2-8.3, om regressionsanalys MATLAB finns i PC-labbsalarna om du redan nu vill testa. KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Dagens agenda Fortsättning genomgång av dokumentet ”Introduction to the Matlab language – Examples and exercises” Matlab-script och Matlab-funktioner Diagram Introduktion till Linjär regression KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Så här ser Matlab ut Workspace: Variabellista Command history Command window: Här skriver du in kommandon KTH, NADA, Vahid Mosavat

Fler MATLAB-fönster som kan öppnas F2. programmeringsteknik och Matlab 2005-09-08 Fler MATLAB-fönster som kan öppnas Figure window Array editor M-file editor KTH, NADA, Vahid Mosavat

Spara Matlab-program i en .m-fil F2. programmeringsteknik och Matlab 2005-09-08 Spara Matlab-program i en .m-fil Man vill ofta spara matlabkommandon i en fil av följande skäl: Man besparar tid av att slippa skriva en sekvens av kommandon om och om igen. Man kan fortsätta arbetet vid annat tillfälle. Man vill kunna utöka språket med egna kommandon och funktioner, och på så sätt kunna återanvända kod och undvika kodupprepning. Man vill göra stora program strukturerade genom att dela upp dem i delprogram, som i sin tur delas upp i delprogram, alla med lättbegripliga namn. KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Mer om .m-filer .m-filer redigeras med Matlabkommandot ”edit”, som startar ett särskilt redigeringsprogram. Det finns två typer av .m-filer: Matlab-script Matlab-funktioner M-file redigeringsprogram KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Matlab-script Ett Matlab-script är en lista av matlab-kommandon i samma .m-fil. Om filnamnet är myscript.m så anropas scriptet genom att skriva kommandot myscript eller klicka på ”Run” i redigeringsprogrammet. Alla variabler ligger i samma workspace som kommandofönstret kommer åt. Enkelt men riskabelt. Två script kan råka ha samma variabelnamn. KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Funktioner Funktioner är .m-filer där första raden börjar med ordet ”function”. Exempel: function myfunction(x1, x2) % Två inargument (parametrar på matematikspråk) eller function y = myfunction % Ett utargument (värdevariabel på matematikspråk) Eller Function [y1 y2]=myfunction(x). % Två utargument och ett inargument. Funktionen måste sparas i filen myfunction.m KTH, NADA, Vahid Mosavat

Skillnad mellan funktioner och script F2. programmeringsteknik och Matlab 2005-09-08 Skillnad mellan funktioner och script Funktioner kan ha in- och utargument. (Parametrar och värden på matematikspråk). Funktioners variabler är lokala. Variabeln x i en funktion är inte samma som variabeln x i en annan funktion, eller i workspace. Variablerna är således inkapslade, skyddade från namnkonflikter. Funktioner är mer beräkningseffektiva än script, därför att förkompilleras första gången de körs (översätts till effektiv bytekod, som i sin tur ofta översätts till s.k. maskinkod via just-in-time-kompilering). Vid script kompilleras eller interpreteras (tolkas) koden rad för rad medan den körs, även koden upprepas många gånger, vilket tar tid. KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Funktionsexempel Följande funktion skrivs i en fil som heter CToF.m function y = cToF(x) % cToF omvandlar från grader % Celcius till Fahrenheit y = 32+1.8*x; Ovanstående sparas i filen cToF.m. Help CToF ger första kommentarraderna: cToF omvandlar från grader Celcius till Fahrenheit Exempel på Funktionsanrop i kommandofönstret: C = 100 F = cToF(C) Detta resulterar i: F = 212 KTH, NADA, Vahid Mosavat

Rita diagram för ett matematiskt uttryck F2. programmeringsteknik och Matlab 2005-09-08 Rita diagram för ett matematiskt uttryck             Först måste man tala om vilka värden på den horisontella axeln som ska plottas. Exempel: x=0.1:0.01:1; betyder x=[0.1 0.11 0.12 … 1]; Sedan beräknas värdena på den vertikala axeln. Exempel: y=1./x.^2; Till slut används plot(x,y) KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Använda plot plot(x,y), där x och y är vektorer, ritar en kurva bestående av linjer som förbinder värdena i x och y, dvs där mellanliggande värden beräknats genom linjär interpolation plot(x,y, ’r’) ritar en kurva med röd färg plot(x,y, ’x’) sätter ett kryss vid varje värde, men förbinder inte med en kurva (dvs utan interpolation) plot(x,y, ’o-’) sätter en ring vid varje värde, och förbinder dem dessutom med en kurva Skriv ”doc plot” för mer information. KTH, NADA, Vahid Mosavat

Fler användbara ritfunktioner F2. programmeringsteknik och Matlab 2005-09-08 Fler användbara ritfunktioner title(’Grafrubrik’) xlabel(’X-axelns namn’) ylabel(’Y-axelns namn’) grid % Visa rutnät legend(’Beskrivning kurva 1’,’Beskrivning kurva 2’) KTH, NADA, Vahid Mosavat

Ändå fler användbara ritfunktioner F2. programmeringsteknik och Matlab 2005-09-08 Ändå fler användbara ritfunktioner loglog(x,y) % Logaritmiska x- och y-axlar: semilogx(x,y) % Logaritmisk x-axel, linjär y-axel semilogy(x,y) % Linjär x-axel, logaritmisk y-axel bar % Stolpdiagram shg % Visa det aktuella graf-fönstret. figure % Skapa nytt figurfönster axis(1,2,3,4) % Gradera x-axeln från 1 till2 % och y-axeln från 3 till 4 KTH, NADA, Vahid Mosavat

Flera kurvor i samma diagram F2. programmeringsteknik och Matlab 2005-09-08 Flera kurvor i samma diagram Alternativ 1: (x, y1, y2 och y3 är kolumnvektorer) plot(x,y1) hold on plot(x,y2) plot(x,y3) hold off Nackdelar: Kurvorna får samma färg, eller man måste ange färg manuellt. Funktionen ”Legend” funkar inte. Alternativ 2: plot(x,y1,’-’, x,y2,’-’, x,y3,’-’) legend(’Kurva1’, ’Kurva2’, ’Kurva3’) Alternativ 3: plot([x x x], [y1 y2 y3]) dvs bilda matriser där varje kolumn motsvarar en kurva. KTH, NADA, Vahid Mosavat

Subplot - Flera diagram i samma figur F2. programmeringsteknik och Matlab 2005-09-08 Subplot - Flera diagram i samma figur Subplot(3,2,5) % Skapar utrymme för 3*2=6 diagram i samma figur, i tre rader och två kolumner, och gör diagram nummer 5 (av 6) aktivt. plot(x,y) % Plottas i diagram 5 subplot(3,2,2) % Aktiverar diagram 2. loglog(x,y) % Plottas i diagram 2 KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Linjär regression. Se kapitel 8.2 – 8.3 Läs igenom som förberedelse inför labben. (Behandlas emellertid inte på duggan.) KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Fel i läroboken kap 8.2-8.3: Sid 239: Det ska stå x=0:5; istället för x=0.5; Sid 241: Det ska stå sum_sq=sum((y-y2).^2) istället för sum_sq=sum((y-y2)^2) Sid 250: Det ska stå polytool ist. f. cftool. KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 Regressionsanalys Att ”passa” ett polynom till mätdata, för att minimera det sammanlaggda kvadratiska avståndet mellan mätdata och polynomkurvan. Linjär regression innebär att man identifierar ett första-gradspolynom, dvs en rät linje. KTH, NADA, Vahid Mosavat

Polyfit – Anpassa polynomkoefficienter F2. programmeringsteknik och Matlab 2005-09-08 Polyfit – Anpassa polynomkoefficienter POLYFIT Fit polynomial to data. P = polyfit(X,Y,N) finds the coefficients of a polynomial P(X) of degree N that fits the data Y best in a least-squares sense. P is a row vector of length N+1 containing the polynomial coefficients in descending powers, P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1). KTH, NADA, Vahid Mosavat

Polyval – Beräkna polynom F2. programmeringsteknik och Matlab 2005-09-08 Polyval – Beräkna polynom POLYVAL Evaluate polynomial. Y = polyval(P,X) returns the value of a polynomial P evaluated at X. P is a vector of length N+1 whose elements are the coefficients of the polynomial in descending powers. Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1) KTH, NADA, Vahid Mosavat

F2. programmeringsteknik och Matlab 2005-09-08 The Basic Fitting tool Plotta en kurva I figurens meny, välj Tools -> Basic Fitting. Kryssa för t.ex. Linear. KTH, NADA, Vahid Mosavat

Polytool – interaktivt verktyg F2. programmeringsteknik och Matlab 2005-09-08 Polytool – interaktivt verktyg Interactive plot of fitted polynomials and prediction intervals Polytool(x,y) fits a line to the vectors x and y and displays an interactive plot of the result in a graphical interface. You can use the interface to explore the effects of changing the parameters of the fit and to export fitresults to the workspace. KTH, NADA, Vahid Mosavat