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

Relevanta dokument
Laboration: Vektorer och matriser

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

SKRIVNING I VEKTORGEOMETRI Delkurs

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

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

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

2 Matrisfaktorisering och lösning till ekvationssystem

1.1 MATLABs kommandon för matriser

SKRIVNING I VEKTORGEOMETRI

15 februari 2016 Sida 1 / 32

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

Vektorgeometri för gymnasister

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

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

Minsta kvadratmetoden

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

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

TMV166 Linjär Algebra för M. Tentamen

TANA19 NUMERISKA METODER

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

Matriser och linjära ekvationssystem

% Föreläsning 4 22/2. clear hold off. % Vi repeterar en liten del av förra föreläsningen:

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

Hemuppgift 1, SF1861 Optimeringslära, VT 2016

denna del en poäng. 1. (Dugga 1.1) (a) Beräkna u (v 2u) om v = u och u har längd 3. Motivera ert svar.

SKRIVNING I VEKTORGEOMETRI

Föreläsning 5. Approximationsteori

LÖSNINGAR TILL LINJÄR ALGEBRA kl 8 13 LUNDS TEKNISKA HÖGSKOLA MATEMATIK. 1. Volymen med tecken ges av determinanten.

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

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

Vektorgeometri för gymnasister

Moment Viktiga exempel Övningsuppgifter

1 Linjära ekvationssystem. 2 Vektorer

8.5 Minstakvadratmetoden

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

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

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Vektorerna är parallella med planet omm de är vinkelräta mot planets normal, dvs mot

Hemuppgift 1, SF1861 Optimeringslära för T

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

Linjär algebra Föreläsning 10

LINJÄR ALGEBRA II LEKTION 3

Introduktion till MATLAB

Detta cosinusvärde för vinklar i [0, π] motsvarar α = π 4.

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

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

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

1 Grundläggande kalkyler med vektorer och matriser

Rapportexempel, Datorer och datoranvändning

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

Matriser och vektorer i Matlab

1. (a) Bestäm alla värden på c som gör att matrisen A(c) saknar invers: c 1

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

Linjära ekvationssystem i Matlab

Matriser och linjära ekvationssystem

x+2y+3z = 14 x 3y+z = 2 3x+2y 4z = 5

2 = 3 = 1. ekvationssystem är beskriven som de vektorer X =

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

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

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

Lösningsforslag till tentamen i SF1624 den 22/ e x e y e z = 5e x 10e z = 5(1, 0, 2). 1 1 a a + 2 2a 4

Preliminärt lösningsförslag

Vektorgeometri för gymnasister

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

5.7. Ortogonaliseringsmetoder

Sidor i boken f(x) = a x 2 +b x+c

SKRIVNING I VEKTORGEOMETRI

12. SINGULÄRA VÄRDEN. (u Av) u v

Modul 1: Komplexa tal och Polynomekvationer

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

Vektorgeometri för gymnasister

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

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

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

= ( 1) ( 1) = 4 0.

linjära ekvationssystem.

Varning!!! Varning!!!

Minsta-kvadratmetoden

8 Minsta kvadratmetoden

Preliminärt lösningsförslag

Linjär Algebra M/TD Läsvecka 1

Vektorgeometri för gymnasister

Block 2: Lineära system

(a) Bestäm för vilka värden på den reella konstanten c som ekvationssystemet är lösbart. (b) Lös ekvationssystemet för dessa värden på c.

DN1230 Tillämpad linjär algebra Tentamen Onsdagen den 29 maj 2013

Minstakvadratmetoden

Laboration 1. Ekvationslösning

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

Linjär algebra med MATLAB

November 17, 2015 (1) en enda lsg. Obs det A = 1 0. (2) k-parameter lsg. Obs det A = 0. k-kolonner efter sista ledande ettan

SF1624 Algebra och geometri

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

Tentamen TMV140 Linjär algebra Z

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

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

Diagonalisering och linjära system ODE med konstanta koe cienter.

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S

x = som är resultatet av en omskrivning av ett ekvationssystemet som ursprungligen kunde ha varit 2x y+z = 3 2z y = 4 11x 3y = 5 Vi får y z

Transkript:

