Příklad animace změny prokládané křivky při změně polohy jednoho z bodů

Podobné dokumenty
Interpolace a aproximace dat.

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

Ukázka možností interpolace dat v softwaru Matlab

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

Základy algoritmizace a programování

Aproximace a interpolace

VÝUKA MOŽNOSTÍ MATLABU

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

Lineární algebra s Matlabem cvičení 3

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Kreslení grafů v Matlabu

Interpolace pomocí splajnu

Kristýna Bémová. 13. prosince 2007

KTE / PPEL Počítačová podpora v elektrotechnice

Geometrické transformace obrazu

Spojitý šum v praxi. Jan Gehr

Geometrické transformace obrazu a související témata. 9. přednáška předmětu Zpracování obrazů

I. Diferenciální rovnice. 3. Rovnici y = x+y+1. převeďte vhodnou transformací na rovnici homogenní (vzniklou

Interpolace, aproximace

MATrixLABoratory letný semester 2004/2005

5. Aproximace funkcí. Tento učební text byl podpořen z Operačního programu Praha- Adaptabilita. Hana Hladíková

Algoritmizace prostorových úloh

Metody prostorové interpolace

ZPRACOVÁNÍ DAT DÁLKOVÉHO PRŮZKUMU

MATrixLABoratory letný semester 2004/2005. Zobrazovanie v 3D

výsledek 2209 y (5) (x) y (4) (x) y (3) (x) 7y (x) 20y (x) 12y(x) (horní indexy značí derivaci) pro 1. y(x) = sin2x 2. y(x) = cos2x 3.

KTE / PPEL Počítačová podpora v elektrotechnice

plot(c,'o') grid xlabel('re') ylabel('im')

Rozvinutí funkce do Maclaurinova rozvoje

9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D.

Škola matematického modelování Petr Beremlijski, Rajko Ćosić, Lukáš Malý, Marie Sadowská, Robert Skopal

KŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od

Circular Harmonics. Tomáš Zámečník

31ZZS 9. PŘEDNÁŠKA 24. listopadu 2014

13 Barvy a úpravy rastrového

Fergusnova kubika, která je definována pomocí bodu P1, vektoru P1P2, bodu P3 a vektoru P3P4

Transformujte diferenciální výraz x f x + y f do polárních souřadnic r a ϕ, které jsou definovány vztahy x = r cos ϕ a y = r sin ϕ.

Řešení diferenciálních rovnic v MATLABu

KTE / PPEL Počítačová podpora v elektrotechnice

Výpis m-souboru: Výsledný průběh:

BPC2E_C08 Parametrické 3D grafy v Matlabu

Diplomová práce Prostředí pro programování pohybu manipulátorů

- 1 - MATLAB základy I.Pultarová, únor 2002

Výpočetní geometrie Computational Geometry

Přehled základních metod georeferencování starých map

Popis metod CLIDATA-GIS. Martin Stříž

X37SGS Signály a systémy

Poznámka: V kurzu rovnice ostatní podrobně probíráme polynomické rovnice a jejich řešení.

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

Geometrické transformace

Jana Dannhoferová Ústav informatiky, PEF MZLU

MKI Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0.

Fourierova transformace

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII

5. Interpolace a aproximace funkcí

Interpolační funkce. Lineární interpolace

DZDDPZ3 Digitální zpracování obrazových dat DPZ. Doc. Dr. Ing. Jiří Horák Institut geoinformatiky VŠB-TU Ostrava

Digitální model reliéfu (terénu) a analýzy modelů terénu

Čas (s) Model časového průběhu sorpce vyplývá z 2. Fickova zákona a je popsán následující rovnicí

Vizualizace. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Numerická matematika Písemky

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.

1 Polynomiální interpolace

DOOSAN Škoda Power s. r. o. a Západočeská univerzita v Plzni ŘÍZENÍ AERODYNAMICKÉHO TUNELU PRO KALIBRACI TLAKOVÝCH SOND

Globální matice konstrukce

Jasové a geometrické transformace

VIDEOSBÍRKA DERIVACE

DERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Příklady k druhému testu - Matlab

smaže n-tý sloupec matice A vybere hodnotu 6.,1.,3.,2.prvku vektoru a a1 =

Matematika 3. Úloha 1. Úloha 2. Úloha 3

+ 2y y = nf ; x 0. závisí pouze na vzdálenosti bodu (x, y) od počátku, vyhovuje rovnici. y F x x F y = 0. x y. x x + y F. y = F

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

c jestliže pro kladná čísla a,b,c platí 3a = 2b a 3b = 5c.

1. Přímka a její části

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Funkce více proměnných. April 29, 2016

Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26


POZOR!!! atan (imag(c)./real(c)) počítá úhel v 1. a 4. kvadrantu, podle vzorce

Matematika pro geometrickou morfometrii

Přednáška 3. 1GIS2 Digitální modely terénu, odvozené charakteristiky DMT, základní analýzy využívající DMT FŽP UJEP

Matematika I A ukázkový test 1 pro 2011/2012. x + y + 3z = 1 (2a 1)x + (a + 1)y + z = 1 a

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na

scale n_width width center scale left center range right center range value weight_sum left right weight value weight value weight_sum weight pixel

GEODETICKÉ VÝPOČTY I.

vysledek = ((1:1:50).*(100-(1:1:50))) *ones(50,1) vysledek = ((1:1:75)./2).*sqrt(1:1:75) *ones(75,1)

5. Plochy v počítačové grafice. (Bézier, Coons)

Semestrální projekt. Vyhodnocení přesnosti sebelokalizace VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií

na magisterský studijní obor Učitelství matematiky pro střední školy

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

VIDEOSBÍRKA DERIVACE

Výpočet průsečíků paprsku se scénou

Numerická integrace a derivace

Realita versus data GIS

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

Univerzita Pardubice. Fakulta chemicko-technologická Katedra analytické chemie. Licenční studium Statistické zpracování dat

Vypracoval: Mgr. Lukáš Bičík TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY

Transkript:

3. Polynomy p x x x 3 ( ) = 2 5 Polynom je reprezentován řádkovým vektorem koeficientů jednotlivých řádů od nejvyššího dolů p = [1 0-2 -5]; kořeny polynomu r = roots(p) r = 2.0946-1.0473 + 1.1359i -1.0473-1.1359i Získání polynomu z kořenů p2 = poly(r) p2 = 1 8.8818e-16-2 -5 Pozn.: místo nuly je malé číslo. Hodnota polynomu polyval(p,5) ans = 110 Konvoluce a dekonvoluce 2 ax ( ) = x + 2x+ 3, bx x x 2 ( ) = 4 + 5 + 6 a = [1 2 3]; b = [4 5 6]; c = conv(a,b) c = 4 13 28 27 18 Zpátky pomocí deconv(), které vrací výsledek a zbytek:

[q,r] = deconv(c,a) q = 4 5 6 r = 0 0 0 0 0 Derivace polynomu p = [5 2-4 3] polyder(p) ans = 15 4-4 Prokládání dat křivkou polynomem p = polyfit(x,y,n), kde x a y jsou data která mají být proložena a n je řád polynomu Př. x = [1 2 3 4 5]; y = [5.5 43.1 128 290.7 498.4]; p = polyfit(x,y,3) % porovnání dat s křivkou a vykreslení do grafu x2 = 1:.1:5; y2 = polyval(p,x2); plot(x,y,'o',x2,y2) Příklad animace změny prokládané křivky při změně polohy jednoho z bodů figure; for k=1:15 x= [1 2 3 4 5];y = [.5 5 7 k 20]; p1=polyfit(x,y,2); p2=polyfit(x,y,3); p3=polyfit(x,y,4); x2 = 1:0.05:5; y1 = polyval(p1,x2); y2 = polyval(p2,x2); y3 = polyval(p3,x2); plot(x,y,'o',x2,y1,x2,y2,x2,y3); grid; axis ([1,5,1,20]); M(k) = getframe; end; for k=1:15 x= [1 2 3 4 5];y = [.5 5 7 15-k 20]; p1=polyfit(x,y,2); p2=polyfit(x,y,3); p3=polyfit(x,y,4); x2 = 1:0.05:5; y1 = polyval(p1,x2); y2 = polyval(p2,x2); y3 = polyval(p3,x2); plot(x,y,'o',x2,y1,x2,y2,x2,y3);

grid; axis ([1,5,1,20]); M(15+k) = getframe; end; movie(m,6);

4. Interpolace V Matlabu existují dvě skupiny interpolačních metod, jedna je založená na polynomech, druhá na Fourierově transformaci 4.1 Interpolace polynomem Jednorozměrná interpolace metoda interp1 yi = interp1(x,y,xi,method), kde x data, x-ova osa y příslušné hodnoty pro x data method řetězec který určuje která metoda se použije, nabývá hodnot: nearest Metoda nejbližšího souseda rychlá, nespojitá linear Lineární interpolace sousedících bodů default rychlá, spojitá, není hladká spline Kubický splajn pomalá, paměťově ok cubic Kubická Hermitovská interpolace po částech rychlejší, paměťově náročná Příklad x = 0:10; y = sin(x); xi = 0:.25:10; yi = interp1(x,y,xi); yi2 = interp1(x,y,xi,'spline'); plot(x,y,'o',xi,yi,xi,yi2) Příklad 2 různé metody, chyby interpolace x = 0:10; % body na x ose y = sin(x); % odpovidajici hodnoty sin xi = 0:.25:10; % interpolovane hodnoty yi = interp1(x,y,xi); % default = linear yi1 = interp1(x,y,xi,'nearest'); yi2 = interp1(x,y,xi,'spline'); yi3 = interp1(x,y,xi,'cubic'); subplot(2,1,1) plot(x,y,'ok',xi,yi,xi,yi1,xi,yi2,xi,yi3) legend('data','linear','nearest','spline','cubic'); % vypocet a zobrazeni chyby y_mabyt = sin(xi); % hodnoty sin v danych x souradnicich e0 = y_mabyt - yi; e1 = y_mabyt - yi1; e2 = y_mabyt - yi2; e3 = y_mabyt - yi3; subplot(2,1,2) plot(xi,e0,xi,e1,xi,e2,xi,e3) legend('linear','nearest','spline','cubic');

4.2 Interpolace pomocí Fourierovy transformace Spočívá ve výpočtu FT pro daná data a výpočet zpětné (inverzní) FT pro více bodů. y = interpft(x,n) kde x je vektor hodnot periodické funkce (v rovnoměrně vzdálených bodech) a n je počet bodů které má funkce vrátit. Pozn. Tohle mi není moc jasny.

4.3 Dvourozměrná interpolace Používá se polynomická interpolace. Obecný tvar funkce je: ZI = interp2(x,y,z,xi,yi,method) Kde Z je matice hodnot pro X a Y (původní, která se má interpolovat) a XI a YI jsou matice obsahující body, ve kterých se má interpolace provádět. Pro XI a YI využijeme metodu meshgrid. Parametr method nabývá hodnot: nearest, bilinear, bicubic Příklad: [X,Y] = meshgrid(-3:.25:3); % kde jsou puvodni body Z = peaks(x,y); % generovani původních dat [XI,YI] = meshgrid(-3:.125:3); % kde se ma interpolovat ZI = interp2(x,y,z,xi,yi); % interpolace, použita default metoda mesh(x,y,z), hold, mesh(xi,yi,zi+15) % vykresleni hold off axis([-3 3-3 3-5 20]) Porovnání metod: % stejná data jako v předchozím příkladu ale s horším rozlišením [x,y] = meshgrid(-3:1:3); z = peaks(x,y); surf(x,y,z) % generování jemné sítě pro interpolaci [xi,yi] = meshgrid(-3:0.25:3); % Jednotlivé metody zi1 = interp2(x,y,z,xi,yi,'nearest'); zi2 = interp2(x,y,z,xi,yi,'bilinear'); zi3 = interp2(x,y,z,xi,yi,'bicubic'); % Porovnání metod pomocí povrchových a konturových grafů subplot(3,2,1); surf(xi,yi,zi1) title('nearest'); subplot(3,2,2); contour(xi,yi,zi1) title('nearest'); subplot(3,2,3); surf(xi,yi,zi2) title('bilinear'); subplot(3,2,4); contour (xi,yi,zi2)

title('bilinear'); subplot(3,2,5); surf(xi,yi,zi3) title('bicubic'); subplot(3,2,6); contour (xi,yi,zi3) title('bicubic'); 4.4 Interpolace vyšších rozměrů Obdobně jako u interp2, existuje funkce interp3 a interpn. 4.5 Ostatní Matlab obsahuje celou řadu dalších nástrojů spojených s interpolací, např. Delaunayova triangulace, Voronoiovy diagramy, atd. Konvexní obálka (convex hull) - nejmenší konvexní množina která zahrnuje dané body gumička přes všechny body Příkaz: convhull(x,y) Příklad xx = -1:.05:1; yy = abs(sqrt(xx)); [x,y] = pol2cart(xx,yy); k = convhull(x,y); plot(x(k),y(k),'r-',x,y,'b+') Další příklad data seamount výška podmořského terénu v daných souřadnicích load seamount plot(x,y,'.','markersize',10) k = convhull(x,y); hold on plot(x(k),y(k),'-r') hold off

Delaunayova triangulace Pro danou množinu bodů je delaunayova triangulace kupa trojúhelníků, kdy kružnice opsaná neobsahuje žádný z bodů (vymyšleno Borisem Delaunayem v roce 1934 ). Příkaz: tri = delaunay(x,y) - vraci trojice (vrcholy trojúhelníků jako indexy bodů v x a y) Vykreslení: příkaz triplot(tri,x,y) je možno i jako plochu pomocí trimesh(tri,x,y,z) nebo trisurf() Příklad: load seamount plot(x,y,'.','markersize',12) xlabel('longitude'), ylabel('latitude') tri = delaunay(x,y); % vlastni triangulace hold on triplot(tri,x,y) hold off figure % 3D zobrazeni pomoci trimesh hidden on trimesh(tri,x,y,z) xlabel('longitude'); ylabel('latitude'); zlabel('hloubka ve stopach') figure % povrch pomoci trisurf h = trisurf(tri,x,y,z) % vylepseni vzhledu... light('position',[-2,2,20]) lighting phong shading interp material([0.4,0.6,0.5,30]); set(h,'facecolor',[0.7 0.7 0],'BackFaceLighting','lit') shading interp xlabel('longitude'); ylabel('latitude'); zlabel('hloubka ve stopach')

Srovnání Delaunayovi triangulace a Voronoyových diagramů Voronoyovi diagramy rozdělím plochu, která obsahuje n bodů tak, aby jednotlivá políčka obsahovala pouze jeden bod a to tak že všechny body oblasti jsou blíže danému bodu (kolem kterého oblast je) než libovolnému dalšímu bodu. Příkaz: voronoi(x,y), nebo voronoi(x,y,tri) kde TRI je delaunayova triangulace rand('state',0); % nastaveni random generatoru x = rand(1,10); % nahodna data y = rand(1,10); TRI = delaunay(x,y); % delaunay subplot(1,2,1) triplot(tri,x,y) axis([0 1 0 1]); hold on; plot(x,y,'or'); hold off [vx, vy] = voronoi(x,y,tri); % voronoy pro ta stejna data subplot(1,2,2) plot(x,y,'r+',vx,vy,'b-') axis([0 1 0 1]) 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 0.5 1 0 0 0.5 1