Presentation laddar. Vänta.

Presentation laddar. Vänta.

1 Föreläsning 10 Kurvanpassning som en del av problemlösning med datorer –Linjär anpassning –Interpolation.

Liknande presentationer


En presentation över ämnet: "1 Föreläsning 10 Kurvanpassning som en del av problemlösning med datorer –Linjär anpassning –Interpolation."— Presentationens avskrift:

1 1 Föreläsning 10 Kurvanpassning som en del av problemlösning med datorer –Linjär anpassning –Interpolation

2 2 Kurvanpassning läsanvisning Material finns i Grimvall 10.1-3 samt i MATLAB boken 8.1-3 Kommer att följa en del av MATLAB- bokens exempel som även finns som ’inbyggda exempel’

3 3 Frågor från förra gången ?

4 4 Matlab bokens lärandemål Ni ska kunna ’perform linear and cubic spline interpolation’ ’calculate the best-fit straight line and polynomial to a set of data points’ ’use the basic fitting tool’

5 5 Motsvarande mål i Grimvall Kunna analysera enkla ’potensfunktioner’ med hjälp av linjär anpassning Förstå matematiken bakom detta På samma sätt kunna analysera exponentialfunktionen, relevant för en av labuppgifterna!

6 6 Analysera enkla potensfunktioner Vad menas med detta? Lite matte:

7 7 Analysera enkla potensfunktioner Med hjälp av bokens figurer/exempel ser vi bla:

8 8 Analysera enkla potensfunktioner Med hjälp av bokens figurer/exempel ser vi bla:

9 9 Analysera enkla potensfunktioner Med hjälp av bokens figurer/exempel ser vi bla: Fråga, hur kan vi hitta den linje som passar bra/bäst?

10 10 Analysera enkla potensfunktioner Fortsätter med er mer komplicerat exempel innan vi svara på frågan

11 11 Analysera enkla potensfunktioner Från det här exemplet kan vi också se att vi kanske vill göra anpassning till ett andra-grads-polynom Stämmer bra med lärandemålet för matlab:’calculate the best-fit straight line and polynomial to a set of data points’

12 12 Hur kan detta hanteras i matlab Börja med att interpolera 6 datapunkter ( x-,y-värden )

13 13 Hur kan detta hanteras i matlab Börja med att interpolera 6 datapunkter ( x-,y-värden )

14 14 Definitioner 1.En interpolation innehåller de ursprungliga datapunkterna plus nya beräknade värden för mellanliggande punkter 2.En kurvanpassning med linjär- eller polynom regression innehåller inte säkert alla datapunkter ens för den bästa anpassningen

15 15 Definitioner Illustrera påstående ”2” genom att för hand gissa och lägga in en linje i figuren med ( x-,y-värden )

16 16 Mått på en bra linje Inför något som vi kallar kvadratsumman för avvikelserna >> tab=[x' y' y2' y'-y2' (y'-y2').^2] tab = 0 0 0 0 0 1 20 20 0 0 2 60 40 20 400 3 68 60 8 64 4 77 80 -3 9 5 110 100 10 100 >> sum(tab(:,5)) ans = 573

17 17 Mått på en bra linje 1.Varför kvadratsumman? 2.Kan vi göra detta värde mindre? 3.För att man inte ska summera ihop positiva och negativa värden till något som är nära eller lika med 0 4.Ja, med något som heter minsta kvadratmetoden, fungerar genom att derivera och söka nollställen till derivatan

18 18 Mått på en bra linje Måste vi göra denna krångliga uträkning med derivator? För många vanliga fall kan vi hitta färdiga formler, fungerar även på miniräknare när man lägger in ( x-,y- värden ) Titta på matlabs polyfit och polyval funktioner Dessa har principen om minsta kvadratsumman inbyggd

19 19 Lite matlabkod för detta >> plot(x,linje(1)*x+linje(2),'m--') >> y3=linje(1)*x+linje(2) y3 = 3.7619 24.5905 45.4190 66.2476 87.0762 107.9048 >> tab=[x' y' y3' y'-y3' (y'-y3').^2] tab = 0 0 3.7619 -3.7619 14.1519 1.0000 20.0000 24.5905 -4.5905 21.0725 2.0000 60.0000 45.4190 14.5810 212.6042 3.0000 68.0000 66.2476 1.7524 3.0708 4.0000 77.0000 87.0762 -10.0762 101.5296 5.0000 110.0000 107.9048 2.0952 4.3900 >> sum(tab(:,5)) ans = 356.8190

20 20 Fungerar polynom bättre än linje? Prova detta manuellt och sedan går vi till de inbyggda kurvanpassningsverktygen ’Tools/Basic Fitting ’ respektive cftool

21 21 Matlabkod polynom grad 2-5 >> y2=polyval(polyfit(x,y,2),new_x); >> y3=polyval(polyfit(x,y,2),new_x); >> y4=polyval(polyfit(x,y,2),new_x); >> y5=polyval(polyfit(x,y,5),new_x); >> y4=polyval(polyfit(x,y,4),new_x); >> y3=polyval(polyfit(x,y,3),new_x); >> subplot(2,2,1) >> plot(x,y,'o',new_x,y2) >> subplot(2,2,2) >> plot(x,y,'o',new_x,y3) >> subplot(2,2,3) >> subplot(2,2,4) >> plot(x,y,'o',new_x,y5) >> subplot(2,2,3) >> plot(x,y,'o',new_x,y4)

22 22 Resultatet polynom grad 2-5

23 23 Inbyggda anpassningsverktyg Går igenom två exempel för att illustrera hur man gör jämförelser samt väljer typ av anpassning Matlabs ’ Interactive Curve Fitting Example’ ger en mer fullständig beskrivning av exempel 2, tas i mån av tid

24 24 Exempel 1 Samma polynom-anpassningar grad 1-5

25 25 Exempel 2 Liknande anpassningar - men på befolkningsdata Här kan man ställa frågan om extrapolation istället för interpolation som vi jobbat med hittills, blir det någon skillnad i resonemanget då?!

26 26 Exempel 1

27 27 Exempel 2

28 28 Sammanfattning Ni ska nu kunna: ’perform linear and cubic spline interpolation’ ’calculate the best-fit straight line and polynomial to a set of data points’ ’use the basic fitting tool’ Kunna analysera enkla ’potensfunktioner’ med hjälp av linjär anpassning Förstå matematiken bakom detta På samma sätt kunna analysera exponentialfunktionen, relevant för en av labuppgifterna!

29 29 Nästa föreläsning 1 F11Ons, 5 okt, 10:00-11:45Forum Aulan Felanalys och noggrannhetsanalys Grimvall Kap 11.2 + material ur ETTER

30 30 Peer-instruction 1.Beskriv…

31 31 Diskussionuppgift på KTH Social Efter


Ladda ner ppt "1 Föreläsning 10 Kurvanpassning som en del av problemlösning med datorer –Linjär anpassning –Interpolation."

Liknande presentationer


Google-annonser