% Föreläsning 3 10/2 clear % Vi börjar med att titta på kommandot A\Y som löser AX=Y % Åter till ekvationssystemen som vi avslutade föreläsning 1 med. % Uppgift 1.3 i övningsboken: A1=[ 1-2 1 ; 2-6 6 ; -3 5 1 ] % Matar in systemmatrisen Y1=[ 1 2 3 ]' % Och högerledet A1\Y1 % Detta ger lösningen % Uppgift 1.4: A2=[ 1-2 1 ; 2-6 6 ; -3 5-1 ] % Systemmatrisen Y2=[ 1 2 3 ]' % Högerledet A2\Y2 % Funkar inte. Detta skall sakna lösning. % Uppgift 1.11: A3=[ 1-2 1 ; 2-6 6 ; -3 5-1 ] % Systemmatrisen Y3=[ 1 4-2 ]' % Högerledet A3\Y3 % Funkar inte heller. Här skulle vi ju ha parameterlösning. % Kommandot A\Y skiljer alltså inte (för kvadratiska matriser) på fallen % då vi har ingen eller oändligt många lösningar. Vi kan dock se hur det % ligger till genom att låta Matlab eliminera: rref([a1,y1]) % "Eliminerar systemet". Här får vi entydig lösning. rref([a2,y2]) % Notera "0=1" i sista ekvationen. rref([a3,y3]) % Nu har vi "0=0" rref(a2) % "Eliminerar bara en matris" % Vi kollar även inversen till systemmatriserna: inv(a1) % Finns inv(a2) % Finns inte ("singulär" matris samma som ej inverterbar) inv(a3) % Finns inte heller % Du har kanske misstänkt att det finns entydig lösning precis % då systemmatrisen är inverterbar. (Skall vi visa senare i kursen.) % Vi provar med ett system som inte är kvadratiskt. I uppgift 1.14 har % vi fler obekanta än ekvationer, och förväntar oss parameterlösning A=[ 2 3 4 ; 4-3 2 ] % Systemmatrisen Y=[ 5 1 ]' % Högerledet A\Y % Nu ger Matlab en lösning, men bara en! % Hur kan vi få alla? Repetition: % Alla lösningar till AX=Y = en lösning till AX=Y + alla till AX=0. % Vi har fått en lösning ovan, och alla till AX=0 är precis nollrummet: null(a) % Detta ger en bas för nollrummet, med vektorer av längd 1 null(a,'r') % Ger "rationella koordinater", vilket kanske känns bättre ibland % För att få alla lösningar kan vi alltså göra så här: XP=A\Y XH=null(A,'r') syms t % Vi sätter in en parameter som vi låter vara symbolisk. X=XP+t*XH % Så här brukar vi ju skriva vår lösning. % Vi provar också med uppgift 1.16, där vi förväntar oss två parametrar: A=[ 2 1-1 3-3 ; 3 2 1 2 2 ; -4 3 2 1-1 ] % Systemmatrisen Y=[ 0 0 0 ]' % Högerledet A\Y % En lösning, som vi såklart kunde se direkt! Här är lösningen såklart % bara nollrummet.

XH=null(A,'r') XH1=XH(:,1) XH2=XH(:,2) syms t1 t2 X=t1*XH1+t2*XH2 % Vi får nog en bättre bild av att bara titta på matrisen XH % Exemplet vi hade igår: A=[ 2 1-1 ; 1 2 1 ; -1 1 2] % Eller, detta var egentligen 3*A R=rank(A) % Ger rangen N=null(A,'r') % Nollrummet S=size(N) Nd=S(2) % Ger nolldimensionen (varför?) size(n,2) % Ett alternativ till de två senaste raderna R+Nd % Skall bli antalet kolonner enligt dimensionssatsen % Vi kollar också rangen av matriserna i de tre första exemplen: rank(a1) rank(a2) rank(a3) % Stämmer med våra beräkningar ovan av eventuella inverserna, för en % matris är ju inverterbar precis då kolonnerna utgör en bas, dvs. då % de är linjärt oberoende och vi har full rang. % Vi fick alltså ut en lösning med A\Y när vi inte hade kvadratiska system, % men inte tidigare då vi hade ett kvadratiskt system. Varför inte? % (Fråga inte mig!) Är det så att Matlab försöker invertera matrisen? % Vi kollar genom att återgå till det första exemplet: inv(a1)*y1 % Ger såklart samma resultat som A1\Y1. Men gör Matlab samma % sak? Vi provar genom att mäta tidsåtgången: A=rand(1000); % 1000*1000-matris med slumptal Y=rand(1000,1); % Högerled tic; A\Y; toc % Ganska lustigt kommando tic; inv(a); toc % Går alltså ungefär dubbelt så snabbt med A\Y, så Matlab inverterar här % inte matrisen. Slutsats: Använd A\Y om ni har bråttom % Vi påminner också om att vi förra gången såg vad som händer om vi har % fler ekvationer än obekanta. Systemet i uppgift 1.9 är på denna form, % och som väntat har det ingen lösning. Men Matlab ger lösning med A=[ 1 1 ; 1-2 ; 3 4 ] Y=[ -4 2 1]' A\Y % Lösningen vi får är i minsta-kvadrat-mening % Vi tittar nu på ett förskräckligt exempel, och löser systemet % 1.12065 x1 + 0.98775 x2 = 2.12341 % 2.24135 x1 + 1.97553 x2 = 4.24601 A=[ 1.12065 0.98775 ; 2.24135 1.97553 ]; Y=[ 2.12341 4.24601 ]'; A\Y % Kolla nu på % 1.12065 x1 + 0.98775 x2 = 2.12241 % 2.24135 x1 + 1.97553 x2 = 4.24601 % där vi bara ändrat det övre talet i högerledet med en tusendel. % Detta borde väl inte ändra lösningen så mycket, eller? Y=[ 2.12241 4.24601 ]'; % Samma A, men Y lite ändrad

