Matriser och linjära ekvationssystem

Relevanta dokument
Matriser och linjära ekvationssystem

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

linjära ekvationssystem.

Linjära ekvationssystem

Matriser och vektorer i Matlab

Linjära ekvationssystem i Matlab

Grafritning och Matriser

Mer om linjära ekvationssystem

Matriser och vektorer i Matlab

Matriser och Inbyggda funktioner i Matlab

Mer om linjära ekvationssystem

Matriser och Inbyggda funktioner i Matlab

Mer om linjära ekvationssystem

Introduktion till Matlab

Laboration: Vektorer och matriser

Introduktion till Matlab

15 september, Föreläsning 5. Tillämpad linjär algebra

Introduktion till Matlab

Introduktion till Matlab

Linjär Algebra M/TD Läsvecka 2

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

Linjär Algebra M/TD Läsvecka 1

1 Grundläggande kalkyler med vektorer och matriser

MAM283 Introduktion till Matlab

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 1-4.

Matlabföreläsningen. Lite mer och lite mindre!

Enhetsvektorer. Basvektorer i två dimensioner: 1 1 Basvektorer i tre dimensioner: Enhetsvektor i riktningen v: v v

1.1 MATLABs kommandon för matriser

Funktioner och grafritning i Matlab

Laboration 1: Linjär algebra

SKRIVNING I VEKTORGEOMETRI Delkurs

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

SF1624 Algebra och geometri Lösningsförslag med bedömningskriterier till kontrollskrivning 1 Måndagen den 29 november, 2010

14 september, Föreläsning 5. Tillämpad linjär algebra

TMV166/186 Linjär Algebra M/TD 2011/2012 Läsvecka 1. Omfattning. Innehåll Lay, kapitel , Linjära ekvationer i linjär algebra

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

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

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

SF1624 Algebra och geometri

Några saker som jag inte hann: Ur trigonometriska ettan kan vi uttrycka och i termer av. Vi delar båda led i trig. 1:an med :

Minsta kvadratmetoden

Studiehandledning till linjär algebra Avsnitt 1

MATRISTEORI. Pelle Pettersson MATRISER. En matris är ett rektangulärt schema med tal, reella eller komplexa, vilka kallas matrisens

Linjära ekvationssystem

SKRIVNING I VEKTORGEOMETRI

Dagens program. Linjära ekvationssystem och matriser

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

Moment Viktiga exempel Övningsuppgifter

LYCKA TILL! kl 8 13

Introduktion till MATLAB

Vektorrum. EX. Plan och linjer i rummet genom origo. Allmänt; mängden av lösningar till AX = 0.

Linjär algebra med tillämpningar, lab 1

Block 2: Lineära system

Beräkningsverktyg HT07

Minsta-kvadratmetoden

SKRIVNING I VEKTORGEOMETRI

Determinanter, egenvectorer, egenvärden.

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

Vektorgeometri för gymnasister

Linjär algebra med MATLAB

SKRIVNING I VEKTORGEOMETRI

Vektorgeometri för gymnasister

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna

Matriser. En m n-matris A har följande form. Vi skriver också A = (a ij ) m n. m n kallas för A:s storlek. 0 1, 0 0. Exempel 1

Linjärisering, Jacobimatris och Newtons metod.

Vektorgeometri för gymnasister

1 Linjära ekvationssystem. 2 Vektorer

Moment 6.1, 6.2 Viktiga exempel Övningsuppgifter T6.1-T6.6

8 Minsta kvadratmetoden

Mer om funktioner och grafik i Matlab

n = v 1 v 2 = (4, 4, 2). 4 ( 1) + 4 ( 1) 2 ( 1) + d = 0 d = t = 4 + 2s 5 t = 6 + 4s 1 + t = 4 s

Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp)

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

Geometriska transformationer

ax + y + 2z = 3 ay = b 3 (b 3) z = 0 har (a) entydig lösning, (b) oändligt många lösningar och (c) ingen lösning.

MMA132: Laboration 2 Matriser i MATLAB

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

Mer om geometriska transformationer

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

SKRIVNING I VEKTORGEOMETRI

29 november, 2016, Föreläsning 21. Ortonormala baser (ON-baser) Gram-Schmidt s ortogonaliseringsprocess

6.4. Linjära ekvationssytem och matriser

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

Vektorgeometri för gymnasister

SF1624 Algebra och geometri Lösningsförslag till modelltentamen DEL A

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

A = (3 p) (b) Bestäm alla lösningar till Ax = [ 5 3 ] T.. (3 p)

Tentamen TMV140 Linjär algebra Z

Algebraiska egenskaper hos R n i)u + v = v + U

Matematik med datalogi, mfl. Linjär algebra ma014a ATM-Matematik Mikael Forsberg

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

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) måndagen den 30 maj 2005

LÖSNINGAR LINJÄR ALGEBRA LUNDS TEKNISKA HÖGSKOLA MATEMATIK

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A. t 2

Beräkningsvetenskap föreläsning 2

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

Transkript:

Linjär algebra, AT3 211/212 Matematiska vetenskaper Matriser och linjära ekvationssystem Matriser En matris är som ni redan vet ett rektangulärt talschema: a 11 a 1n A = a m1 a mn Matrisen ovan har m rader och n kolonner, vi säger att den är av typ m n Ett matriselement i rad nr i, kolonn nr j tecknas a ij, där i är radindex och j är kolonnindex I Matlab skrivs detta A(i,j) och [m,n]=size(a) ger matrisens typ Indexeringen av en matris i Matlab är alltid som ovan, dvs rad- och kolonnindex börjar alltid på ett och vi kan inte ändra på det En matris av typ m 1 kallas kolonnmatris (kolonnvektor) och en matris av typ 1 n kallas radmatris (radvektor): a 1 a = a m, b = [ ] b 1 b n Du kommer att se att vi använder oftast kolonnvektorer för att representera kvantiteter som vi beräknar Element nr i ges i Matlab av a(i) och antalet element ges av m=length(a) Motsvarande gäller för radvektorn b Även för vektorer gäller att indexeringen alltid börjar på ett Som exempel tar vi Vi skriver in detta i Matlab enligt >> A=[1 4 7 1; 2 5 8 11; 3 6 9 12] >> a=[1; 3; 5] >> b=[ 2 4] 1 4 7 1 1 A = 2 5 8 11, a = 3, b = [ 2 4 ] 3 6 9 12 5 Uppgift 1 Skriv in följande matriser i Matlab 1 5 9 A = 2 6 1 4 5 6 1 3 7 11, B = 3 2 1, x = 1, a = [ 1 1 ] 1 1 1 1 4 8 12 Skriv ut matriselementen a 23, b 23, x 2 Prova size och length Ändra b 23 genom att skriva B(2,3)=5 1

En matris kan betraktas som en kollektion av kolonner: a 11 a 1j a 1n A = = [ ] a 1 a j a n a m1 a mj a mn med kolonnerna a 1 = a 11 a m1, a j = a 1j a mj, a n = Man kan även betrakta den som en kollektion av rader, men vi använder oftast kolonnrepresentationen I Matlab plockar man ut kolonn nr j med A(:,j) Här är j kolonnindex medan radindex i = 1,,m representeras av tecknet kolon (:) På liknande vis ges rad nr i av A(i,:) Uppgift 2 Skriv ut kolonn nr 1, 2 och 3 ur matrisen A i uppgift 1 Sätt in kolonnvektorn x som första kolonn i B genom att skriva B(:,1)=x Uppgift 3 Radera matrisen B (clear B) och skriv in den igen genom att först bilda kolonnerna 4 b 1 = 3, 5 b 2 = 2, 6 b 3 = 1 1 1 1 och sedan sätta in dem i matrisen B = [b 1 b 2 b 3 ] Matris-vektor-multiplikation Vi definierar produkten av en radmatris och en kolonnmatris (med samma antal element) enligt: x 1 ax = [ ] a 1 a n x n a 1n a mn = a 1 x 1 + a 2 x 2 + + a n x n Observera att detta är samma formel som för skalärprodukt Produkten y = Ax av en matris av typen m n och en kolonnvektor av typen n 1 definieras på liknande vis genom att vi multiplicerar matrisens rader i tur och ordning med kolonnvektorn Vi får en kolonnvektor av typen m 1 och den ges av y = Ax (1) y 1 a 11 a 1n x 1 a 11 x 1 + a 12 x 2 + + a 1n x n = =, (2) a m1 a mn x n a m1 x 1 + a m2 x 2 + + a mn x n y m y i = n a ij x j = a i1 x 1 + a i2 x 2 + + a in x n j=1 Observera att typerna måste stämma överens för att produkten ska vara definierad enligt regeln m 1 = (m n)(n 1) 2

Ett alternativt sätt att introducera matris-vektor-multiplikation är att definiera Ax som en linjärkombination av kolonnerna i A, (se Lay avsnitt 14) x 1 Ax = [ ] a 1 a n Detta leder förstås till samma uttryck som i (2), x 1 a 1 +x 2 a 2 + +x n a n = a 11 a m1 x 1 + a 12 a m2 I Matlab skriver man helt enkelt y=a*x x n = x 1 a 1 + x 2 a 2 + + x n a n x 2 + + a 1n a mn x n = a 11 x 1 + a 12 x 2 + + a 1n x n a m1 x 1 + a m2 x 2 + + a mn x n Uppgift 4 Skriv in följande matriser i Matlab 1 5 9 A = 2 6 1 4 5 6 1 3 7 11, B = 3 2 1, x = 1, a = [ 1 1 ] 1 1 1 1 4 8 12 Beräkna följande produkter, först för hand sedan med Matlab Linjärt ekvationssystem Ax, Bx, ax, Aa Matriser används bland annat för att skriva ned linjära ekvationssystem Exempel: ekvationssystemet x 1 + 2x 2 + 3x 3 = 14 3x 1 + 2x 2 + x 3 = 1 7x 1 + 8x 2 = 23 kan skrivas på matrisform dvs 1 2 3 x 1 14 3 2 1 x 2 = 1, 7 8 x 3 23 1 2 3 14 Ax = b, med A = 3 2 1, b = 1 7 8 23 Vi ska lära oss hur man löser sådana ekvationssystem I Matlab finns backslash-kommandot (\) eller alternativt kommandot rref (row-reduced-echelon form) som löser systemet, Ax = b: >> x=a\b >> rref([a b]) 3

