Introduktion till Matlab Föreläsning 2

Relevanta dokument
FY021G Ingenjörsvetenskap MATLAB och regressionsanalys

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Laboration: Grunderna i Matlab

Introduktion till MATLAB Föreläsning 1

TSBB14 Laboration: Intro till Matlab 1D

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

Laboration: Grunderna i MATLAB

Introduktion till Matlab

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Introduktion till Matlab

Introduktion till MATLAB

Instruktion för laboration 1

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

En introduktion till MatLab

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Introduktion till Matlab

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Laborationstillfälle 1 Lite mer om Matlab och matematik

Introduktion till Matlab

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Introduktion till Matlab

MMA132: Laboration 1 Introduktion till MATLAB

TSKS08 Introduktionskurs i Matlab Föreläsning 2

Introduktion till Matlab

Introduktion till Matlab

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Datorövning 1 Fördelningar

Introduktion till Matlab

Instruktion för laboration 1

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Funktioner och grafritning i Matlab

Beräkningsverktyg HT07

KPP053, HT2016 MATLAB, Föreläsning 3. Plotter och diagram Läsa och skriva data till fil

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB handbok Introduktion

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

Grafik och Egna funktioner i Matlab

Grafritning och Matriser

MATLAB övningar, del1 Inledande Matematik

Datorövning 2 Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

GNU Octave under Cygwin Spara grafik i postscriptfiler. Per Jönsson, NMS, Malmö högskola

Datatyper i MATLAB Tal

TAIU07 Matematiska beräkningar med Matlab

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Laboration 4: Lineär regression

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

TANA17 Matematiska beräkningar med Matlab

Datorövning 1: Fördelningar

TAIU07 Matematiska beräkningar med Matlab

Innehåll. Vad är MATLAB? Vad är MATLAB? Informationsteknologi. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi. Vad är MATLAB?

Matematisk Modellering

Funktioner och grafritning i Matlab

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

Mer om funktioner och grafik i Matlab

Liten MATLAB introduktion

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

GNU Octave Spara grafik i postscriptfiler. Per Jönsson, NMS, Malmö högskola

TMV156 Inledande matematik E, 2010 DATORÖVNING 2 ANONYMA FUNKTIONER, FUNKTIONSGRAFER OCH LITE OPTIMERING

Datorövning 1 Enkel linjär regressionsanalys

15 februari 2016 Sida 1 / 32

Du kan söka hjälp efter innehåll eller efter namn

Introduktion till Matlab

Parametriserade kurvor

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

1 Förberedelseuppgifter

TSKS21 Signaler, Information och Bilder Lab 2: Digitalisering

Matlabövning 1 Funktioner och grafer i Matlab

Flerdimensionella signaler och system

10.1 Enkel linjär regression

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

MMA132: Laboration 2 Matriser i MATLAB

Datorövning 5 Exponentiella modeller och elasticitetssamband

MATLAB. En kort praktisk introduktion. Olof Hultin FAFA Omarbetad efter original av Henrik Persson

TSRT04: Introduktionskurs i Matlab Datorlektion 1

4.4. Mera om grafiken i MATLAB

Laboration 1: Beskrivande statistik

1.1 MATLABs kommandon för matriser

SF1672, Linjär Algebra med Matlab för F1 Lab0

Mer om funktioner och grafik i Matlab

Matematikcentrum 1(4) Matematisk Statistik Lunds Universitet MASB11 HT10. Laboration. Regressionsanalys (Sambandsanalys)

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

DN1212/numpp Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

Introduktion i MATLAB

Numeriska metoder och grundläggande programmering för T1

Numeriska metoder och grundläggande programmering för P1

Transkript:

Introduktion till Matlab Föreläsning 2 FY021G Ingenjörsvetenskap Magnus.Eriksson@miun.se Reviderad 2007-09-23 1

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å. 2

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. 3

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 4

Så här ser Matlab ut Workspace: Variabellista Command history Command window: Här skriver du in kommandon 5

Fler MATLAB-fönster som kan öppnas Figure window Array editor M-file editor 6

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. 7

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 8

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. 9

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 10

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 justin-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. 11

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: Exempel på Funktionsanrop i kommandofönstret: C = 100 F = ctof(c) Detta resulterar i: F = 212 ctof omvandlar från grader Celcius till Fahrenheit 12

Rita diagram för ett matematiskt uttryck 1. 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]; 2. Sedan beräknas värdena på den vertikala axeln. Exempel: y=1./x.^2; 100 3. Till slut används plot(x,y) 80 60 40 20 13 0 0 0.2 0.4 0.6 0.8 1

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. 14

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 ) 100 80 Grafrubrik Beskrivning av kurva 1 Y-axelns rubrik 60 40 20 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 X-axelns rubrik 15

Ändå fler användbara ritfunktioner loglog(x,y) % Logaritmiska x- och y-axlar: 10 2 10 1 10 0 10-1 10 0 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 16

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. 2 Alternativ 2: plot(x,y1, -, x,y2, -, x,y3, - ) 1.5 legend( Kurva1, Kurva2, Kurva3 ) Alternativ 3: 0.5 plot([x x x], [y1 y2 y3]) legend( Kurva1, Kurva2, Kurva3 ) 0 1 Kurva 1 Kurva 2 Kurva 3 1 1.5 2 2.5 3 3.5 4 dvs bilda matriser där varje kolumn motsvarar en kurva. 17

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 18

Linjär regression. Se kapitel 8.2 8.3 Läs igenom som förberedelse inför labben. (Behandlas emellertid inte på duggan.) 19

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. 20

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örstagradspolynom, dvs en rät linje. 21

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). 22

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) 23

The Basic Fitting tool Plotta en kurva I figurens meny, välj Tools -> Basic Fitting. Kryssa för t.ex. Linear. 24

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. 25