METODE DE APROXIMARE NUMERICĂ A FUNCŢIILOR 1. Punerea problemei Apare în multe situaţii din ştiinţă şi tehnică în general şi din domeniile automatică, informatică şi calculatoare în particular. În aceste domenii apar aplicaţii în care nu se cunoaşte expresia analitică a funcţiei care trebuie aproximată, ci doar valorile ei într-un anumit număr de puncte (obţinute pe cale analitică sau experimentală), interesând obţinerea aproximativă a valorilor corespunzătoare altor puncte + Prezintă interes şi determinarea acelor puncte corespunzătoare unor valori date (de exemplu, zero) ale funcţiei. În cazul general al problemei aproximării numerice a funcţiilor, se consideră o funcţie f: [a, b] → R . (1.1) Se cere determinarea unei alte funcţii g: [a, b] → R , (1.2)
21
Embed
METODE DE APROXIMARE NUMERICĂ A FUNCŢIILOR 1. Punerea ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
METODE DE APROXIMARE NUMERICĂ A
FUNCŢIILOR
1. Punerea problemei
Apare în multe situaţii din ştiinţă şi tehnică în general şi
din domeniile automatică, informatică şi calculatoare în
particular. În aceste domenii apar aplicaţii în care nu se
cunoaşte expresia analitică a funcţiei care trebuie
aproximată, ci doar valorile ei într-un anumit număr de
puncte (obţinute pe cale analitică sau experimentală),
interesând obţinerea aproximativă a valorilor corespunzătoare
altor puncte + Prezintă interes şi determinarea acelor puncte
corespunzătoare unor valori date (de exemplu, zero) ale
funcţiei.
În cazul general al problemei aproximării numerice a
funcţiilor, se consideră o funcţie
f: [a, b] → R . (1.1)
Se cere determinarea unei alte funcţii
g: [a, b] → R , (1.2)
2 Metode de aproximare numerică a funcţiilor
având o expresie relativ simplă, care să aproximeze cât mai
bine funcţia f în intervalul [a, b], adică g(x) să fie cât mai
apropiat de y = f(x), ],[ bax ∈∀ .
Problema apare în următoarele două situaţii posibile:
a) dacă expresia analitică a funcţiei f, y=f(x), este
cunoscută, dar de formă relativ complicată, utilizarea sa
în calcule ulterioare fiind incomodă;
b) dacă expresia analitică a funcţiei f, y=f(x), nu este
cunoscută, ea fiind definită printr-un set de puncte
determinate analitic sau experimental.
Pentru situaţia b), frecvent întâlnită în domeniile
menţionate, se consideră că sunt cunoscute (n+1) puncte
distincte definite de perechile de valori:
(xi, yi = f(xi)) , i = 0 … n . (1.3)
În cazul cel mai general, cele (n+1) puncte distincte pot fi
oarecari în intervalul [a, b]. Însă, în majoritatea aplicaţiilor ele
sunt echidistante, cu pasul de discretizare h > 0, primul şi
ultimul punct corespunzând limitelor intervalului, adică:
1,0,,, 10 −=−==−== + nin
abhxxbxax iin . (1.4)
În situaţiile practice nu este neapărat necesară obţinerea
explicită a funcţiei de aproximare g, fiind suficientă găsirea
1 Punerea problemei 3
valorilor ],[),( baxxg ∈∀ . Dacă valorile lui x pentru care se
aproximează funcţia f aparţin intervalului [a, b], atunci se
utilizează termenul de interpolare pentru problema enunţată,
iar dacă problema se extinde şi în afara intervalului [a, b],
atunci se utilizează termenul de extrapolare. În sens larg:
interpolare pentru ambele situaţii ale problemei.
Pentru obţinerea funcţiilor de aproximare g se utilizează,
de regulă, combinaţii liniare ale unor funcţii de formă simplă
aparţinând unei clase de funcţii { nigi ,0| = }, de forma:
],[),(...)()()( 1100 baxxgaxgaxgaxg nn ∈∀+++= , (1.5)
unde niai ,0, = , sunt coeficienţi reali.
Cele mai utilizate clase de funcţii de aproximare:
a) monoame { nixi ,0, = }, care duc la polinoame de aproximare
de forma: nnn xaxaxaaxPxg ++++== ...)()( 2
210 ; (1.6)
b) funcţii exponenţiale { nie xbi ,0, = }, care duc la funcţii de
aproximare de forma: xb
nxbxbxb neaeaeaeaxg ++++= ...)( 210
210 ; (1.7)
c) funcţii trigonometrice {sin xi, cos xi i = 0 … n}, care duc
la funcţii de aproximare de forma (8):
nn
nn
xbxbxbbxaxaxaaxg
cos...coscos
sin...sinsin)(2
210
2210
+++++
+++++= (1.8)
4 Metode de aproximare numerică a funcţiilor
Observaţie: În relaţiile (1.6) … (1.8) coeficienţii ai,
i=0…n şi bj, j=0…m sunt reali.
În aplicaţii practice de interpolare, pentru alegerea
funcţiei de aproximare este necesară cunoaşterea formei
funcţiei care trebuie aproximată utilizând informaţiile primare
privind problema tehnică din care a fost construit modelul
matematic care include funcţia care trebuie aproximată. Dacă
nu există astfel de informaţii, atunci cel mai des utilizate sunt
polinoamele de interpolare definite de (1.6), cu următoarele
avantaje:
- valorile polinoamelor se pot calcula relativ uşor;
- sumele, diferenţele, produsele de polinoame precum şi
derivarea şi integrarea polinoamelor au ca rezultat
polinoame;
- schimbările de scară şi translaţiile sunt relativ simple,
având ca rezultat polinoamele Pn(ax) şi respectiv Pn(x+a),
cu a ≠ 0;
- teoria aproximării polinoamelor nu ridică probleme
deosebite.
1 Punerea problemei 5
Remember – din teoria aproximării polinoamelor –
teorema de aproximare a lui Weistrass: Dacă funcţia f este
continuă pe [a, b], atunci ∀ ε > 0 există un polinom Pn de grad
n = n(ε) astfel încât ],[,|)()(| baxxPxf n ∈∀<− ε .
Observaţii:
1. Teorema oferă justificarea teoretică a faptului că, în
cazul utilizării polinoamelor de interpolare, eroarea de
aproximare poate fi făcută oricât de mică. Însă, utilitatea
practică a teoremei este relativ redusă datorită modalităţilor de
generare a polinoamelor de aproximare şi, în plus,
necunoaşterii expresiei f(x).
2. Teorema oferă şi suportul teoretic de demonstrare a
faptului că sistemele fuzzy şi reţelele neurale sunt
aproximatori universali.
Sunt tratate funcţiile de aproximare polinomială ! =
metodele de determinare explicită sau implicită a
coeficienţilor polinomului de aproximare P, notat şi cu Pn sau
Pm. Metodele vor putea fi extinse relativ simplu, cu
modificările de rigoare, la alte clase de funcţii.
6 Metode de aproximare numerică a funcţiilor
În cazul aproximării funcţiilor de mai multe variabile,
se pot utiliza metode asemănătoare însă adaptate
corespunzător.
În aplicaţii din domeniile automaticii, calculatoarelor şi
informaticii apare uneori şi necesitatea aproximării inverse,
adică a găsirii valorilor argumentului x corespunzătoare unei
valori date f(x) (în particular, nule).
2. Aproximarea prin interpolare polinomială
Se consideră o funcţie reală f: [a, b] → R, pentru care
sunt cunoscute valorile yi = f(xi) în (n+1) puncte distincte xi,
ni ,0= , din intervalul [a, b], adică perechile de valori:
),();...;,();,();,( 221100 nn yxyxyxyx . (2.1)
În general, punctele pot fi oarecari, dar, de regulă, ele sunt
echidistante, cu pasul de discretizare h:
1,0,,, 10 −=−==−== + nin
abhxxbxax iin . (2.2)
Se cere să se determine polinomul Pn, grad Pn = n, de
forma:
niRabaxxaxaxaaxP in
nn ,0,],,[,...)( 2210 =∈∈∀++++= , (2.3)
2 Aproximarea prin interpolare polinomială 7
care să treacă prin punctele date, deci să verifice condiţiile:
niyxP iin ,0,)( == . (2.4)
Scriind detaliat (2.4) → sistemul liniar (2.5) de (n+1)
ecuatii cu (n+1) necunoscute reprezentate de coeficienţii a0,
a1, a2, … ,an:
=++++
=++++
=++++
=++++
nn
nnnn
nn
nn
nn
yxaxaxaa
yxaxaxaa
yxaxaxaa
yxaxaxaa
...
.............
...
...
2210
222
22210
11212110
002
02010
. (2.5)
Determinantul Δ al matricei sistemului (2.5) este de tip
Vandermonde:
∏>
=
−==∆ji
njiji
nnnn
n
n
xx
xxx
xxxxxx
,0,2
1211
02
00
)(
......1.................
......1
......1
. (2.6)
Punctele nixi ,0, = sunt distincte → 0≠∆ → sistemul (2.5)
este compatibil determinat → polinomul de aproximare prin
interpolare Pn este univoc definit. Metodele de interpolare
se deosebesc între ele prin modul de determinare a acestui
polinom unic sau a unor forme echivalente ale sale.
8 Metode de aproximare numerică a funcţiilor
În cazul majorităţii polinoamelor de interpolare se
operează cu calculul cu diferenţe aplicate mulţimii de puncte
(2.1). Tipuri de diferenţe:
- diferenţele finite directe (“la dreapta” sau “înainte”);
- diferenţele inverse (“la stânga” sau “înapoi”);
- diferenţele simetrice (“centrale”).
Primul tip ! Diferenţele finite directe de ordinul 1,
calculate atât pentru x cât şi pentru y, sunt definite astfel:
1,0,1 −=−=∆ + nixxx iii , (2.7)
1,0,1 −=−=∆ + niyyy iii . (2.8)
Observaţie: ∆xi = h, i = 0 … n–1 pentru puncte
echidistante.
Diferenţele finite directe de ordinul 2 sunt definite:
2,0,)( 12 −=∆−∆=∆∆=∆ + niyyyy iiii . (2.9)
Din (2.8) şi (2.9) → relaţia generală de definire a
diferenţei directe de ordinul k, k = 1 … n:
kniyyy ik
ik
ik −=∆−∆=∆ −
+− ,0,1
11 . (2.10)
În calculele practice se utilizează tabele de diferenţe,
exemplificate pentru cazul n = 3:
2 Aproximarea prin interpolare polinomială 9
x yy 0∆= yy 1∆=∆ y2∆ y3∆
0x 0y 0y∆ 02 y∆ y3∆ 0
1x 1y 1y∆ 12 y∆
2x 2y 2y∆
3x 3y
Diversele polinoame de interpolare se pot scrie mai
simplu dacă se defineşte puterea generalizată de ordinul k,
k = 0, 1, 2, 3, ..., a unei valori numerice x, notată cu ][kx , sub
forma produsului de k factori:
])1()...[3)(2)((][ hkxhxhxhxxx k −−−−−= , (2.11)
cu h – constantă cunoscută.
Observaţii:
1. Pentru 10 ]0[ =⇒= xk .
2. Pentru xxk =⇒= ]1[1 , adică puterea generalizată se
reduce la cea clasică.
Cel mai frecvent utilizate polinoame de interpolare:
- de tip Newton, de speţa 1 şi 2;
- de tip Gauss, de speţa 1 şi 2;
- de tip Stirling;
10 Metode de aproximare numerică a funcţiilor
- de tip Bessel;
- de tip Lagrange.
Polinoamele de interpolare de tip Newton de speţa 1
Enunţul problemei de aproximare prin interpolare –
prezentat anterior - relaţiile (2.1) … (2.3). Polinomul de
interpolare de tip Newton de speţa 1: ][
0]2[
02]1[
010 )(...)()( nnn xxaxxaxxaaP −++−+−+= , (2.12)
fiind necesară determinarea coeficienţilor nkak ,0, = . Pentru
aceasta, se rescriu condiţiile (2.4) sub forma echivalentă:
nkyxP kn
k ,0,)( 00 =∆=∆ . (2.13)
Utilizând (2.2) care exprimă echidistanţa, cu pasul de
discretizare h, a punctelor nixi ,0, = → puterile generalizate
pot fi aduse la forma:
nkxxxxxxxxxx kk ,1),)...()()(()( 1210
][0 =−−−−=− − . (2.14)
Aplicând condiţiile (2.13) pentru k = 0 →
000000
00 )()( yayxPyxP nn =⇔=⇔∆=∆ , (2.15)
→ s-a obţinut primul coeficient.
Aplicând din nou (2.13) pentru k = 1 →
2 Aproximarea prin interpolare polinomială 11
01000110
00100
)()()()(
yhayaxxaayxPxPyxP nnn
∆=⇔∆=−−+⇔⇔∆=−⇔=∆
, (2.16)
→ expresia coeficientului 1a : hya!1
01
∆= . (2.17)
Procedând similar pentru ceilalţi coeficienţi din (2.12) →
expresia generală:
nkhky
a k
k
k ,0,!
0 =∆
= , (2.18)
unde pentru k = 0 → 00 ya = .
→ polinomul de interpolare Newton de speţa 1 devine:
∑=
−∆
+=n
k
kk
k
n xxhkyyxP
1
][0
00 )(
!)( . (2.19)
În cazul punctelor echidistante este utilă definirea
întregului q (nu neapărat întreg !), care reprezintă numărul de
paşi necesari pentru a ajunge de la 0x la x:
hxxq 0−
= , (2.20)
→ polinomul de interpolare Newton de speţa 1 va obţine
forma:
002
00 !)1)...(2()1(...
!2)1()( y
nnqqqqyqqyqyqP n
n ∆+−−−++∆−+∆+= .
(2.21)
12 Metode de aproximare numerică a funcţiilor
Observaţii:
1. Pentru n = 1 → (2.21) conduce la formula de
interpolare liniară:
001 )( yqyqP ∆+= . (2.22)
2. Pentru n = 2 → (2.21) conduce la formula de
interpolare parabolică:
02
002 !2)1()( yqqqyyqP ∆−++= . (2.23)
3. Dacă numărul de puncte cunoscute ale funcţiei f poate
fi oricât de mare → şi gradul polinomului de interpolare poate
fi oarecare. Acest număr de puncte este ales practic astfel
încât diferenţele in y∆ să fie aproximativ egale în limitele unei
erori admise ε , iar 0x poate fi oricare dintre punctele date.
4. Dacă numărul de puncte ale funcţiei este finit →
gradul polinomului de aproximare poate fi cel mult egal cu
numărul de puncte diminuat cu 1, în aceleaşi condiţii ca la
observaţia 3.
5. Pentru situaţiile de la observaţiile 3 şi 4, eroarea
(restul) se poate aproxima cu expresia:
01
)!1())...(2)(1()( y
nnqqqqqR n
n+∆
+−−−≈ . (2.24)
2 Aproximarea prin interpolare polinomială 13
Exemplu: Se consideră o funcţie reală de variabilă reală
f: [0, 3] → R, y=f(x), pentru care se cunosc valorile în 4
puncte echidistante ale intervalului [0, 3], cu pasul de
discretizare h = 1, conform tabelului:
i 0 1 2 3
ix 0 1 2 3
)( ii xfy = 0.200 3.145 4.927 6.098
Se cere să se aproximeze funcţia f cu polinomul de
interpolare Newton de speţa 1 pentru următoarele valori ale
argumentului x: 0.1; 0.8; 2.3; 2.8.
Soluţie: Particularizare pentru n = 3 în cazul cunoaşterii a
n+1 = 4 puncte echidistante, cu pasul h = 1, în intervalul [a,b]
= [0, 3].
Pentru început se determină toate diferenţele directe
definite în (2.10), cu rezultatele organizate conform tabelului:
i ix iy iy∆ iy2∆ iy3∆
0 0 0.200 2.945 –1.163 0.552
1 1 3.145 1.782 –0.611 –
2 2 4.927 1.171 – –
3 3 6.098 – – –
14 Metode de aproximare numerică a funcţiilor
Pe baza diferenţelor directe din (2.21) şi prima linie a
tabelului → polinomul de interpolare Newton de speţa 1 de