18. (og 19.) september 2012

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

Kapittel september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 7.

Tall, vektorer og matriser

MAT1120 Plenumsregningen torsdag 26/8

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

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

En innføring i MATLAB for STK1100

Homogene lineære ligningssystem, Matriseoperasjoner

Øvingsforelesning TDT4105 Matlab

Kapittel august Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 2.

Øving 2 Matrisealgebra

1 Gauss-Jordan metode

ITGK - H2010, Matlab. Repetisjon

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

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

4 Matriser TMA4110 høsten 2018

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Vær OBS på at svarene på mange av oppgavene kan skrives på flere ulike måter!

Matriser. Kapittel 4. Definisjoner og notasjon

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

MAT1120 Repetisjon Kap. 1

MA1201/MA6201 Høsten 2016

Læringsmål og pensum. Oversikt

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

Regneregler for determinanter

TMA4123M regnet oppgavene 2 7, mens TMA4125N regnet oppgavene 1 6. s 2 Y + Y = (s 2 + 1)Y = 1 s 2 (1 e s ) e s = 1 s s2 s 2 e s.

Elementær Matriseteori

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

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

4.1 Vektorrom og underrom

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

Bytte om to rader La Matlab generere en tilfeldig (4 4)-matrise med heltallige komponenter mellom 10 og 10 ved kommandoen Vi skal underske hva som skj

Lineær uavhengighet og basis

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

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

Python i MEK1100. Feltteori og vektoranalyse

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

MATLABs brukergrensesnitt

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)

MAT-1004 Vårsemester 2017 Obligatorisk øving 2

Hydrostatikk/Stabilitet enkle fall

UNIVERSITETET I OSLO

MATLAB - Flere laster om bord og automatisering fribordsberegning med if else

GENERELLE VEKTORROM. Hittil har vi bare snakket om vektorrom av type

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.

Obligatorisk oppgave 2

MAT1120 Repetisjon Kap. 1, 2 og 3

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

Rang og Vektorrom. Magnus B. Botnan NTNU. 4. august, 2015

Øvingsforelesning i Matlab (TDT4105)

Introduksjon til Matlab. Håvard Berland

Obligatorisk oppgavesett 1 MAT1120 H16

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Oblig 2 - MAT1120. Fredrik Meyer 23. september 2009 A =

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

Emne 7. Vektorrom (Del 1)

MAT 1110: Bruk av redusert trappeform

Løsningsforslag øving 6

UNIVERSITETET I OSLO

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

4.1 Vektorrom og underrom

4.1 Vektorrom og underrom

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

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

TDT4110 IT Grunnkurs Høst 2012

Obligatorisk oppgave nr1 MAT Lars Kristian Henriksen UiO

Livsforsikring et eksempel på bruk av forventningsverdi

Innlevering BYPE2000 Matematikk 2000 HIOA Obligatorisk innlevering 3 Innleveringsfrist Torsdag 24. april 2014 før forelesningen Antall oppgaver: 9

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

tma4110 Matematikk 3 Notater høsten 2018 Øystein Skartsæterhagen Morten Andreas Nome Paul Trygsland

Lineære likningssystemer og matriser

Basis, koordinatsystem og dimensjon

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 4. Iver Dihle Skjervum Vit.ass. ITGK

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.

Shellprogrammer og -variabler

Lineære likningssystemer

Øvingsforelesning i Matlab (TDT4105)

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

=cos. =cos 6 + i sin 5π 6 = =cos 2 + i sin 3π 2 = i.

EKSAMEN I EMNET MAT160 Beregningsalgoritmer 1 Mandag 12 februar 2007 LØSNINGSFORSLAG

MAT Oblig 1. Halvard Sutterud. 22. september 2016

Ma Linær Algebra og Geometri Øving 5

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Transkript:

Institutt for geofag Universitetet i Oslo 18. (og 19.) september 2012

Litt repetisjon: Array En array er en variabel som inneholder flere objekter (verdier) En endimensjonal array er en vektor En array med to eller flere dimensjoner er en matrise I dag skal vi fortsette å jobbe med matriser (kapittel 8)

Matriser i 2 dimensjoner En matrise i matematikk er et rektangulært sett av elementer ordnet i rader og kolonner En matrise, A, med m rader(r) og n kolonner(k) kolonne(k) A m,n = rad(r) k 1 k 2 k n r 1 a 1,1 a 1,2 a 1,n r 2 a 2,1 a 2,2 a 2,n....... r m a m,1 a m,2 a m,n

