1.1 MATLABs kommandon för matriser

Relevanta dokument
Minsta-kvadratmetoden

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

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

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

Minsta kvadratmetoden

14. Minsta kvadratmetoden

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

SF1624 Algebra och geometri Lösningsförsag till modelltentamen

Rapportexempel, Datorer och datoranvändning

Introduktion till MATLAB

8.5 Minstakvadratmetoden

Minstakvadratmetoden

linjära ekvationssystem.

Matriser och linjära ekvationssystem

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

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

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

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

Linjär algebra med MATLAB

Moment Viktiga exempel Övningsuppgifter

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

Laboration: Vektorer och matriser

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

25 november, 2015, Föreläsning 20. Tillämpad linjär algebra

Linjär algebra F1 Ekvationssystem och matriser

2 Matrisfaktorisering och lösning till ekvationssystem

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

Matriser och linjära ekvationssystem

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Felfortplantning och kondition

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

Laboration 4: Lineär regression

Mer om texter i MATLAB och om iterativ lösning av linjära ekvationssystem

8 Minsta kvadratmetoden

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

SF1624 Algebra och geometri Lösningsförslag till tentamen Fredagen den 23 oktober, 2009 DEL A

1 Grundläggande kalkyler med vektorer och matriser

Interpolation Modellfunktioner som satisfierar givna punkter

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

Frågorna 1 till 6 ska svaras med ett kryss för varje korrekt påstående. Varje uppgift ger 1 poäng.

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

SKRIVNING I VEKTORGEOMETRI Delkurs

3x + y z = 0 4x + y 2z = 0 2x + y = Lös det överbestämda systemet nedan på bästa sätt i minsta kvadratmening. x = 1 x + y = 1 x + 2y = 2

Grafritning och Matriser

Linjära ekvationssystem

November 6, { b1 = k a

LYCKA TILL! kl 8 13

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

1 Linjära ekvationssystem. 2 Vektorer

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

15 februari 2016 Sida 1 / 32

Lösningsförslag till inlämningsuppgift 3 i Beräkningsprogrammering Problem 1) function condtest format compact format long

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

Veckoblad 4, Linjär algebra IT, VT2010

Föreläsning 5. Approximationsteori

Matriser och vektorer i Matlab

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

1 basen B = {f 1, f 2 } där f 1 och f 2 skall uttryckas i koordinater i standardbasen.

Mer om funktioner och grafik i Matlab

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

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 =

1. Bestäm volymen för den parallellepiped som ges av de tre vektorerna x 1 = (2, 3, 5), x 2 = (3, 1, 1) och x 3 = (1, 3, 0).

SF1624 Algebra och geometri Tentamen Torsdag, 9 juni 2016

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

Beräkningsverktyg HT07

TMV166 Linjär Algebra för M. Tentamen

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

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

LÖSNINGAR TILL UPPGIFTER TILL RÄKNEÖVNING 1

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

8. Euklidiska rum 94 8 EUKLIDISKA RUM

Linjär algebra på 2 45 minuter

1. Vi skriver upp ekvationssystemet i matrisform och gausseliminerar tills vi når trappstegsform,

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

Ordinära differentialekvationer (ODE) 1 1

TANA09 Föreläsning 5. Matrisnormer. Störningsteori för Linjära ekvationssystem. Linjära ekvationssystem

TAIU07 Matematiska beräkningar med Matlab

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Linjära ekvationssystem i Matlab

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

x 2y + z = 1 (1) 2x + y 2z = 3 (2) x + 3y z = 4 (3)

TANA17 Matematiska beräkningar med Matlab

Vektorgeometri för gymnasister

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

3. Lös det överbestämda systemet nedan på bästa sätt i minsta kvadratmening. x + y = 1 x + 2y = 3 x + 3y = 4 x + 4y = 6

Mer om linjära ekvationssystem

Vektorgeometri för gymnasister

SKRIVNING I VEKTORGEOMETRI

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A. 1. (a) ODE-systemet kan skrivas på formen

