Fagets IT Introduktion til MATLAB



Relaterede dokumenter
Kursusgang 3 Matrixalgebra Repetition

Matlab-kommandoer. Robert Jacobsen. 9. august 2010

Lineær Algebra, kursusgang

Matrix Algebra med Excel Forelæsningsnoter til FR86. Jesper Lund

Matematik for økonomer 3. semester

Kursusgang 3 Matrixalgebra Repetition

Introduktion Indtastning Funktioner Scripts Optimering. Matlab

Lineær Algebra, kursusgang

Lineær algebra 1. kursusgang

DesignMat Uge 1 Gensyn med forårets stof

Lineær algebra: Matrixmultiplikation. Regulære og singulære

Matricer og Matrixalgebra

Lineær Algebra, kursusgang

Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Nøgleord og begreber. Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Oversigt [LA] 1, 2, 3, [S] 9.1-3

Modulpakke 3: Lineære Ligningssystemer

Oversigt [LA] 1, 2, 3, [S] 9.1-3

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Program for de næste 3 1/4 dobbeltlektion

DesignMat. Preben Alsholm. September Egenværdier og Egenvektorer. Preben Alsholm. Egenværdier og Egenvektorer

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Note om endelige legemer

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1

Ligningssystemer - nogle konklusioner efter miniprojektet

Lineær algebra: Spænd. Lineær (u)afhængighed

Det Ingeniør-, Natur- og Sundhedsvidenskabelige basisår Matematik 2A, Forår 2007, Hold 4 Opgave A Kommenteret version

Computerstøttet beregning

Reeksamen i Lineær Algebra. Første Studieår ved Det Tekniske Fakultet for IT og Design samt Det Ingeniør- og Naturvidenskabelige Fakultet

Eksamen i Lineær Algebra. Første Studieår ved Det Tekniske Fakultet for IT og Design samt Det Ingeniør- og Naturvidenskabelige Fakultet

Eksamen i Lineær Algebra

1.1 Legemer. Legemer er talsystemer udstyret med addition og multiplikation, hvor vi kan regner som vi plejer at gøre med de reelle tal.

Teoretiske Øvelsesopgaver:

Antag X 1, X 2,..., X n er n uafhængige stokastiske variable, hvor Var(X 1 )=σ 2 1,..., Var(X n )=σ 2 n.

Oversigt [LA] 6, 7, 8

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 3

Aflevering 4: Mindste kvadraters metode

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

LinAlgDat 2014/2015 Google s page rank

Figur. To ligninger i to ubekendte. Definition Ved m lineære ligninger med n ubekendte forstås. Definition 6.4 Givet ligningssystemet

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Nøgleord og begreber

Dette miniprojekt omhandler en anvendelse af Lineær Algebra til computergrafik og planeters omløbsbaner.

Lineær Algebra. Lars Hesselholt og Nathalie Wahl

Kort introduktion til MATLAB

Matricer og lineære ligningssystemer

Bits, bit operationer, integers og floating point

Kvadratiske matricer. enote Kvadratiske matricer

To find the English version of the exam, please read from the other end! Eksamen i Lineær Algebra

Guide til det basale i MATLAB

Komplekse tal og Kaos

MATLAB. Introduktion til. anden udgave. Udarbejdet af Johnny Ottesen & Thomas Frommelt

Lær Python dag 1 - modul 1

