Digitální učební materiál

Podobné dokumenty
Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Digitální učební materiál

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Digitální učební materiál

APROXIMACE KŘIVEK V MATLABU NEWTONŮV INTERPOLAČNÍ POLYNOM CURVE FITTING IN MATLAB NEWTON INTERPOLATION POLYNOMIAL

Aplikovaná matematika I

Interpolace, aproximace

Libovolnou z probraných metod najděte s přesností na 3 desetinná místa kladný kořen rovnice. sin x + x 2 2 = 0.


3. Derivace funkce Definice 3.1. Nechť f : R R je definována na nějakém okolí U(a) bodu a R. Pokud existuje limita f(a + h) f(a) lim

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Lineární a polynomická regrese, interpolace, hledání v tabulce

Digitální učební materiál

úloh pro ODR jednokrokové metody

Numerické řešení diferenciálních rovnic

Čebyševovy aproximace

4 Numerické derivování a integrace

Numerická matematika Banka řešených příkladů

5. Interpolace a aproximace funkcí

Numerické algoritmy KAPITOLA 11. Vyhledávání nulových bodů funkcí

Interpolace Lagrangeovy polynomy. 29. října 2012

Přijímací zkouška z informatiky Dz

Typy příkladů na písemnou část zkoušky 2NU a vzorová řešení (doc. Martišek 2017)

Vzdělávací materiál. vytvořený v projektu OP VK CZ.1.07/1.5.00/ Anotace. Diferenciální počet VY_32_INOVACE_M0216.

Kombinatorická minimalizace

Interpolace, ortogonální polynomy, Gaussova kvadratura

Interpolace pomocí splajnu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

APROXIMACE FUNKCÍ V MA TLABU ' Část 3. - Lazran eův inter olační 01 mom v Matlabu

Numerické metody a statistika

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Optické vlastnosti oka Číslo DUM: III/2/FY/2/3/17 Vzdělávací předmět: Fyzika Tematická oblast:

Obsah. Metodický list Metodický list Metodický list Metodický list

PRÁVNÍ ZÁKLADY STÁTU- ÚSTAVA

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Hustota Číslo DUM: III/2/FY/2/1/9 Vzdělávací předmět: Fyzika Tematická oblast: Fyzikální veličiny a

Sada 1 - Základy programování

Vzdělávací materiál. vytvořený v projektu OP VK CZ.1.07/1.5.00/ Anotace. Diferenciální počet VY_32_INOVACE_M0217.

Několik příkladů v Turbo Pascalu

Integrace funkcí více proměnných, numerické metody

Střední odborná škola a Střední odborné učiliště, Hořovice

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Skládání a rozkládání sil Číslo DUM: III/2/FY/2/1/17 Vzdělávací předmět: Fyzika Tematická oblast:

INTERPOLAČNÍ POLYNOM. F (x)... hledaná funkce (polynom nebo funkce vytvořená z polynomů), pro kterou platí

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Výpočty s hustotou Číslo DUM: III/2/FY/2/1/10 Vzdělávací předmět: Fyzika Tematická oblast:

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Lom světla II.část Číslo DUM: III/2/FY/2/3/18 Vzdělávací předmět: Fyzika Tematická oblast: Optika

Numerická matematika Písemky

A 9. Počítejte v radiánech, ne ve stupních!

Programovací jazyk Pascal

NUMERICKÉ METODY. Problematika num. řešení úloh, chyby, podmíněnost, stabilita algoritmů. Aproximace funkcí.

Diferenciál a Taylorův polynom

Přijímací zkoušky z matematiky pro akademický rok 2016/17 NMgr. studium Učitelství matematiky ZŠ, SŠ

Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková. Výukový materiál

Klasický podprogram, který nazýváme procedura. Jedná se v podstatě o příkaz. 1

Podprogramy; procedury a funkce

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Funkce. Mocninné funkce. Mgr. Tomáš Pavlica, Ph.D. Digitální učební materiály, Gymnázium Uherské Hradiště.

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Zlín, 23. října 2011

Numerická matematika 1

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Vzdělávací materiál. vytvořený v projektu OP VK CZ.1.07/1.5.00/ Anotace. Integrální počet. Substituce v určitém integrálu VY_32_INOVACE_M0311

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Úvod do programování

Téma je podrobně zpracováno ve skriptech [1], kapitola

Aproximace a interpolace

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Měření teploty Číslo DUM: III/2/FY/2/1/14 Vzdělávací předmět: Fyzika Tematická oblast: Fyzikální

