Racionalna interpolacijska funkcija

Ko tudi učitelj ne more pomagati...
Odgovori
Večna študentka
Prispevkov: 21
Pridružen: 11.4.2015 12:24

Racionalna interpolacijska funkcija

Odgovor Napisal/-a Večna študentka »

Lep pozdrav!

Učim se interpolacijo funkcij (predmet numerične metode) in pridem do problema v eni nalogi, ko ne vem kako odreagirati naprej. Malo sem že iz prakse, ker se že kakih 5 let nisem pritaknila nič za študij. :oops: No, bolje pozno kot nikoli, želim razumeti za kaj gre. Naloga je sicer mišljena za Matlab, samo najprej moram razumeti sploh. :)

Določit je potrebno interpolacijsko racionalno funkcijo \(R_{n,m}(x) = \frac{P_n(x)}{Q_m(x)}\) za funkcijo \(f(x)\) na intervalu \([a,b]\) v izbranih interpolacijskih točkah \(x_i \in [a,b]\) za \(i = 0, 1, ..., n+m\), tako, da izračunam sistem enačb:
  • \(P_n(x_i) - f(x_i)Q_m(x_i) = 0\) za \(i = 0, 1, ... n+m\).
Pri tem upoštevam, da je:
  • \(P_n(x) = a_0 + a_1x + a_2x^2 + ... + a_nx^n\)
  • \(Q_m(x) = b_0 + b_1x + b_2x^2 + ... + b_mx^m\)
  • \(r = n + m\)
Podatki:
\(f(x) = tan(x), x \in [0,\frac{\pi}{2}]\)

Za interpolacijske točke pa moram narediti:
a) ekvidistantne točke: \(x_i = a + i(\frac{b-a}{r})\) za \(i = 0, 1, ..., r\)

Da ne delam na prevelikih stopnjah polinomov sem si zbrala \(n = 1\) in \(m = 1\), zato je tudi \(r = 2\).
OK, mislim, da sem pri primeru a) prav razmišljala do tu...(vstavila sem a,b in i v formulco za ekvidistantne tč. \(a = 0, b = \pi/2\))
  • \(x_0 = 0\)
  • \(x_1 = \frac{\pi}{4}\)
  • \(x_2 = \frac{\pi}{2}\)
Zdaj pa se zaplete, ko želim dobit enačbe.

Iz prve enačbe \(P_1(x_0) - f(x_0)Q_1(x_0) = 0\) dobim, da je \(a_0 = 0\), ker \(0 - 0*1 = 0\). Druga interpolacijska točka je \(x_1 = \frac{\pi}{4}\) in \(tan(\frac{\pi}{4}) = 1\). Ok, torej lahko še nekaj zračunam. Ker je \(a_0 = 0\), ga ne upoštevam v naslednji enačbi in, če malo premečem zadeve, izrazim \(a_1 = \frac{\pi}{4}+b_1\).

V tretji enačbi pa nič ne morem naredit, ker je \(tan(\frac{\pi}{2}) = \infty\) :| :|

Torej, kje sem zgrešila point? Ker tudi, če ni rešitve za \(R_{1,1}(x)\), jo verjetno ni tudi za \(R_{0,2}(x)\) in \(R_{2,0}(x)\), ker še vedno me moti \(tan(\frac{\pi}{2}) = \infty\).

Ima kdo kakšno idejo morda kako bi izračunala koeficiente polinomov \(P_n(x)\) in \(Q_m(x)\) ? Kakršen koli napotek bi bil več kot dobrodošel. :)

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a shrink »

Tangens v \(x=\frac{\pi}{2}\) ni definiran (ima pol), zato moraš za \(b\) vzeti \(x=\frac{\pi}{2}-\delta\), kjer je \(\delta > 0\) (neko majhno pozitivno število).

Večna študentka
Prispevkov: 21
Pridružen: 11.4.2015 12:24

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a Večna študentka »

shrink, hvala za hiter odgovor.

Upoštevala sem nasvet in sem b zmanjšala za \(\delta = \frac{\pi}{18}\)

Zdaj se mi pa tudi interpolacijske točke spremenijo, da še vedno ekvidistantnost velja:
  • \(x_0 = 0\)
  • \(x_1 = \frac{2\pi}{9}\)
  • \(x_2 = \frac{4\pi}{9}\)
zato se spremenijo tudi enačbe in sicer nekaj dobim, samo, ko vstavim te koeficiente v Mathematico, da mi zriše funkcijo poleg \(tan(x)\) pa ne vidim, da bi bila to sploh kakšna aproksimacija.

Če izračunam numerično na par decimalk dobim \(a_0 = 0, a_1 \doteq 9.7449, b_1 \doteq -2.5235\)

Torej, moja \(R_{n,m}(x)\) naj bi bila \(\frac{9.7449x}{1-2.5235x}\)