Hvis du har vinduer abne fra en tidligere session, sa luk dem ned { vi vil have

DANMARKS TEKNISKE UNIVERSITET

Matematik og FormLineære ligningssystemer

Egenværdier og egenvektorer

Lineær Algebra eksamen, noter

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

Eksempel 9.1. Areal = (a 1 + b 1 )(a 2 + b 2 ) a 1 a 2 b 1 b 2 2a 2 b 1 = a 1 b 2 a 2 b 1 a 1 a 2 = b 1 b 2

Besvarelser til Lineær Algebra Ordinær Eksamen - 5. Januar 2018

Noter til C# Programmering Selektion

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Introduktion til MatLab

Diagonalisering. Definition (diagonaliserbar)

Første del af rapporten består af et diagram, der viser, hvor mange point eleverne på landsplan fik i de enkelte opgaver.

Lineær algebra Kursusgang 6

Komplekse tal. x 2 = 1 (2) eller

Lineære ligningssystemer og Gauss-elimination

Chapter 7: Transport-, assignment- & transshipmentproblemer

Eksamen i Lineær Algebra

Dynamisk programmering. Flere eksempler

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 27. oktober 2014 Slide 1/25

Eksamen i Lineær Algebra

Talregning. Aktivitet Emne Klassetrin Side. Indledning til VisiRegn ideer Oversigt over VisiRegn ideer 1-7 3

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende rationale tal og variable i beskrivelser og beregninger

Transkript:

Fagets IT Introduktion til MATLAB Mads G. Christensen mgc@kom.auc.dk Afdeling for Kommunikationsteknologi, Aalborg Universitet. MATLAB 2002 p.1/28

Kursusoversigt 1. Introduktion, matrix-indeksering, -operationer og -manupulation. 2. Plot, eksportering og formattering af plot, hente og gemme data. 3. Programmering i MATLAB, script, funktioner. 4. Løsning af standardproblemer vha. MATLAB. Kurset holdes på et praktisk niveau med et minimum af teori, og der gives masser af eksempler. Forelæsningerne vil være forholdsvis korte, så I kan få god tid til opgaverne. MATLAB 2002 p.2/28

Om kurset MATLAB-kurset er et PE-kursus og støtter som sådan op om jeres projektarbejde og vil blive evalueret igennem projektet. Det forventes således, at I anvender MATLAB i situationer, hvor det måtte være relevant i projektet. Dette kan være til at udføre simuleringer på en model (f.eks. kredsløbsmodel) i jeres projekt. Eller til dataanalyse hvor data opsamles eller genereres og visualiseres (dvs. til at lave figurer til rapport). Tal endelig med lærer/hjælpelærer under opgaveløsningen om mulige applikationer af MATLAB i jeres projekt. MATLAB bruges på overbygningen for elektronik og datateknik, og I vil få stor nytte af det hele vejen igennem studiet. MATLAB 2002 p.3/28

Emner mm1 af 4: Hva MATLAB er Hjælp og litteratur Matematiske udtryk i MATLAB Matrix-indeksering, -operationer og -manipulation MATLAB 2002 p.4/28

Hva MATLAB er MATLAB er et program til numeriske, tekniske beregninger. Det kan bruges til Forskning og udvikling Avanceret lommeregner Simuleringer Dataanalyse (visualisering, f.eks. figurer til rapport) Prototyping (nem implementation) Eksempler på toolboxes: Digital Signal Processing Image Processing Control, etc. MATLAB 2002 p.5/28

Hælp og litteratur Hjælp i/til MATLAB: demo help <funktion> lookfor <ord> info <funktion> Litteratur (gratis): http://www.mathworks.com/access/helpdesk/- help/pdf_doc/matlab/getstart.pdf http://www.mathworks.com/access/helpdesk/- help/techdoc/matlab.shtml http://www.eece.maine.edu/mm/matweb.html MATLAB 2002 p.6/28

Udtryk i MATLAB MATLAB er opbygget omkring matematiske udtryk. I modsætning til de fleste programmeringssprog kan disse indholde hele matricer. Udtryk opbygges af: Eksempel: Variable (a=5) Tal (1, 1.1, -99, 6.02252e23m -3.14159j) Operatorer (+, -, *, /) Funktioner (sqrt(), sin()) >> a=(1+sqrt(5))/2 a = 1.6180 MATLAB 2002 p.7/28

Operatorer Operatorer og præcedensregler: + Addition Subtraktion Multiplikation / Division ˆ Potens Kompleks konjugering () Specifikation af evalueringsrækkefølge MATLAB 2002 p.8/28

Udtryk i MATLAB Flere funktioner kan angives en linie. Disse separeres vha., eller ; alt efter om output skal vises. Eks.: >> sin(0);cos(0); >> sin(0),cos(0); 0 >> sin(0),cos(0) 0 1 Hvis et udtryk fortsættes på næste linie angives dette med... MATLAB 2002 p.9/28

Matricer Den basale datastruktur i MATLAB er en matrix, og MATLAB er bygget op om lineær algebra, heraf navnet. En matrix er en 2-dimensional array (tabel) indeholdende elementer a ij : a 11 a 12... a 1N a 21 a 22... a 2N A = (1)... a M1 a M2... a MN Dette kaldes en M N matrix, hvor M er antal rækker og N antal søjler. MATLAB 2002 p.10/28

Matricer En matrix genereres i MATLAB ved: >> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 Dvs. elementerne i en række separeres vha. space og i søjler med ;. Størrelsen af en matrix kan findes ved: >> size(a) 2 3 Som I kan se, er en vektor en M 1 eller 1 M matrix, og en skalar er en 1 1 matrix. MATLAB 2002 p.11/28

a M1 x 1 + a M2 x 2... a MN x N = b M (2) Matricer En matrix er en kompakt repræsentation af en række lineære udtryk, hvor vi ønsker at finde de ubekendte x 1... x M : a 11 x 1 + a 12 x 2... a 1N x N = b 1 a 21 x 1 + a 22 x 2... a 2N x N = b 2. =. Ved at skrive de ukendte parametre som en søjlevektor x og b 1... b M som b fås: Ax = b MATLAB 2002 p.12/28

Mactricer Altså: a 11 a 12... a 1N a 21 a 22... a 2N...... x 1 x 2.. = b 1 b 2.. (4) a M1 a M2... a MN x N b M hvor b i = N a ij x j (5) j=1 MATLAB 2002 p.13/28

Indeksering Elementet i række i, søjle j af matrix A angives i MATLAB A(i, j): >> A=[1 2 3;4 5 6]; >> A(2,3) 6 >> A(1:2,3) 3 6 >> A(1,:) 1 2 3 Indices i MATLAB er positive heltal og starter med 1 (træls)! MATLAB 2002 p.14/28

Kolon-operatoren Kolon-operatoren kan bruges til at generere vektorer: >> 3:5 3 4 5 >> -1:-2:-5-1 -3-5 >> 1:0.1:1.5 1 1.1 1.2 1.3 1.4 1.5 MATLAB 2002 p.15/28

Søjle- og rækkevektorer En søjlevektor laves om til en rækkevektor ved transponering: >> A=[1 2 3] A = 1 2 3 >> A. 1 2 3 Bemærk: A er en hermitisk transponering, dvs. den kompleks-konjugerer også! fliplr() eller flipud bruges til at reversere rækkefølgen af elementerne i en matrix i vertikal eller horizontal retning. MATLAB 2002 p.16/28

Matricer (specialtilfælde) Tom matrix angives med []. Denne kan bruges til at slette søjler/rækker: >> A=[1 2 3; 4 5 6]; >> A(:,2)=[] A = 1 3 4 6 Det sidste indeks i et indekseringsudtryk kan findes med end(): >> A(end,end) 6 MATLAB 2002 p.17/28

Array-operatorer Array-operationer (elementvis): >> A=[1 2 3]; A.^2 1 4 9 >> A.^[0 1 2] 1 2 9 >> A./[2 1 2] 0.5000 2.0000 1.5000 >> A.*[2 1 2] 2 2 6 MATLAB 2002 p.18/28

Matrix/skalar-operationer Addition af matrix og skalar: >> [1 2; 3 4]-5-4 -3-2 -1 Skalering af matrix med skalar: >> [1 2; 3 4]*3 3 6 9 12 MATLAB 2002 p.19/28

Matrix-operationer Addition/subtraktion af matricer: >> [1 2; 3 4]-[1 2 3]??? Error using ==> - Matrix dimensions must agree. >> [1 2; 3 4]-[1 0; 0 1] 0 2 3 3 Addition/subtraktion af matricer er kun defineret for matricer af samme størrelse. De fleste (begynder-)problemer i MATLAB er relateret til indeksering og størrelser på matricerne! MATLAB 2002 p.20/28

Matrix-multiplikation Matrix-multiplikation: AB = C Elementerne i matricen C er givet ved: c ij = n a ik b kj k=1 a i1 a i1... a i5 b 1j b 2j. b 5j = c ij MATLAB 2002 p.21/28

Matrix-multiplikation Heraf følger at antal søjler i A skal svare til antal rækker i B: Eksempel: m rækker n søjler >> A=[1 2 3;4 5 6]; >> B=[1 2;1 2;1 2]; >> A*B 6 12 15 30 n rækker p søjler = m rækker p søjler MATLAB 2002 p.22/28

Præcision og format MATLAB benytter double precision IEEE floating point (64 bit). Hertil hører et par specialtilfælde NaN og Inf: >> 1/0 Inf >> 0/0 NaN Hvordan output skal vises styres med format. Se help format. MATLAB 2002 p.23/28

Komplekse tal Komplekse tal (i- og j-operatorerne): >> sqrt(-1) 0 + 1.0000i >> j^2-1 Omskrivning til polær repræsentation af komplekse tal gøres vha. abs() og angle(). MATLAB 2002 p.24/28

Operatorer Matrix-operationer: + Addition [1 2 3]+[4 5 6]=[5 7 9] Subtraktion [1 2 3]-[4 5 6]=[-3-3 -3] Multiplikation [1 2 3]*[4; 5; 6]=32 ˆ Potens [1 2; 3 4]^2=[7 10; 15 22] Array-operationer (elementvise):.ˆ Potens [1 2 3].^[0 2 1]=[1 4 3]./ Division [1 2 3]./[2 1 3]=[0.5 2 1]. Multiplikation [1 2 3].*[2 1 2]=[2 2 6] MATLAB 2002 p.25/28

Matrix-manipulation Der findes en række funktioner til at manipulere med matricer. repmat() er en af dem. Denne gentager matricer et antal gange: >> A=[1 2;3 4]; >> repmat(a,2,2) 1 2 1 2 3 4 3 4 1 2 1 2 3 4 3 4 Dvs. hvis A er M N og vi kalder repmat(a,k,l), så får vi en matrix ud med dimensionerne MK NL. MATLAB 2002 p.26/28

Matrix-manipulation En anden nyttig funktion er reshape(). reshape(a,m,n) returneres en M N matrix. Eks. >> A=[1 2;3 4;5 6] A = 1 2 3 4 5 6 >> reshape(a,2,3) 1 5 4 3 2 6 Elementerne tages søjlevis fra A (den skal have MN elementer i alt). MATLAB 2002 p.27/28

Introduktion til MATLAB MATLAB kan kun læres på en måde: Just do it! Opgaver, slides og senere også opgavebesvarelser kan findes på http://kom.auc.dk/ mgc/teaching/matlab/ MATLAB 2002 p.28/28