Definere matriser i MatLab Komma eller mellomrom brukes til å skille mellom objekter i en gitt rad, mens enter eller semikolon brukes for å skille mellom individuelle rader Man kan bruke enter for å skille mellom rader: >> x= [1 2 3 4 5 6] x = 1 2 3 4 5 6

Definere matriser i MatLab Man kan også bruke semikolon for å skille mellom rader: >> x= [1 2 3;4 5 6] x = 1 2 3 4 5 6

Definere matriser i MatLab Alle rader i en matrise må ha samme antall kolonner (eller objekter) Dette betyr ikke at du trenger samme antall rader og kolonner! Prøver vi å definere en matrise med 3 objekter i første rad og 4 objekter i andre rad, får vi en feilmelding: >> x= [1 2 3;4 5 6 7] Error using vertcat CAT arguments dimensions are not consistent.

Matrisekommando: size Ønsker du å vite størrelsen på en matrise, bruk kommandoen size Definerer en matrise C c = 2 3 5 6 7 8 9 10 11 12 7 3 length: antall rader >> length(c) 4 size: antall rader og antall kolonner >> size(c) 4 3

Matrisekommando: Transponere Akkurat som vi brukte fnutt for å få radvektorer til å bli kolonnevektorer og vica versa, kan vi bruke fnutt for å transponere en matrise Å transponere en matrise betyr at rader blir kolonner og kolonner blir rader x = [1 2 3; 4 5 6] >> x x = >> x 1 2 3 7 4 5 6 8 1 4 2 5 3 6 7 8

Indeksering: D matriser For matriser er plasseringen til hvert objekt i matrisen unikt definert ved radnummer og kolonnenummer I en D matrise trenger vi derfor 2 indeksverdier for hvert objekt radnummer og kolonnenummer Indeksering: arraynavn(radnr.,kolonnenr.) Indeksvektoren definerer du på samme måte som for vektorer. Forskjell: her har du 2 indeksvektorer!

Indeksering: hente ett objekt x = [1 2 3; 4 5 6] x = 1 2 3 4 5 6 Objekt i rad 1 og kolonne 2 >> x(1,2) 2 Objekt i rad 2 og kolonne 3 >> x(2,3) 6

Indeksering: kolon alle objekter Kolon brukes for å hente alle rad- eller kolonneobjektene arraynavn(:,kolonnenr) : henter alle objekter i kolonnen med nummer kolonnenr. arraynavn(radnr., :) : henter alle objektene i raden med nummer radnr. x = [1 2 3; 4 5 6] Kolonne nr. 2 >> x(:,2) 2 5 Rad nr. 1 >> x(1,:) 1 2 3

Indeksering: overskrive objekter Vi kan overskrive objekter, rader og kolonner x = [1 2 3; 4 5 6] Overskriver ett objekt >> x(1,3)=9 Overskriver rad nr. 1 >> x(1,:)=8 x = x = 1 2 9 4 5 6 8 8 8 4 5 6

Indeksering: overskrive objekter Indeksvektoren definerer du på samme måte som for vektorer. Forskjell: her har du 2 indeksvektorer! x = [1 2 3; 4 5 6] Legger til 2 til objekter i første og tredje kolonne >> x(:,[1 3])=x(:,[1 3])+2 x = 3 2 5 6 5 8

Indeksering: overskrive objekter Indeksvektoren definerer du på samme måte som for vektorer. Forskjell: her har du 2 indeksvektorer! x = [1 2 3; 4 5 6] Dobler objektene i første rad >> x(1,:)= x(1,:)*2 x = 2 4 6 4 5 6

Indeksering: kommandoen end gjelder fortsatt c = 2 3 5 6 7 8 9 10 11 12 7 3 >> c(2:end,:) 6 7 8 9 10 11 12 7 3 >> c(3:end,2:end) 10 11 7 3