Funktioner och grafritning i Matlab

TANA17 Matematiska beräkningar med Matlab

Matriser. Vektorer. Grunderna i MATLAB 2. Informationsteknologi. Informationsteknologi.

Linjär Algebra M/TD Läsvecka 2

TAIU07 Matematiska beräkningar med Matlab

2x + y + 3z = 1 x 2y z = 2 x + y + 2z = 1

Transkript:

MATLABs kommandon för matriser Det finns en mängd kommandon för att hantera vektorer, matriser och linjära ekvationssystem Vi ger här en kort sammanfattning av dessa kommandon För en mera detaljerad diskussion se Eva Pärt-Enander kapitel och 4 Generation av en radvektor x = (,, ) x=[ ] Generation av en radvektor x = (,,,,) med n element x=zeros(,n) Generation av en radvektor x = (,,,,) med n element x=ones(,n) 4 Generation av en kolonnvektor x = x=[; ; ] 5 Generation av en kolonnvektor x = x=zeros(,) 6 Generation av en kolonnvektor x = x=ones(,) 7 Generation av en matris A = A=[ ; 4 5; 6 ] 4 5 6 med n element med n element 8 Generation av en m n matris A med bara nollor A=zeros(m,n); 9 Generation av en m n matris A med bara ettor A=ones(m,n); Transponat A T (rader och kolonner byter plats) A

Matrisinvers A inv(a) Lösning till Ax = b med hjälp av Gauss-elimination x=a\b Observera att snedsträcket lutar åt vänster! Vi illustrerar användandet av dessa kommandon med två exempel Exempel Bestäm transponatet till ( ) 5 A = 4 5 Vi börjar med att definiera matrisen A = [ 5; 4 5]; Då vi skriver A svarar MATLAB med ans = 4 5 5 Exempel För att lösa ekvationssystemet x + x x = x + x + x = x x + 4x = börjar vi med att definiera koefficientmatrisen och högerledet A = [ -; ; - 4]; b = [; ; ]; Vi skriver sedan x=a\b varvid MATLAB svarar x = 5 5 Om man använder snedsträck åt höger och skriver x=a/b får man felmeddelandet??? Error using ==> / Matrix dimensions must agree

8 y 6 4 (x i,y i ) 4 5 6 7 8 9 x Figur : Mätvärde till vilka en funktion skall anpassas Funktionsanpassningar I tillämpningar inom naturvetenskap och teknik behöver man ofta anpassa en funktion f(x) till ett antal mätvärden (x,y ), (x,y ),, (x m,y m ) Allmänt kan vi låta anpassningsfunktionen ha formen f(x) = c ϕ (x) + c ϕ (x) + + c n ϕ n (x) där ϕ (x),ϕ (x),,ϕ n (x) är givna så kallade basfunktioner Problemet blir då att bestämma koefficienterna c,c,,c n så att anpassningen i någon mening blir så bra som möjligt Kravet att anpassningsfunktionen f(x) skall gå genom alla mätvärdena leder till ett ekvationssystem av formen ϕ (x )c + ϕ (x )c + + ϕ n (x )c n = y ϕ (x )c + ϕ (x )c + + ϕ n (x )c n = y ϕ (x m )c + ϕ (x m )c + + ϕ n (x m )c n = y m () Systemet ovan skrivs ofta på matrisform och vi har Ac = y, där A är en m n koefficientmatris med element a ij = ϕ j (x i ), c en n kolonnvektor och y en m kolonnvektor y ϕ (x ) ϕ (x ) ϕ n (x ) c ϕ (x ) ϕ (x ) ϕ n (x ) c y A = c = y = ϕ (x m ) ϕ (x m ) ϕ n (x m ) c n y m Normalt gäller att m > n, det vill säga fler ekvationer än obekanta, och vi har ett överbestämt system som oftast saknar lösning 4