I det första fallet fungerar det bra om lösningen är entydig men sämre om det finns fria variabler eller inga lösningar alls I det andra fallet reducerar Matlab den utökade matrisen [A b] till reducerad trappstegsform Uppgift 5 Skriv följande ekvationssystem på matrisform (utökad matris!) och lös dom sedan med \ respektive rref Beskriv också hur högerledet beror av kolonnerna i koefficientmatrisen x 1 + 5x 2 + 9x 3 = 29 2x 1 + 5x 3 = 26 3x 1 + 7x 2 + 11x 3 = 39 x 1 + x 2 + 3x 3 + 4x 4 = 2 2x 1 + 2x 2 + 2x 3 = 4 x 1 + x 2 + 2x 3 + 3x 4 = 1 x 1 x 2 2x 3 x 4 = 1 Ibland blir det något enklare att tolka svaret om vi ger kommandot format rat före beräkningarna, då skriver Matlab svaret med rationella tal Med format short får vi tillbaka standard formatet Skapa matris kolonnvis Vi bygger ofta upp matriser med hjälp någon beräkningsalgoritm, ibland görs beräkningen kolonnvis Vi ger ett exempel Matrisen 1 2 3 4 1 C = 1 2 3 4 1 1 2 3 4 1 1 2 3 4 1 skapas av for-loopen clear C ett=ones(4,1); for i=1:1 C(:,i)=i*ett; Uppgift 6 Skriv en skriptfil som gör detta Tag bort semikolon så att du ser vad som händer i varje steg Du kan också pröva att bilda C genom en sk ytterprodukt enligt C=ett*[1:1] Lägg märke till att ett är en kolonnvektor medan [1:1] är en radvektor Vi kan använda tic och toc för att mäta den tid beräkningarna tar Det blir tydligare om vi tar en större matris Pröva följande som en skriptfil clear C ett=ones(2,1); tic for i=1:1 C(:,i)=i*ett; toc Tänk på att sätta semikolon på alla beräkningar, så inte skärmen fylls med ointressanta utskrifter 4

Matrisen C kommer succesivt byggas upp och bli av typen 2 1 Om vi nu istället för clear C skriver C=zeros(2,1); så får matrisen C sin slutliga storlek på en gång Vi börjar med en stor matris fylld med nollor, där vi i loopen succesivt sätter in rätt kolonner Kör nu den nya skriptfilen och se om beräkningstiden blev kortare Matrisiterationer Avslutningsvis skall vi kort se på några matrisiterationer Uppgift 7 Låt 1 1 1 A = 1 1 1 Skriv en for-loop som skapar matrisen X = [x 1,x 2,,x 5 ] där 1 x 1 = 2, x k+1 = Ax k 3 Uppgift 8 Genom att rita ut punkter x k i planet som genereras av iterationsformeln x k+1 = Ax k + b där matrisen A och vektorn b väljs slumpvis enligt vissa regler, kan vi producera en bild som liknar tex ett ormbunksblad (Detta är en sk fraktal) I varje iteration låter vi A = A i och b = b i med sannolikheten P i, där [ ] [ ] [ ] [ ] 85 4 2 26 15 28 A 1 =, A 4 85 2 =, A 23 22 3 =, A 26 24 4 = 16 och samt [ b 1 = b 2 = 16 ] [, b 3 = 44 ] [, b 4 = P 1 = 85, P 2 = P 3 = 7, P 4 = 1 Starta med x = (5, 5) och rita ut punkterna x k för k =, 1,, 1 När man snabbt skall rita en snygg bild på skärmen (då krävs det ca 2 punkter) använder man lämpligen ett grafikobjekt vars data uppdateras i varje iteration ] 5

Lite hjälp på vägen om det behövs figure( Name, Ormbunksblad, Menu, none, NumberTitle, off, Position,[256 412 32 512]) set(gcf, Color,[1 1 1]) kmax=2; x=[5;5]; h=plot(x(1),x(2), g, markersize,1); set(h, erasemode, none ); axis([-3 3 1]), axis off, shg p=[85 92 99 1]; A1=[ 85 4;-4 85]; b1=[;16 ]; A2=[ 2-26; 23 22]; b2=[;16 ]; A3=[-15 28; 26 24]; b3=[;44]; A4=[ ; 16]; b4=[; ]; for k=1:kmax r=rand; if r<p(1) x=a1*x+b1; elseif r<p(2) x=a2*x+b2; elseif r<p(3) x=a3*x+b3; else x=a4*x+b4; set(h, xdata,x(1), ydata,x(2)); drawnow 6