Arrayoperasjoner: Gjelder også for matriser Operasjon Data a = [a 1 a 2... a n ] (en vektor) b = [b 1 b 2... b n ] (en vektor) c = en skalar (ett tall) Skalar addisjon a+c = [a 1 + c a 2 + c... a n + c] Skalar multiplikasjon a c = [a 1 c a 2 c... a n c] Array addisjon a+b = [a 1 + b 1 a 2 + b 2... a n + b n ] Array multiplikasjon a. b = [a 1 b 1 a 2 b 2... a n b n ] Array divisjon a./b = [a 1 /b 1 a 2 /b 2... a n /b n ] Array eksponential a.ˆ c = [a 1ˆc a 2ˆc... a nˆc] c.ˆ a = [cˆa 1 cˆa 2... cˆa n ] a.ˆ b = [a 1ˆb 1 a 2ˆb 2... a nˆb n ]

Arrayoperasjoner x = [1 2 3; 4 5 6] Legger til 2 til hvert objekt >> x+2 3 4 5 6 7 8 Dobler hvert objekt >> 2*x 2 4 6 8 10 12

Arrayoperasjoner Matematiske operasjoner med to (eller flere) matriser: Husk punktum! Matrisene må ha lik størrelse x = [1 2 3; 4 5 6] y = [10 20 30; 40 50 60] Divisjon >> y./x 10 10 10 10 10 10 10 10 Multiplikasjon >> x.*y 10 40 90 490 160 250 360 640

Arrayoperasjoner: legge til en ekstra rad eller kolonne x = [1 2 3; 4 5 6] Leggger til en ekstra rad >> x(3,:)=[7 8 9] x = 1 2 3 4 5 6 7 8 9 Legger til en ekstra kolonne: Legg merke til semikolon! >> x(:,4)=[7; 8] x = 1 2 3 7 4 5 6 8

Sette sammen matriser Ønsker vi å sette sammen flere matriser til en stor må matrisene enten ha: Like mange rader i matrisene eller like mange kolonner i matrisene Vi definerer en matrise A: >> A=[2 3 5; 6 7 8; 9 10 11] A = 2 3 5 6 7 8 9 10 11

Legge sammen matriser: like mange rader B har like mange rader som A >> B=[12 7; 3 5; 2 17] B = 12 7 3 5 2 17 B kommer etter A >> c=[a B] c = 2 3 5 12 7 6 7 8 3 5 9 10 11 2 17

Legge sammen matriser: like mange kolonner B har like mange kolonner som A >> B=[12 7 3] B = 12 7 3 Legg merke til semikolon: B kommer under A >> c=[a; B] c = 2 3 5 6 7 8 9 10 11 12 7 3

Oppgave 1: Matrise-triksing 1 2 3 A = 5 7 10 0 15 1 70 8 9 Hva inneholder b hvis vi skriver: a) b = size(a) b) b = A(3,2) c) b = A(1,3) d) b = A(:,3) e) b = A(2,:) f) b = [A ; [10 5 8]] g) b = [A, [4; 7; -8; 3]] h) b = A([2 4],[1 1]) i) b = A(end:-1:1,end:-1:

Oppgave 2: V.h.a. det du kan om vektorer og matriser, lag denne matrisen: 1 1 1 1 1 1 A = 1 2 4 8 16 32 1 3 9 27 81 243

Standard Matriser i MatLab MatLab har kommandoer som lager standard zeros(m,n) : genererer en m n array med nuller ones(m,n) : genererer en m n array med enere eye(m,n) : genererer en m n identitetsmatrise rand(m,n) : genererer en m n array med tilfeldig genererte tall mellom 0 og 1 zeros(n), ones(n), eye(n) og rand(n) : genererer en n n array For zeros, ones og rand kan du legge til så mange dimensjoner du ønsker. F.eks zeros(m,n,p) gir deg en m n p array

Standard Matriser i MatLab rand(m,n): tilfeldige tall mellom 0 og 1 >> rand(2,3) 0.2785 0.9575 0.1576 0.5469 0.9649 0.9706 eye(m,n): verdien 1 på hoveddiagonalen, 0 ellers >> eye(3) 1 0 0 0 1 0 0 0 1

Matriseoperasjoner: Standard matriser Det er vanlig å manipulere MatLabs standard matriser for å få akkurat den matrisen vi ønsker Ønsker vi en matrise med pi-verdier på diagonalen: >> pi.*eye(4) 3.1416 0 0 0 0 3.1416 0 0 0 0 3.1416 0 0 0 0 3.1416

Matriseoperasjoner: Standard matriser Ønsker vi en matrise der alle objektene har verdien pi (eller ett hvilket som helst annet tall), kan det gjøres på flere måter: >> pi+zeros(5,2) 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 >> d=pi; >> d(ones(5,2)) 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416