Det viktigste dataelementet som MATLAB benytter, er matriser, som også gjerne betegnes arrays.



Like dokumenter
18. (og 19.) september 2012

Forelesning 22 MA0003, Mandag 5/ Invertible matriser Lay: 2.2

Matriser En matrise er en rektangulær oppstilling av tall og betegnes med en stor bokstav, f.eks. A, B, C,.. Eksempler:

Øving 2 Matrisealgebra

Kap. 5 Egenverdier og egenvektorer

11. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 5 (del 2) Ada Gjermundsen

Matriser En matrise er en rektangulær oppstilling av tall og betegnes med en stor bokstav, f.eks. A, B, C,.. Eksempler:

Tall, vektorer og matriser

Matriser En matrise er en rektangulær oppstilling av tall og betegnes med en stor bokstav, f.eks. A, B, C,.. Eksempler:

Matriseoperasjoner. E.Malinnikova, NTNU, Institutt for matematiske fag. September 22, 2009

Homogene lineære ligningssystem, Matriseoperasjoner

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

Matriser og Kvadratiske Former

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

Forelesning 28: Kompleksitetsteori

En innføring i MATLAB for STK1100

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 33

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7.

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Gauss-Jordan eliminasjon; redusert echelonform. Forelesning, TMA4110 Fredag 18/9. Reduserte echelonmatriser. Reduserte echelonmatriser (forts.

Forelesningsnotat i Diskret matematikk 27. september 2018

MAT 1110 V-06: Løsningsforslag til Oblig 1

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

MATLAB-skript. Kapittel Innledning. 4.2 Lage og kjøre skript

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

MAT1120 Plenumsregningen torsdag 26/8

Mer om likninger og ulikheter

NyGIV Regning som grunnleggende ferdighet

Sensorveiledning Oppgave 1

MAT1030 Forelesning 30

Utkast til løsningsforslag til eksamen i emnet MAT Lineær algebra Utan ansvar for feil og mangler Mandag 31. mai 2010, kl

Øving 4 Egenverdier og egenvektorer

MAT-1004 Vårsemester 2017 Obligatorisk øving 2

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Lineær uavhengighet og basis

Forelesning 9 mandag den 15. september

4 Matriser TMA4110 høsten 2018

Løsningsforslag til seminar 4 Undervisningsfri uke

Lineær algebra. H. Fausk i=1 a ix i. Her har vi oppgitt hva ledd nummer i skal være og hvilke indekser i vi summerer over.

Hypotesetesting. Notat til STK1110. Ørnulf Borgan Matematisk institutt Universitetet i Oslo. September 2007

Lineær Algebra og Vektorrom. Eivind Eriksen. Høgskolen i Oslo, Avdeling for Ingeniørutdanning

I dette kapittelet skal vi studerer noen matematiske objekter som kalles matriser. Disse kan blant annet brukes for å løse lineære likningssystemer.

Introduksjon til Matlab. Håvard Berland

MAT1120 Repetisjon Kap. 1, 2 og 3

Hefte med problemløsingsoppgaver. Ukas nøtt 2008/2009. Tallev Omtveit Nordre Modum ungdomsskole

Løsningsforslag B = 1 3 A + B, AB, BA, AB BA, B 2, B 3 C + D, CD, DC, AC, CB. det(a), det(b)

Øving 5 Diagonalisering

Emnekode: LV121A Dato: Alle skrevne og trykte hjelpemidler

TMA4140 Diskret matematikk Høst 2011 Løsningsforslag Øving 7

Innledning. Mål. for opplæringen er at eleven skal kunne

Matriser. Kapittel 4. Definisjoner og notasjon

MAT1030 Forelesning 28

Kapittel 1. Potensregning

Kap. 5 Egenverdier og egenvektorer

Fortsettelses kurs i Word

1 Gauss-Jordan metode

MAT-1004 Vårsemester 2017 Prøveeksamen

Matematikk Øvingsoppgaver i numerikk leksjon 8 Matriser. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7 Numerisk derivasjon

4.1 Vektorrom og underrom

Repetisjon: høydepunkter fra første del av MA1301-tallteori.

10 Radrommet, kolonnerommet og nullrommet

Hydrostatikk/Stabilitet enkle fall

Elementær Matriseteori

Kodestil i C++ Introduksjon. Navnekonvensjoner. Globale variabler. Simen Hagen

MATLABs brukergrensesnitt

Tid: uke 34-41, periode 1.

Årsplan i matematikk 5.klasse 2015/16

MAT Onsdag 7. april Lineær uavhengighet (forts. 1.8 Underrom av R n, nullrom, basis MAT Våren UiO. 7.

MAT-1004 Vårsemester 2017 Prøveeksamen

TMA Kræsjkurs i Matlab. Oppgavesett 1/3

(a) R n defineres som mengden av kolonnevektorer. a 1 a 2. a n. (b) R n defineres som mengden av radvektorer

Tall og tallregning. Kursdag Nord-Gudbrandsdalen sept Svein Torkildsen Anne-Gunn Svorkmo

Matematisk julekalender for trinn, 2008

Multiplikasjon. Lær og øv på multiplikasjonstabellene! treningsopplegg som. tar hensyn til den musikkloke eleven! Et alternativt treningsopplegg som

Øvingsforelesning TDT4105 Matlab

PRIMTALL FRA A TIL Å

Veileder for bruk av LMG-kalender (for riktig legemiddelbruk i sykehjem)

19. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 8 (del 2) Ada Gjermundsen

Årsplan matematikk for 6. trinn Multi

Lineær algebra-oppsummering

ALGORITMER OG DATASTRUKTURER

MAT-1004 Vårsemester 2017 Obligatorisk øving 6

Tiden går og alt forandres, selv om vi stopper klokka. Stoffet i dette kapittelet vil være en utømmelig kilde med tanke på eksamensoppgaver.

Læringsmål og pensum. Hva er en variabel?

ARBEIDSHEFTE I MATEMATIKK

Regneregler for determinanter

7.4 Singulærverdi dekomposisjonen

4.4 Koordinatsystemer

TMA4110 Matematikk 3 Eksamen høsten 2018 Løsning Side 1 av 9. Løsningsforslag. Vi setter opp totalmatrisen og gausseliminerer:

Kryptogra og elliptiske kurver

Python i MEK1100. Feltteori og vektoranalyse

Øvingsforelesning i Matlab (TDT4105)

Lineær algebra. H. Fausk i=1 a ix i. Her har vi oppgitt hva ledd nummer i skal være og hvilke indekser i vi summerer over.

Transkript:

Kapittel 5 Matriseoperasjoner Det viktigste dataelementet som MATLAB benytter, er matriser, som også gjerne betegnes arrays. I det etterfølgende vil begrepet vektor bli benyttet enkelte steder som betegnelse på en matrise som bare har 1 kolonne eller bare 1 linje. Vektor kan også betegnes én-dimensjonalt array. Spesielle funksjoner for matriser (arrays) listes opp med kommandoen help elmat. 5.1 Representasjon av data med matriser (arrays) Hvordan lage matriser Vi kan konstruere matriser ved å bruke blank (space) for å skille mellom elementene i en linje (eller mellom kolonnene) og semikolon for å skille mellom linjene. Et eksempel er A=[1 2;3 4] A = 1 2 3 4 53

54 LærMATLABtrinnfortrinn Alternativt kan vi skille elementene i en linje med komma: A=[1,2;3,4] som gir samme A som ovenfor. Linjer kan også skilles med return(-tasten) slik: A=[1 2 (return) 3 4] med samme resultat. Et matriseelement kan godt være et uttrykk (her: 2+4): C=[1 2;3 2+4] C = 1 2 3 6 En matrise i form av en linjevektor kan konstrueres slik: linvek=[2:4] linvek = 2 3 4 En matrise i form av en kolonnevektor kan konstrueres som den transponerte av en linjevektor (transponering utføres altså med fnutt ): kolvek=[2:4] kolvek = 2 3 4

Lær MATLAB trinn for trinn 55 Element-inkrementet kan være forskjellig fra 1: v1=[2:.5:4] v1 = 2.0000 2.5000 3.0000 3.5000 4.0000 Element-inkrementet kan være negativt: v2=[4:-1:2] v2 = 4 3 2 MATLAB-funksjonen linspace definerer en linjevektor med et gitt antall elementer med lik element-avstand: vlin=linspace(0,1,5) vlin = 0 0.2500 0.5000 0.7500 1.0000 MATLAB-funksjonen logspace definerer en linjevektor med et gitt antall elementer med lik logaritmisk element-avstand. La oss konstruere en vektor med 5 elementer fra og med 0 til og med 1: vlog=logspace(0,1,5) vlog = 1.0000 1.7783 3.1623 5.6234 10.0000 Vi kan konstruere en matrise ved hjelp av eksisterende matriser eller vektorer. La oss som eksempel lage en matrise K hvis kolonner er de to vektorene x hhv. y:

56 LærMATLABtrinnfortrinn x=[1,2,3] ; y=[4,5,6] ; K=[x,y] K = 1 4 2 5 3 6 Og så kan vi lage en matrise L som består av x i første rad og y i andre rad: L=[x;y] L = 1 2 3 4 5 6 Noen spesielle matriser En identitetsmatrise av orden 3 konstrueres med idmat=eye(3) idmat = 1 0 0 0 1 0 0 0 1 En 3x2 ener-matrise (bestående av bare 1-ere) konstrueres med enermat=ones(3,2) enermat =

Lær MATLAB trinn for trinn 57 1 1 1 1 1 1 En 2x3 null-matrise konstrueres med nullmat=zeros(2,3) nullmat = 0 0 0 0 0 0 En diagonalmatrise med elementene 1, 2 og 3 på diagonalen konstrueres med diagmat=diag([1,2,3]) diagmat = 1 0 0 0 2 0 0 0 3 Hererentom matrise: tom=[] tom = [] Merk at en tom matrise eksisterer som en hvilken som helst annen matrise, men den inneholder altså ingen elementer. Et eksempel på bruk av en tom matrise er for å fjerne deler av en matrise: P=[1 2;1 2],P(:,1)=[];P Her blir hele 1. kolonne i B fjernet.

58 LærMATLABtrinnfortrinn P = P = 1 2 1 2 2 2 Hva er dimensjonen? Dimensjonen for matrisen nullmat definert ovenfor finnes med [m,n]=size(nullmat) m = n = 2 3 En linje- eller kolonnevektors lengde kan finnes med length(vlin) ans = 5 Adressering av matriseelementer Vi kan adressere et matriseelement slik: w=a(1,2) w = 2 Vi kan gi et bestemt matriseelement verdi slik:

Lær MATLAB trinn for trinn 59 A(1,2)=7 A = 1 7 3 4 Som utgangspunkt for de etterfølgende oppgaver, skal vi konstruere følgende (3x3)-matrise: B=[10 20 30;40 50 60;70 80 90] B = 10 20 30 40 50 60 70 80 90 Vi kan adressere øvre høyre (2x2)-undermatrise slik: B1=B(1:2,2:3) B1 = 20 30 50 60 Vi kan adressere kolonne 2 i B slik: B2=B(:,2) B2 = 20 50 80 Alle elementene i en matrise kan ramses opp i en vektor slik:

60 LærMATLABtrinnfortrinn Balt=B(:) Balt = 10 40 70 20 50 80 30 60 90 Merk at i MATLAB benyttes 1 som laveste element-indeks i vektorer. Prøv Balt(0)??? Index into matrix is negative or zero. Mens Balt(1) gir ans = 10 5.2 Matriseberegninger Vi skal gjøre oss kjent med noen grunnleggende funksjoner for matriseberegninger eller -operasjoner. Aktuelle funksjoner listes opp med help elfun. Noen av disse funksjonene kan anvendes på matriser, men de fleste kan anvendes kun på skalare størrelser eller element-for-element i matriser (elementvise beregninger beskrives nedenfor). Addisjon, subtraksjon og multiplikasjon av matriser forgår på vanlig måte, men matrisene må selvsagt ha riktige (kompatible) dimensjoner, ellers gir

Lær MATLAB trinn for trinn 61 MATLAB feilmelding. La oss som utgangspunkt for de etterfølgende beregninger utføre clear, A=[1 2;3 4], B=[5 6;7 8] A = B = 1 2 3 4 5 6 7 8 A og B adderes slik: addmat=a+b addmat = 6 8 10 12 A og B multipliseres slik: multmat=a*b multmat = 19 22 43 50 Elementvise beregninger MATLAB kan utføre elementvise beregninger med matriser (og vektorer). Som utgangspunkt for de etterfølgende oppgaver definerer vi følgende to vektorer: x=[1,2,3], y=[4,5,6]

62 LærMATLABtrinnfortrinn x = y = 1 2 3 4 5 6 MATLAB utfører elementvise beregninger når et punktum er skrevet foran operatoren. Her er et eksempel på elementvis multiplikasjon: elmult=x.*y elmult = 4 10 18 svarende til at elmult(1)=x(1)*y(1), elmult(2)=x(2)*y(2), osv. Hvis vi prøver x*y (uten punktum foran *-operatoren) gir MATLAB feilmelding siden x og y ikke kan multipliseres med vanlig matrisemultiplikasjon. Her er et eksempel på elementvis divisjon: eldiv=x./y eldiv = 0.2500 0.4000 0.5000 svarende til at eldiv(1)=x(1)/y(1), eldiv(2)=x(2)/y(2), osv. Elementvise beregninger er svært nyttige dersom du skal utføre en matematisk operasjon på alle elementene i en vektor (eller generelt matrise). Her er et eksempel der det beregnes sinus av hvert element i vektoren x: sinvektor=sin(x)

Lær MATLAB trinn for trinn 63 sinvektor = 0.8415 0.9093 0.1411 svarende til sinvektor=[sin(x(1),sin(x(2)), sin(x(3)]. 5.3 Flerdimensjonale matriser (arrays) Flerdimensjonale matriser er en generalisering av 2-dimensjonale matriser eller arrays ved at dimensjonen kan være være vilkårlig stor. Figur 5.1 illustrerer et 3-dimensjonalt array. De tre dimensjonene utspennes slik: side (page) (1,1,3) (1,2,3) (2,1,3) (2,2,3) kolonne (column) (1,1,2) (1,2,2) (2,1,2) (2,2,2) rad (row) (1,1,1) (1,2,1) (2,1,1) (2,2,1) Figur 5.1: Illustrasjon av et 3-dimensjonalt array. Radene utgjør 1. dimensjon Kolonnene utgjør 2. dimensjon Sidene (eng. page) utgjør 3. dimensjon

64 LærMATLABtrinnfortrinn (For en mulig 4. dimensjon kunne vi kanskje snakke om bok.) La oss som eksempel lage et 2x2x2-array (3-dimensjonalt array): A3(:,:,1)=[111 121;211 221]; A3(:,:,2)=[112 122;212 222]; A3 A3(:,:,1) = 111 121 211 221 A3(:,:,2) = 112 122 212 222 Flerdimensjonale arrays benyttes i MATLAB til bl.a. å lagre frekvensresponsdata (3 dimensjoner: amplitude, fase, frekvens).