A\Y % Resultatet blir helt annorlunda! Detta system är alltså väldigt "känsligt % för störningar". Måttet på denna känslighet ges av det som kallas % "konditionstalet" av systemmatrisen. cond(a) % Detta ger konditionstalet % Utan att gå in på detaljer så konstaterar vi att detta konditionstal % är högt. Var blir det för en "godtycklig" 2*2-matris? Kör följande två % rader ett antal gånger: A=rand(2) % 2*2 med slumptal cond(a) % Ett system som är lite (minst) känsligt för störningar är % x1 = y1 % x2 = y2 % och motsvarande systemmatris, som är enhetsmatrisen, har lägsta möjliga % konditionstal, som är 1 A=eye(2) cond(a) % Vad tror du en matris skall ha för egenskaper för att ha konditionstal 1? % Efter att ha läst om Taylorutvecklingar så inser du nog att polynom är % speciellt viktiga funktioner. Vi tittar nu på hur man kan hantera polynom % i Matlab. % Ett polynom representeras som en vektor där koefficienterna är listade, % så exempelvis x^4-2 x^3 + 4 x^2 - x + 7 blir p=[ 1-2 4-1 7 ] polyval(p,1) % Beräknar värdet i x=1 (kolla!) roots(p) % Ger alla rötterna. Här blev de visst komplexa. polyder(p) % Deriverar (kolla!) polyint(p) % Integrerar (kolla!) q=[ 1-1 ] % Polynomet x-1 conv(p,q) % Beräknar produkten p*q % Det finns ett färdigt kommando för att anpassa ett polynom till ett antal % punkter: "polyfit(x,y,n)" ger polynomet av grad n som är bäst anpassat % till punkterna som ges av vektorerna x och y. % Vi illustrerar genom att återvända till exmplet med kurvanpassning från % förra gången, där vi ville anpassa en linje till ett antal mätdata. % Vi löste problemet med minsta-kvadrat-metoden: xv=[ 1 2 3 4 5 ] % x-värdena yv=[ 3 5 8 9 13 ] % Motsvarande y-värden A=[ xv' ones(5,1)] % Skapar A Y=yv' Sol=A'*A\A'*Y % Löser normalekvationen Sol=A\Y % Detta funkade lika bra plot(xv,yv,'+') % Plottar in mätpunkterna k=sol(1), m=sol(2) % Plockar ut k och m ur kolonnmatrisen som är lösningen y=k*x+m; plot(x,y,'k') % Ritar den anpassade linjen (svart) % Vi gör nu samma exempel, men använder de färdiga kommandona för polynom

xv=[ 1 2 3 4 5 ]; % x-värdena yv=[ 3 5 8 9 13 ]; % Motsvarande y-värden plot(xv,yv,'+') % Plottar in mätpunkterna P=polyfit(xv,yv,1) % Beräknar koefficienterna i aktuellt 1:a-gradspolynom y=polyval(p,x); % Räknar ut motsvarande y-värden plot(x,y,'k') % Ritar den anpassade linjen % Nu kan vi exempelvis lätt även rita in det anpassade 2:a-gradspolynomet P=polyfit(xv,yv,2) y=polyval(p,x); plot(x,y,'--') legend('mätpunkter','1:a-grads','2:a-grads') % Så här kan man skriva en % förklaring till kurvorna % Vi diskuterar nu (på tavlan, genom att tänka på ekvationssystem) hur hög % grad ett polynom måste ha för att dess graf exakt skall gå genom ett % visst antal punkter. xv=[ 1 2 3 4 5 ]; yv=[ 3 5 8 9 13 ]; plot(xv,yv,'+') n=length(xv) P=polyfit(xv,yv,n-1) y=polyval(p,x); plot(x,y,'k') % Beteendet vid den första mätpunkten är kanske inte det vi vill ha % Att anpassa en funktion så att den går exakt genom givna punkten % kallas "interpolation" % Vi kan också interpolera genom att "fixa till en kurvbit mellan varje par % av punkter". xv=[ 1 2 3 4 5 ]; yv=[ 3 5 8 9 13 ]; plot(xv,yv,'+') yil=interp1(xv,yv,x,'linear'); % Ger en linjär funktion mellan punkterna, % dvs. ett linjestycke från punkt till punkt yik=interp1(xv,yv,x,'spline'); % Ger ett tredjegradspolynom mellan punkterna, % och fixar dessutom till helheten så att det blir deriverbart och fint. plot(x,yil,'k',x,yik,'--') legend('mätpunkter','linjär','kubisk') % Resultatet blev lite bättre till höger om första punkten. % Hinner vi så tittar vi även lite på de färdiga kommandon som man kan % klicka på exempelvis i grafikfönstret.