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

19. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 8 (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

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

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 2 Løsningsforslag

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!

Forelesningsnotat i Diskret matematikk 27. september 2018

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,

GEO En Introduksjon til MatLab. For-løkker med og uten vektorer. Ada Gjermundsen. Institutt for geofag Universitetet i Oslo. 11.

UNIVERSITETET I OSLO

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

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

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)

UNIVERSITETET I OSLO

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

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Løsningsforslag øving 6

UNIVERSITETET I OSLO

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

Notat 2, ST januar 2005

4.1 Vektorrom og underrom

Eksamensforelesning TDT4105

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

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag

Introduksjon til Marinteknikk

Side 1. Oppgave 1. Prosedyrer 1.1. Prosedyrene f og g skal begge returnere prosedyrer. a. Skriv f slik at ((f a) b) returnerer summen av a og b.

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

Kapittel og 5. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 4.

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