Poročilo za projekt pri predmetu Matematično modeliranje

Opis problema

Narisati želimo graf polinoma. Pri tem si pomagamo ...

Rešitev

Graf funkcije

Graf funkcije \(f\) je množica točk v ravnini, pri katerih je \(y\) koordianta enaka vrednosti funkcije v koordinati \(x\) (glej (Tomšič 2004)). Točke na grafu \(f\) so torej oblike \((x,f(x))\).

Na danem intervalu lahko graf funkcije narišemo tako, da izračunamo dovolj točk, ki so na grafu in sosednje točke povežemo z daljicami. Točke na grafu dobimo tako, da izberemo zaporedje ekvidistančnih vrednosti koordinate \(x\) na izbranem intervalu \([a,b]\): \[a=x_0<x_1<x_2<\ldots <x_{n-1}<x_n=b\] Za vsak izbran \(x_i\) izračunamo vrednost \(y\) koordinate kot vrednost funkcije \(f\) v \(x_i\) \[y_i=f(x_i).\]

Vrednosti polinoma

Vrednosti polinoma, ki je podan v obliki \[p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_1x+a_0\] najbolj učinkovito računamo s Hornerjevim algoritmom (Wikipedia 2015), ki ga v kompaktni obliki lahko zapišemo kot forumlo: \[\label{eqn:horner} p(x)= a_0 +x(a_1+x(a_2+\ldots +x(a_{n-1}+xa_n))\ldots ).\] Formulo (\ref{eqn:horner}) lahko prepišemo v rekurzivno enačbo

\[\begin{aligned} \label{eqn:rechorner} p_0&=a_n\\ p_i&= a_{n-i} + x p_{i-1}\end{aligned}\]

in po \(n\) korakih dobimo vrednost polinoma \(p_n=p(x)\). Rekurzivno zaporedje (\ref{eqn:rechorner}) bomo uporabili v naši implementaciji.

Program

Program za izris smo napisali v programskem jeziku octave. Za računaje vrednosti polinoma uporabimo Hornerjev algoritem v obliki rekurzivne formule (\ref{eqn:rechorner}) function risi(p,a,b) t=linspace(a,b); y = p(1); for i=1:(length(p)-1) y = p(i+1) + x*y; end plot(t,y) end

Rezultati in primeri

Primer polinoma \(x^2+1\). p=[1 0 1]; % koeficineti polinoma risi(p,-2,2);