<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>http://www.kiwiki.info/index.php?action=history&amp;feed=atom&amp;title=Algoritmy_interpol%C3%A1cie</id>
	<title>Algoritmy interpolácie - História úprav</title>
	<link rel="self" type="application/atom+xml" href="http://www.kiwiki.info/index.php?action=history&amp;feed=atom&amp;title=Algoritmy_interpol%C3%A1cie"/>
	<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Algoritmy_interpol%C3%A1cie&amp;action=history"/>
	<updated>2026-05-03T19:31:49Z</updated>
	<subtitle>História úprav pre túto stránku na wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Algoritmy_interpol%C3%A1cie&amp;diff=6659&amp;oldid=prev</id>
		<title>Juraj na 20:20, 16. august 2010</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Algoritmy_interpol%C3%A1cie&amp;diff=6659&amp;oldid=prev"/>
		<updated>2010-08-16T20:20:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sk&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Staršia verzia&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Verzia zo dňa a času 20:20, 16. august 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Riadok 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategória:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Študijné materiály]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategória:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Numerické algoritmy&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Kategória:Programovanie]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Kategória:Informatika&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Draft}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Draft}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Skripta programovanie}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Skripta programovanie}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Juraj</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Algoritmy_interpol%C3%A1cie&amp;diff=3750&amp;oldid=prev</id>
		<title>Juraj na 19:05, 17. apríl 2010</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Algoritmy_interpol%C3%A1cie&amp;diff=3750&amp;oldid=prev"/>
		<updated>2010-04-17T19:05:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sk&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Staršia verzia&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Verzia zo dňa a času 19:05, 17. apríl 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot; &gt;Riadok 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Majme množinu n+1 vstupných bodov (''x''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;,''y''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;) kde žiadne dve hodnoty ''x''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;  nie sú rovnaké. Hľadáme polynóm ''p'' stupňa najviac ''n'', pre ktorý platí:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Majme množinu n+1 vstupných bodov (''x''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;,''y''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;) kde žiadne dve hodnoty ''x''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;  nie sú rovnaké. Hľadáme polynóm ''p'' stupňa najviac ''n'', pre ktorý platí:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:&amp;lt;math&amp;gt;p(x_i) = y_i,\;  i=0,\ldots,n.&amp;lt;/math&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:&amp;lt;math&amp;gt;p(x_i) = y_i,\;  i=0,\ldots,n.&amp;lt;/math&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;__TOC__&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{Cvicenie|Algoritmy numerickej interpolácie (riešené príklady)}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Lagrangeov interpolačný polynóm==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Lagrangeov interpolačný polynóm==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Juraj</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Algoritmy_interpol%C3%A1cie&amp;diff=3726&amp;oldid=prev</id>
		<title>Juraj: Vytvorená stránka „Kategória:Študijné materiály Kategória:Programovanie Kategória:Informatika {{Draft}} {{Skripta programovanie}}  [[Súbor:polynomicka_iterpolacia.png|thumb…“</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Algoritmy_interpol%C3%A1cie&amp;diff=3726&amp;oldid=prev"/>
		<updated>2010-04-12T18:54:32Z</updated>

		<summary type="html">&lt;p&gt;Vytvorená stránka „&lt;a href=&quot;/index.php/Kateg%C3%B3ria:%C5%A0tudijn%C3%A9_materi%C3%A1ly&quot; title=&quot;Kategória:Študijné materiály&quot;&gt;Kategória:Študijné materiály&lt;/a&gt; &lt;a href=&quot;/index.php/Kateg%C3%B3ria:Programovanie&quot; title=&quot;Kategória:Programovanie&quot;&gt;Kategória:Programovanie&lt;/a&gt; &lt;a href=&quot;/index.php/Kateg%C3%B3ria:Informatika&quot; title=&quot;Kategória:Informatika&quot;&gt;Kategória:Informatika&lt;/a&gt; {{Draft}} {{Skripta programovanie}}  [[Súbor:polynomicka_iterpolacia.png|thumb…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Programovanie]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Draft}}&lt;br /&gt;
{{Skripta programovanie}}&lt;br /&gt;
&lt;br /&gt;
[[Súbor:polynomicka_iterpolacia.png|thumb|left|Červené body označujú vstupné dáta (xk,yk), modrá krivka je interpolačný polynóm]]&lt;br /&gt;
&lt;br /&gt;
Polynomická interpolácia je metóda&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Polynomial_interpolation&amp;lt;/ref&amp;gt;, pri ktorej definujeme polynóm, ktorý obsahuje všetky vstupné uzlové body.&lt;br /&gt;
&lt;br /&gt;
Majme množinu n+1 vstupných bodov (''x''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;,''y''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;) kde žiadne dve hodnoty ''x''&amp;lt;sub&amp;gt;''i''&amp;lt;/sub&amp;gt;  nie sú rovnaké. Hľadáme polynóm ''p'' stupňa najviac ''n'', pre ktorý platí:&lt;br /&gt;
:&amp;lt;math&amp;gt;p(x_i) = y_i,\;  i=0,\ldots,n.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lagrangeov interpolačný polynóm==&lt;br /&gt;
&lt;br /&gt;
Lagrangeov polynóm&amp;lt;ref&amp;gt;http://sk.wikipedia.org/wiki/Lagrangeov_polyn%C3%B3m&amp;lt;/ref&amp;gt;, pomenovaný podľa Josepha Louisa Lagrangea, je v numerickej matematike interpolujúci  polynóm pre danú množinu  bodov v Lagrangeovom tvare. &lt;br /&gt;
&lt;br /&gt;
''Je povšimnutia hodné, že pre danú množinu bodov existuje len jeden polynóm (najmenšieho možného stupňa), ktorý interpoluje dané body. Preto je správnejšie o Lagrangeovom polynóme hovoriť ako o Lagrangeovom tvare interpolujúceho polynómu, než o Lagrangeovom interpolujúcom polynóme.''&lt;br /&gt;
&lt;br /&gt;
===Definícia===&lt;br /&gt;
Nech je daná množina ''n''&amp;amp;nbsp;+&amp;amp;nbsp;1 bodov&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(x_0, y_0),\ldots,(x_j, y_j),\ldots,(x_n, y_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kde žiadne dve hodnoty &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt; nie sú rovnaké. Potom '''interpolujúci polynóm v Lagrangeovom tvare''' pre túto množinu bodov je lineárna kombinácia&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;L(x) := \sum_{j=0}^{n} y_j \ell_j(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lagrangeových bázických polynómov&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\ell_j(x) := \prod_{i=0,\, i\neq j}^{n} \frac{x-x_i}{x_j-x_i} = \frac{(x-x_0)}{(x_j-x_0)} \cdots \frac{(x-x_{j-1})}{(x_j-x_{j-1})} \frac{(x-x_{j+1})}{(x_j-x_{j+1})} \cdots \frac{(x-x_{n})}{(x_j-x_{n})}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je povšimnutia hodné, že za predpokladu, že žiadne dve hodnoty &amp;lt;math&amp;gt;x_i&amp;lt;/math&amp;gt; nie sú rovnaké (a to ani nemôžu byť, keďže by daná úloha nedávala zmysel), platí &amp;lt;math&amp;gt;x_j - x_i \neq 0&amp;lt;/math&amp;gt;, čiže daný výraz je vždy dobre definovaný.&lt;br /&gt;
&lt;br /&gt;
'''Grafická reprezentácia'''&lt;br /&gt;
[[Obrázok:Lagrange polynomial.svg|thumb|Grafická reprezentácia Lagrangeovho polynómu]]&lt;br /&gt;
&lt;br /&gt;
Na obrázku je kubický Lagrangeov interpolujúci polynóm &amp;lt;font color=#000000&amp;gt;''L''(''x'')&amp;lt;/font&amp;gt; (zobrazený čiernou farbou) pre body &amp;lt;font color=#b30000&amp;gt;(&amp;amp;minus;9,&amp;amp;nbsp;5)&amp;lt;/font&amp;gt;, &amp;lt;font color=#0000b3&amp;gt;(&amp;amp;minus;4,&amp;amp;nbsp;2)&amp;lt;/font&amp;gt;, &amp;lt;font color=#00b300&amp;gt;(&amp;amp;minus;1,&amp;amp;nbsp;&amp;amp;minus;2)&amp;lt;/font&amp;gt; a &amp;lt;font color=#b3b300&amp;gt;(7,&amp;amp;nbsp;9)&amp;lt;/font&amp;gt;. Tento polynóm je súčtom konštantných faktorov bázických polynómov &amp;lt;font color=#b30000&amp;gt;y&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''ℓ''&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;(''x'')&amp;lt;/font&amp;gt;, &amp;lt;font color=#0000b3&amp;gt;y&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''ℓ''&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;(''x'')&amp;lt;/font&amp;gt;, &amp;lt;font color=#00b300&amp;gt;y&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''ℓ''&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;(''x'')&amp;lt;/font&amp;gt; a &amp;lt;font color=#b3b300&amp;gt;y&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;''ℓ''&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;(''x'')&amp;lt;/font&amp;gt;. Interpolujúci polynóm prechádza cez všetky štyri body, každý z bázických polynómov prechádza jedným z daných bodov a na ''x''-ových súradniciach daných ostatnými bodmi má hodnotu 0.&lt;br /&gt;
&lt;br /&gt;
===Implementácia v jazyku C===&lt;br /&gt;
'''Návrh vhodnej dátovej štruktúry'''&lt;br /&gt;
&lt;br /&gt;
Pre reprezentáciu vstupných uzlových bodov si vytvorme štruktúru ''Bod'':&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
struct Bod{&lt;br /&gt;
  double x,y;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
kde ''x'' a ''y'' predstavujú x-ovú a y-ovú súradnicu bodu v rovine. Na reprezentáciu všetkých vstupných bodov si vytvorme pole štruktúr typu Bod o veľkosti ''n'' (''n'' je počet vstupných uzlových bodov).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
  Bod *body=new Bod[n];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
struct Bod{&lt;br /&gt;
  double x,y;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
double LagrangeInterpol(Bod *data, int n, double x)&lt;br /&gt;
{  double lag,lag_pol=0;&lt;br /&gt;
	int j,i;&lt;br /&gt;
	for(j=0;j&amp;lt;n;j++)&lt;br /&gt;
	{	lag=1.0;&lt;br /&gt;
		for(i=0;i&amp;lt;n;i++)&lt;br /&gt;
		{   if(i==j) continue;&lt;br /&gt;
		    lag*=(x-data[i].x) / (data[j].x-data[i].x) ;&lt;br /&gt;
		}&lt;br /&gt;
		lag_pol+= data[j].y*lag;&lt;br /&gt;
	}&lt;br /&gt;
	return lag_pol;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{  int n,i;&lt;br /&gt;
   Bod *body,A;&lt;br /&gt;
   cin&amp;gt;&amp;gt;n;&lt;br /&gt;
   body=new Bod[n];&lt;br /&gt;
   for(i=0;i&amp;lt;n;i++)&lt;br /&gt;
	{  cin&amp;gt;&amp;gt;body[i].x; // x-ova suradnica&lt;br /&gt;
  	   cin&amp;gt;&amp;gt;body[i].y; // y-ova suradnica&lt;br /&gt;
	}&lt;br /&gt;
   cout&amp;lt;&amp;lt;&amp;quot;zadaj bod zaujmu&amp;quot;;	&lt;br /&gt;
   cin&amp;gt;&amp;gt;A.x;&lt;br /&gt;
   A.y=LagrangeInterpol(body,n,A.x);&lt;br /&gt;
   cout&amp;lt;&amp;lt;&amp;quot;Hodnota funkcie v bode&amp;quot;&amp;lt;&amp;lt; A.x&amp;lt;&amp;lt;&amp;quot; = &amp;quot;&amp;lt;&amp;lt; A.y&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Newtonov interpolačný polynóm==&lt;br /&gt;
===Definícia===&lt;br /&gt;
Nech je daná množina ''n''&amp;amp;nbsp;+&amp;amp;nbsp;1 bodov&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(x_0, y_0),\ldots,(x_j, y_j),\ldots,(x_n, y_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kde žiadne dve hodnoty &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt; nie sú rovnaké. Potom '''interpolujúci polynóm v Newtonovom tvare''' pre túto množinu bodov je lineárna kombinácia&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;N(x) := \sum_{j=0}^{n} a_{j} n_{j}(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Newtonových bázických polynómov'''  definovaných ako&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;n_j(x) := \prod_{i=0}^{j-1} (x - x_i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a koeficienty a&amp;lt;sub&amp;gt;j&amp;lt;/sub&amp;gt; sú definované ako:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;a_j := [y_0,\ldots,y_j]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kde&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[y_0,\ldots,y_j]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
je zápis rozdielových diferencií.&lt;br /&gt;
&lt;br /&gt;
'''Newtonov polynóm''' môžeme zapísať ako&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;N(x) = [y_0] + [y_0,y_1](x-x_0) + \cdots + [y_0,\ldots,y_k](x-x_0)(x-x_1)\cdots(x-x_{k-1}).&amp;lt;/math&amp;gt;&lt;br /&gt;
alebo&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
  &amp;amp; N\left( x \right)={{f}_{0}}+\sum\limits_{j=1}^{n}{{{n}_{j-1}}\left( x \right)\left[ {{x}_{0}},{{x}_{1}},...,{{x}_{j}} \right]} \\ &lt;br /&gt;
 &amp;amp; {{n}_{j}}\left( x \right)=\prod\limits_{i=0}^{j}{\left( x-{{x}_{i}} \right)} \\ &lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rozdielové diferencie''' môžeme vyjadriť nasledovne:&lt;br /&gt;
&lt;br /&gt;
Rozdielová diferencie &amp;lt;math&amp;gt;f\left[ {{x}_{0}},{{x}_{1}},{{x}_{2}},...,{{x}_{n}} \right]&amp;lt;/math&amp;gt;, označované aj ako &amp;lt;math&amp;gt;\left[ {{x}_{0}},{{x}_{1}},{{x}_{2}},...,{{x}_{n}} \right]&amp;lt;/math&amp;gt;  vypočítaná z n+1 bodov &amp;lt;math&amp;gt;x_0, x_1, ..., x_n&amp;lt;/math&amp;gt; funkcie ''f(x)'' je definovaná nasledovne:&lt;br /&gt;
:&amp;lt;math&amp;gt;f\left[ {{x}_{0}} \right]\equiv f\left( {{x}_{0}} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;f\left[ {{x}_{0}},{{x}_{1}},...,{{x}_{n}} \right]=\frac{f\left[ {{x}_{0}},...,{{x}_{n-1}} \right]-f\left[ {{x}_{1}},{{x}_{2}},...,{{x}_{n}} \right]}{{{x}_{0}}-{{x}_{n}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pre n&amp;gt;=1. &lt;br /&gt;
&lt;br /&gt;
Prvé dve diferencie sú nasledovné: &lt;br /&gt;
:&amp;lt;math&amp;gt;f\left[ {{x}_{0}},{{x}_{1}} \right]=\frac{f\left( {{x}_{0}} \right)-f\left( {{x}_{1}} \right)}{{{x}_{0}}-{{x}_{1}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;f\left[ {{x}_{0}},{{x}_{1}},{{x}_{2}} \right]=\frac{f\left[ {{x}_{0}},{{x}_{1}} \right]-f\left[ {{x}_{1}},{{x}_{2}} \right]}{{{x}_{0}}-{{x}_{2}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Implementácia v jazyku C===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
struct Bod{&lt;br /&gt;
  double x,y;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
double n_k(Bod *data,int j, double x)&lt;br /&gt;
{&lt;br /&gt;
 double n_j=1;&lt;br /&gt;
 for(int i=0;i&amp;lt;j;i++)&lt;br /&gt;
    n_j*=(x-data[i].x);&lt;br /&gt;
 return n_j;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
double NewtonPol(Bod *data, int n,double x)&lt;br /&gt;
{&lt;br /&gt;
    double val=0;&lt;br /&gt;
    double *koef=new double[n];&lt;br /&gt;
    for(int i=0;i&amp;lt;n;i++)&lt;br /&gt;
      koef[i]=data[i].y;&lt;br /&gt;
      &lt;br /&gt;
   for(int j=0;j&amp;lt;n-1;j++) &lt;br /&gt;
   {  for(int i=n-1;i&amp;gt;j;i--)&lt;br /&gt;
        koef[i]=(koef[i]-koef[i-1])/(data[i].x-data[i-j-1].x);&lt;br /&gt;
   }&lt;br /&gt;
   for(int i=0;i&amp;lt;n;i++)&lt;br /&gt;
      val+=koef[i]*n_k(data,i,x);&lt;br /&gt;
      &lt;br /&gt;
   delete koef;&lt;br /&gt;
   return val;  &lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{  int n,i;&lt;br /&gt;
    Bod *body,A;&lt;br /&gt;
    ifstream in;&lt;br /&gt;
    in.open(&amp;quot;body.txt&amp;quot;);&lt;br /&gt;
   in&amp;gt;&amp;gt;n;&lt;br /&gt;
   body=new Bod[n];&lt;br /&gt;
   &lt;br /&gt;
   for(i=0;i&amp;lt;n;i++)&lt;br /&gt;
    {  in&amp;gt;&amp;gt;body[i].x; // x-ova suradnica&lt;br /&gt;
       in&amp;gt;&amp;gt;body[i].y; // y-ova suradnica&lt;br /&gt;
    }&lt;br /&gt;
   A.x=1.5;&lt;br /&gt;
   A.y=NewtonPol(body,n,A.x);&lt;br /&gt;
   cout&amp;lt;&amp;lt;&amp;quot;V bode &amp;quot;&amp;lt;&amp;lt;A.x&amp;lt;&amp;lt;&amp;quot; ma Netonov iterpolacny polynom hodnotu &amp;quot;&amp;lt;&amp;lt;A.y;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Zdroje a odkazy==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
*http://www.math.chytrak.cz/math/polynomy/lagrange.php&lt;br /&gt;
*http://mathworld.wolfram.com/DividedDifference.html&lt;/div&gt;</summary>
		<author><name>Juraj</name></author>
		
	</entry>
</feed>