Hledání extrémů funkcí

INTERPOLAČNÍ POLYNOM.... hledaná funkce (polynom nebo funkce vytvořená z polynomů), pro kterou platí

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Přijímací zkouška na navazující magisterské studium 2018

Projekt: Zlepšení výuky na ZŠ Schulzovy sady registrační číslo: CZ.1.07./1.4.00/ Mgr. Jakub Novák. Datum: Ročník: 9.

4.3.3 Goniometrické nerovnice I

NPRG030 Programování I, 2018/19 1 / :25:37

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Měření délky Číslo DUM: III/2/FY/2/1/2 Vzdělávací předmět: Fyzika Tematická oblast: Fyzikální

1 Diference a diferenční rovnice

Numerické řešení rovnice f(x) = 0

GEODETICKÉ VÝPOČTY I.

Závěrečná zkouška z informatiky 2011

Přehled funkcí. Funkce na množině D R je předpis, který každému číslu z množiny D přiřazuje právě jedno reálné číslo. přehled fcí.

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Digitální učební materiál

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony.

Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Teplota Číslo DUM: III/2/FY/2/1/13 Vzdělávací předmět: Fyzika Tematická oblast: Fyzikální veličiny

Transkript:

Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_158_IVT Autor: Ing. Pavel Bezděk Tematický okruh: Algoritmy Datum tvorby: září 2013 Ročník: 4. ročník a oktáva Anotace: Algoritmus XVIII. Algoritmus interpolačních polynomů I. Lagrangeův polynom Metodický pokyn: Při výuce nutno postupovat individuálně. Pokud není uvedeno jinak, je použitý materiál z vlastních zdrojů autora DUM.

Autor Ing. Pavel Bezděk Vytvořeno dne 18. 9. 2013 Odpilotováno dne 3. 4. 2014 ve třídě 4.A Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Klíčová slova Informatika a informační a komunikační technologie Informatika a výpočetní technika Algoritmus Algoritmus XVIII. - Algoritmus interpolačních polynomů I. - Lagrangeův polynom Algoritmus, Lagrangeův interpolační polynom Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Pavel Bezděk. Dostupné z Metodického portálu www.rvp.cz ; ISSN 1802-4785. Provozuje Národní ústav pro vzdělávání, školské poradenské zařízení a zařízení pro další vzdělávání pedagogických pracovníků (NÚV).

Lagrangeův interpolační polynom

Interpolace x extrapolace Interpolace je přibližný výpočet hodnot funkce v bodě, které leží uvnitř daného intervalu int(x 0,x 1,x 2, x n ). Extrapolace je přibližný výpočet hodnot funkce v bodě, které leží vně intervalu int(x 0,x 1,x 2, x n ) z hodnot funkce v krajních bodech x 0 a x n, popř. i z hodnot funkce v některých vnitřních bodech intervalu int(x 0,x 1,x 2, x n ). Chyba výpočtu může být velká. Ale pro x velmi blízká koncovým bodům intervalu int(x 0,x 1,x 2, x n ), lze dostat dobré výsledky.

Interpolace x extrapolace Vypočteme bod funkce. mezi známými body funkce. Vypočteme bod funkce.mimo známé body funkce.

Interpolační podmínky Předpokládejme nyní, že funkce f je dána pouze svou hodnotou v n+1 bodech x 0, x 1, x 2,..x n a že chceme najít aproximaci ϕ takovou, která napodobuje chování funkce f v okolí všech těchto bodů. Např. funkce zadané tabulkou. O tabulkových bodech x i i=0, 1, 2, n, v nichž jsou zadané hodnoty f(x i ), budeme předpokládat, že jsou navzájem různé. Budeme se při interpolaci snažit volit funkci ϕ tak, aby platilo ϕ(x i )= f(x i ) i= 0,1,2.n (interpolační podmínky) tj. aby přesně nabývala zadaných funkčních hodnot. Existuje takový interpolační polynom pro funkci f v bodech x 0, x 1, x 2,.. x n a budeme ho značit L n a nazývat Lagrangeův interpolační polynom. Tabulkovým bodům x 0, x 1, x 2,.. x n budeme říkat uzly interpolace. Lagrangeův interpolační polynom