Minsta-kvadratanpassningar Vid minsta-kvadratanpassningar frångår man kravet att anpassningsfunktionen skall gå genom alla datapunkterna Istället bestämmer man koefficienterna för basfunktionerna genom att minimera det kvadratiska avståndet mellan datapunkterna och anpassningsfunktionen f(x), dvs vi ska bestämma c, c,,c n så att den kvadratiska summan D = m (f(x i ) y i ) i= blir så liten som möjligt Minsta kvadrat-anpassning av en rät linje till mätdata är illustreras i figur 9 8 y 7 6 5 4 f * (x i ) y i 4 5 6 7 8 9 x Figur : Minsta-kvadratanpassning till en rät linje Man kan visa (se Gunnar Sparr Linjär algebra sidan 56) att de koefficienter c,c,,c n som minimerar den kvadratiska summan ovan fås som lösning till den så kallade normalekvationen A T Ac = A T y Normalekvationen har alltid en entydig lösning MATLABs kommando för minsta-kvadratanpassningar Vid minsta-kvadratanpassningar med MATLAB startar man med att mata in koefficientmatrisen A och kolonnvektorn y som hör till det överbestämda ekvationssystemet () Då man ger kommandot c = A\y känner MATLAB själv av att systemet är överbestämt och löser automatiskt normalekvationen A T Ac = A T y Syntaxen för att lösa ett ekvationssystem i vanlig mening och i minsta-kvadratmening är alltså densamma Det som styr är dimensionen på matrisen A Om matrisen är kvadratisk så löses ekvationsystemet med Gausselimination om matrisen har fler rader än kolonner konstrueras och löses normalekvationen 5

Polynomanpassningar Utifrån problemets natur och den bakomliggande teorin vet man ofta vilka basfunktioner man skall anpassa till mätdata Vid polynomanpassningar sätter man ϕ (x) =, ϕ (x) = x, ϕ (x) = x,,ϕ n (x) = x n, varvid anpassningsfunktionen får formen f(x) = c + c x + c x + + c n x n Motsvarande koefficientmatris blir då (jämför ekvation () på sidan 4) x x x n A = x x x n x m x m x n m Vi illustrerar polynomanpassningar med ett exempel Exempel Vi ska anpassa ett andragradspolynom f(x) = c + c x + c x till mätvärdena x k y k 9 4 8 Det överbestämda ekvationssystemet har formen Ac = y där koefficientmatrisen A och högerledet y ges av x x y A = x x x x y = y y x 4 x 4 y 4 Vi börjar med definiera x k och y k som kolonnvektorer x = [; ; ; ]; y = [; 9; 4; 8]; Koefficientmatrisen A genereras sedan bekvämt med kommandot A = [x^ x^ x^]; Då vi ger kommandot c = A\y svarar MATLAB med c = -48 7 85 Anpassningsfunktionen har alltså formen f(x) = 48 + 7x + 85x 6

6 Anpassning av andragradspolynom 4 8 y 6 4 5 5 5 5 5 4 x Figur : Anpassning av ett andragradspolynom För att plotta mätvärdena och den anpassade funktionen skriver vi plot(x,y, o ) % Plottar de mätvärdena med cirklar hold on % Lås grafikfönstret x=::; % Generera en vektor x med element från till y=c()+c()*x+c()*x^; % Beräkna funktionsvärdena för anpassningsfunktionen plot(x,y) % Plotta anpassningsfunktionen title( Anpassning av andragradspolynom ) % Skriv rubrik xlabel( x ) % Skriv text på x-axeln ylabel( y ) % Skriv text på y-axeln varvid vi får figur 4 Allmänna funktionsanpassningar För att få ökad insikt om minsta-kvadratanpassningar och deras möjligheter så tar vi nu ett exempel på en anpassning där basfunktionerna ϕ (x), ϕ (x),,ϕ n (x) inte är polynom Exempel Vi ska anpassa en kombination (superposition) av sinus och cosinus funktioner u(t) = c sint + c cos t till de mätpunkterna t k 89 79 69 59 448 58 68 78 87 897 987 77 u k 79 7 5 5 84 4 69 76 6 78 Det överbestämda ekvationssystemet har formen Ac = u där koefficientmatrisen A och högerledet u ges av sin(t ) cos(t ) A = sin(t ) cos(t ) u = sin(t ) cos(t ) u u u 7