Ampak slika pa je takšna :|
tanx.png
A ni point interpolacijskega polinoma, da najdem takšnega, ki najbolj aproksimira dano funkcijo na nekem intervalu? Se pravi bi moja nova funkcija mogla sekat v toliko točkah kot je interpolacijskih točk, kajne? Kje sem ga polomila spet? :(

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a shrink »

Dva koeficienta sta napačno izračunana; pravilni vrednosti sta:

\(a_1\approx 0.705317\)

\(b_1\approx -0.591831\)

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a shrink »

P.S. Izbrana interpolacijska racionalna funkcija ima pol v \(x=-\frac{1}{b_1}\). Pri interpolaciji tangensa je ta tem bližje \(\pi\over 2\), čim manjši je izbrani \(\delta\). Lahko pa seveda fiksiramo \(\frac{\pi}{2}=-\frac{1}{b_1}\), kar je ekvivalentno: \(Q(x_2)=0\), če je \(x_2=\frac{\pi}{2}\). Če eno od enačb v sistemu nadomestimo na ta način, interpolacijska funkcija natančno opisuje obnašanje interpolirane funkcije v polu.

Večna študentka
Prispevkov: 21
Pridružen: 11.4.2015 12:24

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a Večna študentka »

shrink ful ti hvala za pomoč!!

Za hec sem naredila za \(x_i \in [0,\frac{\pi}{4}]\) za \(f(x) = tan(x)\)

in mi je prišel tak graf (da ne pišem vseh izračunov) pri izračunanih koeficientih \(a_0 = 0, a_1 \doteq 0,67, b \doteq -0.95\) in tu mi je očitno, da se grafa pokrivata in, da je izračun ok.
tanx2.png
Torej ja, zafrknem pri izbiri \(\delta\), ker je čist prevelik in pola preveč odstopata en od drugega.
shrink napisal/-a:P.S. Izbrana interpolacijska racionalna funkcija ima pol v \(x=-\frac{1}{b_1}\). Pri interpolaciji tangensa je ta tem bližje \(\pi\over 2\), čim manjši je izbrani \(\delta\). Lahko pa seveda fiksiramo \(\frac{\pi}{2}=-\frac{1}{b_1}\), kar je ekvivalentno: \(Q(x_2)=0\), če je \(x_2=\frac{\pi}{2}\). Če eno od enačb v sistemu nadomestimo na ta način, interpolacijska funkcija natančno opisuje obnašanje interpolirane funkcije v polu.
Tole ja ^^

Nč, grem se učit :)

Večna študentka
Prispevkov: 21
Pridružen: 11.4.2015 12:24

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a Večna študentka »

Zdaj sem naredila takole, da sem si za \(\delta\) zbrala:

\(\delta = 0,00000963267\), ampak, ker je kar majhen, sem si dovolila, da ga ignoriram pri vseh izračunih razen pri \(tan(x_2)\).

Tako sem si nastavila potem enačbe:
  • \(a_0 = 0\)
  • \(\frac{\pi}{4}a_1 - tan(\frac{\pi}{4})(1 + \frac{\pi}{4}b_1) = 0 \Rightarrow a_1 = \frac{4+\pi b_1}{\pi}\)
  • \(\frac{\pi}{2}\frac{4+\pi b_1}{\pi} - tan(\frac{\pi}{2}-\delta)(1 + \frac{\pi}{2}b_1) = 0 \Rightarrow b_1 = \frac{2}{\pi} \frac{tan(\frac{\pi}{2}-\delta)-\frac{2}{\pi}}{1-tan(\frac{\pi}{2}-\delta)} \doteq -0,6366\), od tod potem sledi, da \(a_1 \doteq 0,6366\)
In je moja funkcija potem taka

\(R_{n,m} = \frac{0,6366x}{1-0,6366x}\)

Slika pa je taka:
tanx3.png
Tole mi zdaj deluje pravilno. Funkciji se sekata v dveh točkah, ki ju vidimo, tretja pa je itak tam nekje gor visoko. Ampak niso pa zajeti tisti x-i od \(\frac{\pi}{2}-\delta\) naprej. Al to ne igra nobene vloge več? :)

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a shrink »

Interpolacijska krivulja se s funkcijsko krivuljo itak ujema le v interpolacijskih točkah (v tvojem primeru v treh: \(x=0\), \(x=\frac{\pi /2-\delta}{2}\) in \(x=\pi /2-\delta\)), v ostalih pa več ali manj odstopata.

Če želiš, da se ujemata v polu, narediš tako, kot sem svetoval - za \(x_2=\frac{\pi}{2}\) uporabiš enačbo:
\(Q_1(x_2)=0\). Ta izhaja iz osnovne enačbe, če v njej vidiš : \(Q_1(x_2)=\frac{P_1(x_2)}{f(x_2)}\to 0\), če \(f(x_2)\to\infty\). Tako dobiš:

\(\displaystyle R_{1,1}(x)=\frac{\frac{2}{\pi}x}{1-\frac{2}{\pi}x}\).

Večna študentka
Prispevkov: 21
Pridružen: 11.4.2015 12:24

Re: Racionalna interpolacijska funkcija

Odgovor Napisal/-a Večna študentka »

shrink napisal/-a:Če želiš, da se ujemata v polu, narediš tako, kot sem svetoval - za \(x_2=\frac{\pi}{2}\) uporabiš enačbo:
\(Q_1(x_2)=0\). Ta izhaja iz osnovne enačbe, če v njej vidiš : \(Q_1(x_2)=\frac{P_1(x_2)}{f(x_2)}\to 0\), če \(f(x_2)\to\infty\). Tako dobiš:

\(\displaystyle R_{1,1}(x)=\frac{\frac{2}{\pi}x}{1-\frac{2}{\pi}x}\).
Ajaaaaaaaa, seveda. :D Jasno. Najlepša ti hvala shrink! Legenda si!

Odgovori