Lagrangeův interpolační polynom (Polynom n-tého stupně: P n (x)=p 0 +p 1 x+p 2 x 2 + p 3 x 3... + p n x n nejvyšší mocnina x je n-tá x n a p n 0) kde l i jsou polynomy n- tého stupně takové, že platí l i (x k ) = 0 pro k i l i (x k ) = 1 pro k=i (x i jsou navzájem různé, i=0,1,2, n) i, k = 0,1,2, n Polynom l i má tedy kořeny x 0,x 1,..x i-1, x i+1,..x n a můžeme jej zapsat ve tvaru:

Výpočet Lagrangeova polynomu Funkce f dána svými hodnotami v bodech x 0 =0, x 1 =1, x 2 =-1, x 3 =3, f(0)=1, f(1)=2, f(-1)=2, f(3)=0. Vypočítáme přibližnou hodnotu f(2) pomocí Lagrangeova interpolačního polynomu l o (x) = ((x-1)(x+1)(x-3))/((0-1)(0+1)(0-3)) = 1/3(x-1)(x+1)(x-3) l o (2) =-1 l 1 (x) = ((x-0)(x+1)(x-3))/((1-0)(1+1)(1-3)) = (1/(-4))x(x+1)(x-3) l 1 (2) = 3/2 l 2 (x) = ((x-0)(x-1)(x-3))/((-1-0)(-1-1)(-1-3)) = (1/(-8))x(x-1)(x-3) l 2 (2) = 1/4 l 3 (x) = ((x-0)(x-1)(x+1))/((3-0)(3-1)(3+1)) = (1/24)x(x+1)(x-3) l 3 (2) = 1/4 L 3 (2) = 1. (-1)+2. 3/2+2. 1/4+0. 1/4 = 5/2 f(2) Lagrangeův polynom: L 3 = 1. l o (x) +2. l 1 (x) +2. l 2 (x) +0. l 3 (x) L 3 = (1/3)(x-1)(x+1)(x-3)-(1/2)x(x+1)(x-3) (1/4)x(x-1)(x-3) L 3 (2) = -(5/12)x 3 + x 2 + (5/12)x +1

Lineární a kvadratická interpolace Lineární interpolace n=1, máme známé 2 body funkce, aproximujeme polynomem 1.stupně P 1 = p 0 +p 1 x jeho grafem je přímka spojující 2 známé body funkce, vypočtený bod tedy leží na této přímce. Používáme třeba při práci s tabulkami. Kvadratická interpolace n=2, máme známé 3 body funkce, aproximujeme polynomem 2.stupně P 2 = p 0 +p 1 x +p 2 x 2 jeho grafem je parabola spojující 3 známé body funkce, vypočtený bod tedy leží na této parabole. Kvadratická interpolace je přesnější než lineární interpolace (kromě případů, když funkce f je lineární).