Anpassning till funktionen f(t) = c sin(t)+c cos(t) 8 6 4 u 4 6 8 4 6 8 t Figur 4: Anpassning till funktionen u(t) = c sin(t) + c cos(t) Vi börjar med definiera t k och u k som kolonnvektorer t=[; 89; 79; 69; 59; 448; 58; 68; 78; 87; 897; 987; 77]; u=[; 79; 7; 5; -5; -84; -4; ; 69; 76; ; -6; -78]; Koefficientmatrisen A genereras sedan med kommandot A = [sin(t) cos(t)]; Då vi ger kommandot c = A\u svarar MATLAB med c = 8 88 Anpassningsfunktionen har alltså formen u(t) = 8 sin(t) + 88 cos(t) För att plotta mätvärdena och den anpassade funktionen skriver vi plot(t,u, o ) % Plotta mätvärdena med cirklar hold on % Lås grafikfönstret t=::; % Generera en vektor med element från till u=c()*sin(t)+c()*cos(t); % Beräkna funktionsvärdena för anpassningsfunktionen plot(t,u) % Plotta anpassningsfunktionen title( Anpassning till funktionen f(t) = c_sin(t)+c_cos(t) ) % Skriv rubrik xlabel( t ) % Skriv text på x-axeln ylabel( u ) % Skriv text på y-axeln varvid vi får figur 4 8

5 Anpassningar till exponentialuttryck I naturen träffar man ofta på kvantiteter som är exponentiellt avtagande (eller växande) Ett exempel är strålningsintensiteten hos ett radioaktivt preparat, vilken avtar med tiden enligt formeln I(t) = I()e λt, där λ är sönderfallskonstanten och I() den ursprungliga intensiteten För att kunna anpassa exponentialfunktionen till de experimentella data, dvs bestämma I() och λ, måste man logaritmera exponentialuttrycket lni(t) = lni()e λt = lni() + lne λt = lni() λt = c + c t Koefficienterna c = lni() och c = λ bestämmes genom att minsta-kvadratanpassa lni(t) = c + c t till de logaritmerade datapunkterna lni k Exempel Anpassa en exponentialfunktion I(t) = I()e λt till följande sju datapunkter t k 4 5 6 7 8 I k 6 8 75 4 74 56 Vi omformulerar problemet och anpassar lni(t) = lni() λt = c + c t till de logaritmerade datapunkterna b k = lni k Motsvarande överbestämda ekvationssystem har formen Ac = b där koefficientmatrisen A och högerledet b ges av t lni A = t b = lni t 7 lni 7 Vi börjar med att mata in kolonnvektorerna t och I och definiera b t = [; ; 4; 5; 6; 7; 8]; I = [6; 8; 75; 4; ; 74; 56]; b = log(i); Koefficientmatrisen A genereras sedan med kommandot A = [t^ t]; Då vi ger kommandot c = A\b svarar MATLAB med c = 78-888 9

I 45 Anpassning av exponentialfunktion 4 5 5 5 5 4 5 6 7 8 9 t Figur 5: Anpassning av exponentialfunktion Vi har alltså lni(t) = 78 888t och de ursprungliga data kommer alltså att beskrivas av funktionen I(t) = e 78 888t = e 78 e 888t = 56e 888t För att plotta de ursprungliga datapunkterna och den anpassade exponentialfunktionen skriver vi plot(t,i, o ) % Plotta mätvärdena med cirklar hold on % Lås grafikfönstret t = ::9; % Generera en vektor med element från till 9 I = exp(c()+c()*t); % Beräkna funktionsvärdena för anpassningsfunktionen plot(t,i) % Plotta anpassningsfunktionen title( Anpassning av exponentialfunktion ) % Skriv rubrik xlabel( t ) % Skriv text på x-axeln ylabel( I ) % Skriv text på y-axeln varvid vi får figur 5