Výpočet lineární a kvadratické interpolace Tabulka hodnot funkce f(x)=sin(x), máme dopočítat hodnotu sin 20 18 z hodnot v bodech x 0 =20, x 1 =21,x 2 =22. x 20 21 22 20 18 =20,3 sin (x) 0,34202 0,35837 0,37461 Lineární interpolace: L 1 (x) = f(x 0 ) (x-x 1 )/(x 0 -x 1 ) + f(x 1 ) (x-x 0 )/(x 1 -x 0 ) sin 20 18 0,34202(20,3-21)/(20-21) + 0,35837 (20,3-20)/(21-20)= =0,346925 0,34693 Kvadratická interpolace: L 2 (x) = f(x 0 )((x-x 1 )(x-x 2 ))/((x 0 -x 1 ) (x 0 -x 2 ) +f(x 1 )((x-x 0 )(x-x 2 ))/((x 1 -x 0 )(x 1 -x 2 )) + f(x 2 ) ((x-x 0 )(x-x 1 ))/((x 2 -x 0 )(x 2 -x 1 )) sin 20 18 0,34202 ((20,3-21)(20,3-22))/((20-21)(20-22)) +0,35837((20,3-20) (20,3-22))/((21-20)(21-22)) +0,37461 ((20,3-20)(20,3-21))/((22-20)(22-21)) = 0,346936 0,34694 Přesná hodnota sin 20 18 = 0,34693655 0,34694. Vidíme, že kvadratická interpolace je přesnější, ale v tomto případě přesnost lineární interpolace byla dostačující.

program Lagrange; uses crt; const n=10; type pole=array[1..n] of real; var xx,yy: pole; x,y: real; i,k,l,mm:byte; procedure nacti(m:byte;var aa,bb:pole); var d:byte; g,gg:real; begin end; for d:=1 to m do begin writeln(' Zadej souradnice ',d,'. bodu:'); write(' x='); readln(g); aa[d]:=g; write(' y='); procedure tisk(m:byte;aa,bb:pole); var t:byte; readln(gg); bb[d]:=gg; end; begin writeln; for t:=1 to m do write(' f(',aa[t]:5:3,')=',bb[t]:5:3,' '); writeln; end; Lagrangeova interpolace Pascal

procedure lagran(m:byte; a:real; aa,bb:pole; var ss:real); var q,qq:byte; s,j,z:real; begin ss:=0; for q:=1 to m do begin s:=1; j:=1; z:=0; if q=1 then for qq:=2 to m do begin s:=s*(a-aa[qq]); j:=j*(aa[q]-aa[qq]) end else if q<m then begin for qq:=1 to q-1 do begin s:=s*(a-aa[qq]); j:=j*(aa[q]-aa[qq]) end; for qq:=q+1 to m do begin s:=s*(a-aa[qq]); j:=j*(aa[q]-aa[qq]) end end else for qq:=1 to m-1 do begin s:=s*(a-aa[qq]); j:=j*(aa[q]-aa[qq]) end; z:=((s/j)*bb[q]); write(' f(x',q,')*l',q,'=',z:5:3,' '); ss:=ss+z; end; writeln; end;

begin clrscr; writeln(' Zadej pocet bodu: Maximum = ',n); read(mm); writeln(' Zadej x-souradnici hledaneho bodu: '); readln(x); writeln; nacti(mm,xx,yy); writeln; lagran(mm,x,xx,yy,y); writeln; writeln(' Zadane body : '); tisk(mm,xx,yy); writeln; writeln( ' Hodnota Lagrangeova polynomu L',mm,'(',x:3:2,') =',y:10:3); repeat until keypressed; end.

// Lagrangeuv interpolacni polynom #include <iostream> #include <stdlib.h> //#include <conio.h> const int N=50; using namespace std; Lagrangeuv interpolační polynom C++ int main() { double x[n],y[n]; // tabulka funkce double x0,fx0,cit,jm; // x0 -> bod, v nemz urcujeme funkcni hodnotu int i,n,p; cout<<endl<<" Lagrangeuv interpolacni polynom."<<endl; cout <<endl<< " Zadejte pocet vstupnich bodu (max. 50):"<<endl; cout<<" Pocet bodu: "; cin >> n; cout<<endl; cout << " Zadejte tabulku:"<<endl; for(i=0;i<n;i++) {cout<<" x["<<i<<"]= "; cin >>x[i]; cout<<" y["<<i<<"]= "; cin >>y[i];} Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Pavel Bezděk. Dostupné z Metodického portálu www.rvp.cz ; ISSN 1802-4785. Provozuje Národní ústav pro vzdělávání, školské poradenské zařízení a zařízení pro další vzdělávání pedagogických pracovníků (NÚV).

cout << endl<<" Zadejte hodnotu x0, pro niz chceme urcit y=f(x0)"<<endl; cout<<" x0 = "; cin >> x0; cout<<endl; for (i=0;i<n;i++) {cout<<" x["<<i<<"]="<<x[i]<<" y["<<i<<"]="<<y[i]<<endl;} fx0=0; for( int i=0; i<n; i++) { cit=1; jm= 1; if (i==0) {for ( p=1; p<n;p++) {cit *=(x0-x[p]); jm *=(x[i] - x[p]); } } else if (i<(n-1)) { for ( p=0; p<(i);p++) {cit *=(x0-x[p]); jm *=(x[i] - x[p]); } for(p=(i+1); p<n;p++) {cit *=(x0-x[p]); jm *=(x[i] - x[p]); } } else { for(p=0; p<(n-1);p++) {cit *=(x0-x[p]); jm *=(x[i] - x[p]); } } fx0 +=((cit/jm)*y[i]); } cout<<endl<<" f("<<x0<<") = "<<fx0<<endl; return 0; } Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Pavel Bezděk. Dostupné z Metodického portálu www.rvp.cz ; ISSN 1802-4785. Provozuje Národní ústav pro vzdělávání, školské poradenské zařízení a zařízení pro další vzdělávání pedagogických pracovníků (NÚV).

Použité zdroje PŘIKRYL, Petr. Numerické metody analýzy. Praha: Státní nakladatelství technické literatury, 1988. MATEMATIKA PRO VYSOKÉ ŠKOLY TECHNICKÉ, sešit XXIV.