Sunteți pe pagina 1din 65

METODE NUMERICE

Curs 6+7
Interpolarea i aproximarea funciilor
cu aplicaii n ingineria electric

n aplicaiile din domeniul electrotehnic nu se cunoate expresia


analitic a funciei care trebuie aproximat ci doar valorile ei ntrun anumit numr de puncte (tabelate - obinute din calcule sau
msurtori
experimentale)
urmrindu-se
determinarea
aproximativ a valorilor corespunztoare unor alte puncte diferite
de cele date.
Exemple: curbele experimentale caracteristice care descriu
funcionarea aparatelor electrice, curbele de sarcin, lucru mecanic,
inducia n funcie de cmp, distribuii de sarcin etc.
Aproximarea unei funcii exprimat analitic sub forma unor formule
explicite, implicite sau parametrice, sub forma unor serii, sau a unui
algoritm se face cu scopul simplificrii calculelor de evaluare a
mrimii funciei , a derivatelor acesteia sau a integralei definite.

Evaluarea unei funcii definit sub form numeric (dat tabelar) n


urma unor msurtori experimentale, presupune aproximarea ei
(interpolarea) n intervalele dintre nodurile reelei n orice punct al
domeniului de definiie.
Cea mai simpl metod de interpolare a unei funcii definit sub form
numeric prin coordonatele (xi,yi) ale unor puncte numite noduri, const
n aproximarea funciei cu un polinom pentru a putea fi prelucrat n
continuare (interpolare, derivare, integrare etc) evaluarea funciei
reducndu-se la operaii aritmetice elementare (adunri i nmuliri).
Se msoar la momente discrete x0, x1...,xn (noduri), valorile unor
funcii f(x) i se pune problema de a gsi valorile sale n alte puncte
diferite de noduri.

Funcia de aproximare este de forma:

f ( x ) g ( x; a 0 , a1 ,..., a n )

- model matematic.

g ( x, a 0 ,..., a n ) = a 0 g 0 ( x) + a1 g1 ( x) + ... + a n g n ( x)
g ( x; a 0 , a1 ,..., a n ) = a 0 + a1 x + a 2 x 2 + ... + a n x n

- interpolare liniar
- interpolare polinomial

g ( x; a0 , a1 ,..., a n ) = a0 + a1e xi + a 2 e 2 xi + ... + a n e nxi , i = 1


- interpolare trigonometric

a 0 + a1 x + ... + a n x n
g ( x; a 0 ,..., a n , b0 ,..., bm ) =
b0 + b1 x + ... + bm x m

- interpolare raional

Dac nu exist informaii asupra problemei tehnice care a generat


modelul matematic, atunci cel mai des se utilizeaz pentru interpolare
polinoame!
Avantaje:
valoarea polinoamelor se calculeaz uor;
sumele, diferenele, produsele de polinoame au ca rezultat polinoame;
prin derivare i integrare (care se fac uor), rezult tot polinoame;
teoria interpolrii polinomiale este simpl i bine pus la punct.

Aproximarea prin polinoame a funciilor


Se pornete de la teorema lui Weierstrass care are urmtorul enun:

Fie f o funcie definit i continu pe intervalul [a , b], f C[a , b ], > 0, p n (x )


polinom de gradul n

x [a , b]

f (x ) p n ( x ) <

Interpolarea polinomial
n aplicaiile electrotehnice alegerea funciei de aproximare se
bazeaz i pe cunoaterea formei funciei care trebuie aproximat innd
cont de informaiile asupra aplicaiei practice care a generat modelul
matematic.
Problema care se pune este determinarea polinomului pn(x) care
satisface relaia de mai sus.

Cunoscnd valorile funciei f determinate experimental prin msurtori n punctele

x 0 , x1 , ..., x n [a , b ] f (x 0 ), f (x1 ), ..., f (x n ), x i x j , i j


se pune problema determinrii valorilor funciei n alte puncte adic s se gseasc un
polinom pn astfel nct:

p n (x i ) = f (x i ), i = 0, n

- polinomul pn(x) trebuie s coincid cu funcia f(x) pe n+1 puncte.

Unicitatea polinomului de interpolare


Se va demonstra c exist un polinom i numai unul de grad mai mic ca n
care ndeplinete aceast condiie.
2
n
Demonstraie: Dac avem polinomul de grad n: p n (x ) = a 0 + a1x + a 2 x + ... + a n x

Condiia p n (x i ) = f (x i ), i = 0, n devine:

a 0 + a1x 0 + a 2 x 02 + ... + a n x 0n = f (x 0 )

2
n
a 0 + a1x1 + a 2 x1 + ... + a n x1 = f (x1 )

.....................................................
a + a x + a x 2 + ... + a x n = f (x )
1 n
2 n
n n
n
0

Determinantul sistemului este Vandermonde:


1

x 0 ... x 0n

n
1 x1 ... x1n
ds =
= (x i x j ) 0
... ... ... ... i , j= 0

a 0 , a1 ,..., a n - necunoscute

xn

... x

n
n

i j
xi x j

Regula lui Cramer de rezolvare a sistemelor de ecuaii, sistemul poate fi compatibil i


unic determinat adic s aib soluie unic: a 0 , a1 , ..., a n coeficienii unic determinai:

a0 =

f (x 0 )
f (x 1 )
...
f (x n )

x0
x1
...
xn
ds

... x 0n
... x1n
... ...
... x nn

1 f (x 0 )
1 f (x1 )
...
...
1 f (x n )
, a1 =
ds

... x 0n
... x1n
... ...
... x nn

, ...a n =

1 x0
1 x1
... ...
1 xn

... f (x 0 )
... f (x1 )
...
...
... f (x n )
ds

Exist un singur polinom care interpoleaz funcia n nodurile x0, x1,...,xn pentru care:

p n (x i ) = f (x i ), i = 0, n

Problema interpolrii presupune parcurgerea etapelor:


determinarea coeficienilor polinomului de interpolare prin rezolvarea
unui sistem liniar de ecuaii algebrice
evaluarea polinomului de interpolat

Aceast variant de interpolare poate fi aplicat doar pentru valori mici


ale gradului polinomului (n<5) deoarece are dou mari dezavantaje:
Efort de calcul mare pentru determinarea coeficienilor (Cramer).
Erorile soluiei sunt mari deoarece sistemul poate fi ru
condiionat pentru valori mari a gradului polinomului
Metoda de interpolare bazat pe polinomul de interpolare
Lagrange elimin dezavantajele metodei clasice de interpolare
polinomial, n schimb timpul necesar evalurii polinomului de
interpolare crete de la ordinul liniar O(n) la cel ptratic O(n2).

Interpolarea Lagrange
Fie o funcie f(x) definit pe intervalul [a,b], ale crei valori yi sunt
cunoscute numai n nodurile
xi , y i = f ( xi ) i [0, n] - interpolare liniar

xi - noduri de interpolare

Tabel de valori - din msurtori experimentale

Se numete polinom de interpolare asociat tabelului de valori un polinom p de grad mai


mic sau egal cu n, cu coeficieni reali astfel nct:

p( x i ) = y i
are loc formula aproximativ:

f ( x ) p ( x ) x [ a , b ]
f ( x i ) = p( x i ) = yi , i [0, n ]

unde p(x) este unic pentru un tabel dat iar f i p au aceleai valori n nodurile fixate.
Observaie: Polinomul p(x) permite calculul valorilor sale i n punctele x xi
deci ntre noduri, ceea ce justific denumirea de interpolare.
Pentru orice k, 0 k p ,se noteaz cu li (i [0, n ]) polinomul ce verific condiiile

li (x i ) = 1

li (x k ) = 0, k i

condiii ce pot fi scrise cu ajutorul simbolului lui Kroneker astfel:

0, k i
li ( x k ) = ki =
1, k = i

Deoarece se cere ca li s se anuleze n n puncte rezult c acesta are forma:

x 0 , x1 ,..., x i 1 , x i +1 ,..., x n

li (x ) = ci (x x 0 )...(x x i 1 )(x x i +1 )...(x x n )


- ci este o constant

Punnd n aceast relaie x = x i i innd cont c li (x i ) = 1 rezult constanta:

ci =

(x i x 0 )...(x i x i 1 )(x i x i +1 )...(x i x n )

nlocuind constanta ci n relaia de mai sus rezult polinomul baz:


n xx
(
x x 0 )...(x x i 1 )(x x i +1 )...(x x n )
j
l i (x ) =
=
(x i x 0 )...(x i x i 1 )(x i x i +1 )...(x i x n ) j= 0 x i x j
j i

Se construiete polinomul de interpolare Lagrange de grad cel mult n:

}
Pn ( x ) = f (x i ) li ( x ) = yi li ( x ) = L n ( x )
Ln (x)

i=0

i=0

not

- se numete polinomul Lagrange de interpolare:


n

L n ( x ) = yi
i=0

( x x 0 )...( x x i 1 )( x x i +1 )...( x x n )
( x i x 0 )...( x i x i 1 )( x i x i +1 )...( x i x n )

i =0

i =0

L n (x i ) = yi li (x k ) = yi ki = yi

L n (x i ) = yi = f (x i )

Deci Ln(x) este polinomul Lagrange de interpolare asociat tabelului de valori

Formula f (x ) L n (x ) este sugerat de faptul c f (x i ) = Ln (x i ) = yi , 0 i n


adic funcia f i polinomul Ln au aceleai valori n nodurile fixate.

1. Exemplificm o interpolare polinomial de gradul I


Dac n=1 atunci se cunoate funcia n dou noduri
Vom avea polinom de gradul 1: l0 (x ) =

x 0 , x1 f (x 0 ), f (x1 )

x x1
x x0
, l1 (x ) =
x 0 x1
x1 x 0

Deci formula de interpolare liniar este:

L1 (x ) = f (x 0 ) l 0 (x ) + f (x 1 ) l1 (x ) = f (x 0 )
= f (x 0 ) +

f (x 1 ) f (x 0 )
(x x 0 )
x1 x 0

x x0
x x1
+ f (x 1 )
=
x 0 x1
x1 x 0

l0 (x 0 ) = 1, l0 (x1 ) = 0, l1 (x1 ) = 1, l1 (x 0 ) = 0
L1 (x 0 ) = f (x 0 ) l0 (x 0 ) + f (x1 ) l1 (x 0 ) = f (x 0 ) 1 + f (x1 ) 0 = f (x 0 ) = y 0
L1 (x1 ) = f (x 0 ) l0 (x1 ) + f (x1 ) l1 (x1 ) = f (x 0 ) 0 + f (x1 ) 1 = f (x1 ) = y1

Astfel L1(x) este polinomul unic care trece prin punctele (x0,y0) i (x1,y1) i aproximeaz
funcia f(x) pe intervalul [x0, x1].

f (x 1 ) f (x 0 )
L 1 ( x ) = f (x 0 ) +
(x x 0 )
x1 x 0
Fig. 3 Interpolarea Lagrange de ordinul I

Se trece la generalizarea conceptului de interpolare liniar prin determinarea unui


polinom de grad cel mult n care trece prin n+1 puncte n care funcia se cunoate:

(x 0 , f (x 0 )), (x1 , f (x1 )),..., (x n , f (x n ))

Fig. 4 Interpolarea Lagrange de ordinul n

Considerm formula de interpolare liniar Lagrange:

f (x ) L1 (x )

f ( x ) = L1 ( x ) + R1 ( x )

unde R1(x) este restul n formula de interpolare liniar Lagrange.


n punctul intermediar

()

()

f x L1 x

avem:

()

L1 x = f (x 0 ) + h

Din asemnarea celor dou triunghiuri:


Fig. 5 Interpolarea liniar demonstraie

h
x x0
f (x1 ) f (x 0 )
=
h=
x x0
f (x 1 ) f ( x 0 ) x 1 x 0
x1 x 0

f (x1 ) f (x 0 )
L1 x = f x = f (x 0 ) + h = f (x 0 ) +
x x0
x1 x 0

() ()

Determinarea restului Lagrange


Demonstratie pe tabla!
Formula de interpolare a lui Lagrange de ordin n:

f ( x ) = Ln ( x ) + R n ( x )

f ( n +1) ()
R n (x) =
( x x 0 )( x x1 )...(x x n ) - restul Lagrange de ordin n
(n + 1)!
- este un punct din cel mai mic interval care conine nodurile x0, x1,...xn si variabila x.

Determinarea restului in dezvoltarea in serie Taylor


.

Demonstraie pe tabla!

Exemplu:

f (x) = ex

1 1

1
,

, 0, ,1 - noduri

2 2

Se interpoleaz pe intervalul [-1,1] funcia dat prin polinomul Lagrange Ln(x):


1
1

x
x
0
x
(
)
(x + 1) (x 0) x 1 (x 1)

+
(x 1)

2
2
2

1
L n (x ) =
e 2 +
e +
1
1
1 1 1
1 1

+ 1 0 1
1 + ( 1 0) 1 ( 1 1)
2
2
2 2 2
2 2

(x + 1) x + 1 x 1 (x 1)
(x + 1) x + 1 (x 0) (x 1) 1
2
2
2

e2 +
e0 +
+
1
1 1 1 1
(0 + 1) 0 + 1 0 1 (0 1)
+ 1 + 0 1
2
2
2
2 2 2 2

(x + 1) x + 1 (x 0) x 1
+

2
2 1

e
1
1
(1 + 1) 1 + (1 + 0) 1
2
2

L n (x ) = 1.0 + 0.99 x + 0.49 x 2 + 0.17 x 3 + 0.04 x 4

Exemplu

1
f (x) =
x

{x 0 = 0, x1 = 2.5, x 2 = 4}

Se interpoleaz pe intervalul [1,5] funcia dat prin polinomul Lagrange de ordinul II:

(x 2.5) (x 4) = (x 6.5)x + 10
f (x 0 ) = f (2 ) = 0.5; f (x 1 ) = f (2.5) = 0.4;
(2 2.5) (2 4)
f (x 2 ) = f (4 ) = 0.25
(
(
4x + 24)x 32
x 2) (x 4 )
=
l1 (x ) =
(2.5 2) (2.5 4)
3
(
x 2 ) (x 2.5) (x 4.5)x + 5 P(x ) = L (x ) = 2 l (x ) f (x ) = (0.05x 0.42) x + 1.15
i
=
2
i
l 2 (x ) =
=
i
0
(4 2) (4 2.5)
3
l 0 (x ) =

O aproximaie pentru f (3) =


este

1
= 0.333
3

f (3) L 2 (3) = 0.325

Interpolare Lagrange de ordinul II

Alte exemple:
1. S se determine o aproximare polinomial pentru caracteristica unei diode semiconductoare:

uv
i(u ) = Is e 1, Is = 10 6 (A ), v = 0.027(V )

i analiza erorii introdus prin interpolare.


2. S se determine o aproximare polinomial pentru caracteristica de magnetizare:

H
, 0 = 4107 , Bs = 1.7(T ), = 104 0
B = 0 H + Bs th
Bs
i analiza erorii introdus prin interpolare.

Interpolarea Newton cu diferene divizate


Presupunem c Ln(x) este polinomul Lagrange de grad n care interpoleaz funcia f(x) n
nodurile distincte x0, x1,,xn
Diferenele divizate ale funciei f(x) sunt utilizate pentru a exprima polinomul Ln(x) sub forma lui
Newton Nn(x), polinomul se va scrie sub o form generalizat sub forma lui Taylor:

L n (x ) = N n (x ) = a 0 + a 1 (x x 0 ) + a 2 (x x 0 )(x x 1 ) + ... + a n (x x 0 )(x x 1 )...(x x n 1 )


Pentru determinarea constantelor a0, a1,...an, evalum polinomul n nodurile:

x = x 0 a 0 = N n (x 0 ) = f (x 0 )
x = x1 f (x 0 ) + a1 (x1 x 0 ) = N n (x1 ) = f (x1 ) a1 =
.

Tabelul de valori rezultat din msurtori experimentale:

f (x1 ) f (x 0 )
x1 x 0

f ( x i ) f ( x i 1 )
i = 1,..., n
x i x i 1
- diferene divizate de ordinul I ale lui f pe nodurile xi
- se noteaz

f [x i 1 , x i ] sau [ x i 1 , x i ; f ]

Diferenele divizate de ordinul (k+1) se definesc:

f [x i , x i +1 ,..., x i + k ] f [x i 1 , x i ,..., x i + k 1 ]
f [x i 1 , x i ,..., x i + k ] =
x i + k x i 1
Diferenele divizate de ordinul 0 pe un nod

f [x 0 ] = f (x 0 )
f [x1 ] f [x 0 ]
x1 x 0

Diferenele divizate liniare de ordinul 1 pe dou noduri:

f [x 0 , x1 ] =

Diferenele divizate de ordinul 2 pe trei noduri:

f [x 0 , x1 , x 2 ] =

f [x1 , x 2 ] f [x 0 , x1 ]
x2 x0

Diferenele divizate de ordinul n pe n+1 noduri:

f [x 0 , x1 , x 2 ,...x n ] =

Se noteaz astfel:
.

a1 =

f [x1 , x 2 ,...x n ] f [x 0 , x1 ,...x n 1 ]


xn x0

f (x1 ) f (x 0 )
= f [x 0 , x1 ]
x1 x 0

a k = f [x 0 , x1 ,..., x k ]

Proprieti:

f [x 0 , x1 ] = f [x1 , x 0 ]

f [x 0 , x1 ,..., x n ] = f x 0 , x 1 ,..., x n

f [x1 ]
f [x 0 ]
f [x 0 , x1 ] =
+
x1 x 0 x 0 x1
f [x 0 , x1 , x 2 ] =

f [x 2 ]
f [x1 ]
f [x 0 ]
+
+
(x 2 x 0 )(x 2 x1 ) (x1 x 0 )(x1 x 2 ) (x 0 x1 )(x 0 x 2 )

f [xi ]
f [x0 , x1 ,..., xn ] =
i = 0 ( xi x0 )( xi x1 )...( xi xn )
n

a. Pentru f funcie liniar

f [x 0 , x ] = f [x 0 , x1 ] - o funcie liniar pentru care valoarea derivatei este constant.

f [x 0 , x ] =

f [x ] f [x 0 ]
f [x ] = f [x 0 ] + f [x 0 , x ] (x x 0 ) - funcia i polinomul coincid
x x0

b. Pentru f funcie neliniar

f [x ] = f [x 0 ] + f [x 0 , x1 ] (x x 0 ) + R 1 (x )
f [x ] f [x 0 ]

f [x 0 , x 1 ]
R 1 (x ) = f [x ] f [x 0 ] f [x 0 , x 1 ] (x x 0 ) R 1 (x ) = (x x 0 )
(x x 0 )

R 1 (x ) = (x x 0 ) (f [x 0 , x ] f [x 0 , x1 ]) = (x x 0 )(x x1 )

R 1 (x ) = (x x 0 )(x x1 ) f [x , x 0 , x1 ]

(f [x 0 , x ] f [x 0 , x1 ])
x x1
144424
44
3
f [x , x 0 , x1 ]

Polinomul construit este polinomul de gradul 2 de interpolare sub forma Newton cu diferene
divizate considernd nodul x2 nod intermediar:

N 2 (x ) = f [x 0 ] + (x x 0 )f [x 0 , x1 ] + (x x 0 )(x x1 )f [x 2 , x 0 , x1 ]
1444
424444
3 14444244443
N1 ( x )= f ( x ) R 0 ( x )= f ( x )

R1 ( x )

Nn (x) = f [x0 ] + (x x0 )f [x0 , x1 ] + (x x0 )(x x1 )f [x0 , x1 , x 2 ] + ...+ (x x0 )...(x x n1 )f [x0 ,...,x n ]


1444
424444
3 14444
4244444
3
R1( x )
1 ( x )=f ( x )R0 ( x )=f ( x )
14N4
44444444244444
44444
3
N2 ( x )

R n (x ) = (x x 0 )...(x x n )f [x , x 0 , x1 ,..., x n ]

Observaii:
S-a artat c n cazul n care se adaug un nod de interpolare, fa
de cazul interpolrii Lagrange, interpolarea Newton nu necesit
ntreaga recalculare.
Metoda de interpolare Newton realizeaz un compromis ntre
evaluare i construcia algoritmului care este stabil din punct de
vedere al erorilor numerice.
Permite mrirea gradului polinomului de interpolare prin
adugarea unui nod nou n reeaua de interpolare cu reutilizarea
coeficienilor de la gradul anterior care nu se modific.
Coeficienii polinomului Newton reprezint diferenele divizate ale
funciei de interpolat ceea ce uureaz calculul numeric al
derivatelor polinomului de interpolare.
Timpul de calcul este dependent de eroarea impus avnd valori
mari doar n cazurile n care se dorete o precizie ridicat.

Exemplu: Se cunosc valorile funciei n punctele

f (0) = 5, f (1) = 1, f (3) = 25, f (4) = 55


S se calculeze valoarea funciei n 0.5 utiliznd un polinom de interpolare Newton de gradul I.

N1 (x ) = f [x 0 ] + (x x 0 ) f [x 0 , x1 ]
R 1 (x ) = (x x 0 )(x x1 ) f [x , x 0 , x1 ]

N1 (0.5) = 5 + (0.5 0) 6 = 2
R1 (0.5) = (0.5 0)(0.5 1) 2 = 0.5

Exemplu:
S se scrie polinomul de interpolare Newton cu diferene divizate de gradul II pentru funcia

1
1
f (x ) = sin(x ) i nodurile x 0 = 0, x1 = , x 2 =
6
2

Aproximarea cu abatere medie ptratic minim


-metoda celor mai mici ptrate- least squares data fitting
Se utilizeaz pentru aproximarea funciilor definite prin noduri ale cror
coordonate prezint un oarecare grad de incertitudine. Este cazul funciilor ce
exprim dependene obinute experimental prin msurtori sau ca urmare
a unor calcule care folosesc rezultatele msurtorilor, nu se recomand
ntrebuinarea metodelor de aproximare Lagrange care uneori pot amplifica
aceste erori.
Prin folosirea unui polinom de aproximare al crui grad m este mai mic
dect cel al polinomului Lagrange corespunztor se obine o aproximare cu
abatere ptratic minim.
Metoda este cunoscut i sub numele metoda celor mai mici ptrate a lui
Gauss.
Polinomul de aproximare P(x) nu trece prin toate cele n noduri sau chiar
prin nici unul dar este cel mai aproape de toate acestea.

Metoda urmrete minimizarea erorii calculate de norma euclidiana


(suma ptratelor abaterilor dintre datele experimentale i cele
determinate teoretic).

Determinarea aproximrii n sensul celor mai mici ptrate se reduce la


rezolvarea unui sistem de ecuaii algebrice liniare cu un numr de ecuaii mai
mare dect numrul de necunoscute, care este supradeterminat. Acest sistem
este de obicei incompatibil deci graficul polinomului de interpolare nu trece
prin punctele (xk,yk) ci printre ele.
n general datele experimentale sunt afectate de erori de msurare, astfel
nct reconstrucia unei caracteristici corespunztoare unui fenomen fizic sau
proces tehnic, n loc s treac prin fiecare punct de msur trebuie s
urmreasc tendina rezultatelor experimentale cu o eroare general ct mai
mic.
Exemple: Aproximai prin polinoame de grad: 3, 5, 10, 15, 20
-curba de magnetizare B(H)
-caracteristica unei diode semiconductoare i(u)
-variaia puterii disipate de un rezistor P(R) ntr-un circuit electric de curent
continuu;

Metoda celor mai mici ptrate se aplic nu numai la aproximarea


caracteristicilor neliniare dar i la rezolvarea problemelor inverse, unde
conceptul este echivalent cu pseudosoluia.

Aplicaia 1

Metoda II. Funcia linfit


n \\ numarul de receptoare;
n := ( 3 4 5 6 9 10 12 15 17 20 22 24 25 27 30 33 35 40 )
ka

\\ coeficientul de influenta;

k a := ( 1 1.4

1.8

2.35

log ( x)
2
x
F ( x) :=
x

f ( x) := F ( x) S

2.5

3 3.4

4 4.5

5.1

5.8

6 6.35

6.9

7.2

0.565

4.201
10
T
T

S := linfit n , k a , F S =

0.222

0.216

x := 3 , 3.01 .. 40

8 8.5

10

f ( x)
ka

10

20
x, n

30

40

9.2 )

( )
T

i := 0.. last n

Abatere :=

f ( nT) k T
a
i i

Abatere = 0.385

(verificare)


T)
T

(
dispersie := max f n ka 1.1

dispersie = 0.415

Dispersia punctelor fata de o referinta


0
0

10

20

Abatere < 0.5 = 1

30

40

Aproximarea analitica liniara prin minimizarea abaterii


medii patratice
0
1

2

x :=
3
4

5

10
25

51

y :=
66
97

118
n

F( m, b ) :=

k =0

d
F( m, b )
dm

\\ datele tabelare provenite din masuratori


experimentale pentru care trebuie realizata
aproximarea analitica liniara,
cu conditia de minimizare a abaterii medii patratice;
n := last ( x)
n=5
k := 0 .. n

y m x + b

m x + b

f ( x)

d
F( m, b )
db

\\ functia analitica de identificat

\\ formula abaterii medii patratice

\\ conditia de minimizare a abaterii


medii patratice;

Sistemul de ecuatii care determina coeficientii functie de gradul I, de aproximare:


m := 1

Given

n
n

2
m
x ) + b
x
(
k
k

k = 0

k = 0

m
:= MinErr( m, b )
b

\\ initializarea solutiilor

n
n
x + b
m
k

k = 0
k = 0

b := 1

x y

k k

k =0

\\ sistemul de ecuatii

k =0

m = 22.029

b = 6.095

\\ rezultate numerice


f ( x) := m x + b \\ forma analitica si grafica (mai jos) a functiei de aproximare
f ( x)

22.029x
+ 6.095
150

f ( x)
yk

100
50

3
x, xk

Functie de aproximare generalizata


f ( x) = a0 f0( x) + a1 f1( x) + .. + an fn ( x)

0
1

2

x :=
3
4

5

0
4

9

y :=
12
25

33

t2

t
f ( t) :=
1

0

\\ combinatie liniara de functii


de aproximare;
\\ functiile de aproximare adoptate;

\\ perechile de puncte de aproximare;

coef := linfit ( x , y , f )

\\ procedura de aproximare a coeficientilor combinatiei


liniare de functii alese;

0.929
1.957
coef =
0.429
0

g ( t ) := coef f ( t )

40

30

20

g( t )
10

x, t

Observatie: functia de aproximare generalizata se preteaza la calcule


si reprezentari grafice cu dificultate sporita.

Aplicaia 2

1. Se cunoaste un sir de valori ale sarcinii electrice de pe un fir intr-un plan cu sistem de coordonate adoptat, in puncte de
abscise cunoscute. Care este, in aceasta situatie, functia numerica de distributie de sarcina electrica pe fir in planul
considerat?
Datele problemei:

-- coeficient de multiplicare pentru afisare grafica optima

1

1.2
2
2.5

3.4

mm
x :=
6
7.6

8
9

10
-- lungimea firului:

m := 10

0.5

0.6
0.8
1.4

2.4 6

Q( x) :=
10 m Coulomb
3.5
5.7

6
8

20
L := 15 mm

In aceasta problema se urmareste exprimarea functiei numerice dupa care variaza sarcina unui corp bidimensional,
cand sunt determinate, posibil experimental, valori ale sarcinii in puncte diferite de pe corp (fir). Astfel, se ajunge la
densitatea lineica de sarcina pentru corpul considerat, pe baza careia se pot calcula intensitatea campului electric,
potentialul electric in orice punct din plan.

. Modelul matematic la care se reduce problema:


Q( x)

Functie ( x)

L( x) dx

dQ

L( x)

Functie1 ( x)

In vederea calcularii functiei de repartitie se apeleaza la metoda numerica


de interpolare Lagrange (interpolare polinomiala).
-- metoda consta in gasirea unui polinom, cu coeficienti reali, a carui valori
in abscisele cunoscute sa fie egale cu valorile sarcinii in acele puncte,
iar pe intervalul de lungime a firului functia de repartitie sa fie egala
cu polinomul respectiv;
-- intervalul considerat este lungimea firului cu sistemul de coordonate fixat
la inceputul acestuia;
-- polinomul este unic pentru setul de valori prescris;

L := 0 .. 15

-- intervalul ales:

mm

n := 10

-- numarul de valori stabilite:

i := 0 .. n 1

j := 0 .. n 1

-- valorile absciselor dispuse orizontal (se apeleaza din meniul Vector and
Matrix Palette, obiect Matrix Transpose, ori Ctrl+1):
T

x =

1 1.2

2 2.5 3.4

0
0

6 7.6

10

y ( x) := Q( x)

-- valorile ordonatelor (sarcinii):


y ( x) =

0.5 0.6 0.8 1.4 2.4 3.5 5.7

7
6

8
8

9
20

-- coeficienti de calcul cu instructiunea de conditionare 'if' (daca i=j, valoarea


coeficientului este 1):
coef :=
i

if(i
j

( i j)

j) , 1 , x x

-- functie intermediara necesara rularii metodei (polinom de ordinul n-1,


obtinut prin inmultire):
intermediar( z) :=

(z xj)
j

z este variabila functiilor intermediare si finala,


de interpolare;

-- formula definita a polinomului initial Lagrange:


intermediar( z)

l( i, z) := if z x , 1 ,

i
z
x

coef
( i) i

-- polinomul de interpolare, numit Lagrange:

L( z) :=

l(i, z)y(x)i
i

-- forma functiei de interpolare pentru lungimea corpului incarcat cu sarcina:


z := 0 , 0.1.. 10
20
L( z )
y ( x)

10

10

z,x

D.

Determinarea functiei de interpolare si reprezentarea ei grafica este posibila


si prin utilizarea unor functii predefinite in Mathcad, care metode au la baza
algoritmi interni precum cel prezentat anterior. In continuare, se exemplifica
o functie predefinita de interpolare din butonul 'Insert Function', linterp(x,y,z).
B( z) := linterp( x, y( x) , z)

z := 0, 0.001.. 10

20

B( z )
y ( x)

10

10

z, x

Observatie: Acuratetea de reprezentare este evidenta, in cazul graficelor


de mai sus.
Astfel, cand se cere o aproximatie cat mai apropiata de adevar metoda
numerica expusa se dovedeste mai avantajoasa, atat pentru figurarea variatie
cat si pentru calculul in puncte aflate in domeniul celor cunoscute.

-- in vederea exemplificarii ultimului argument se stabileste un set de valori


de pe lungimea corpului pentru care se calculeaza valorile sarcinii:

1.5
3

X :=
7
9.5

k := 0 .. 3

( k) =

LX

( k) =

B X

0.591

0.675

2.051

1.956

5.044

4.875

11.776

14

metoda numerica

functia predefinita

Obtinerea cat mai exacta a functiei de interpolare depinde si de gradul


polinomului de interpolare; daca acesta este inferior si precizia va fi de nivel
scazut; cresterea gradului este insa limitata si superior.

Aplicaia 3

Intre doi electrozi cilindrici coaxiali de lungime egala, perfect conductori, este dispus un material
de conductivitate data. Pentru lungimea cilindrilor si pentru raza cilindrului exterior se dau cate
un set de valori in functie de raza cilindrului interior. Se cere determinarea valorii rezistentei
dispozitivului coaxial pentru orice valoare a razei cilindrului interior pe baza variatiei seturilor
de date furnizate.

:= 5.7 10

1
m

(conductivitatea materialului)

0.1

0.2

a := 0.35 m
0.65

10.05

9.40

L := 8.98 m
9.96

14.04

2.20

3.42

b := 5.26 m
9.06

13.72

A-B.
Rezistenta electrica a dispozitivului poate fi privita ca o suma de rezistente infinitezimale
de forma cilindrica cu peretii de grosime dr, unde r este raza unui contur cerc situat intre cei doi
cilindri supraconductori. Astfel, redarea analitica a dependentei de marimile geometrice
a rezistentei totale rezulta prin integrarea rezistentelor infinitezimale considerate a fi in serie:

1
S

dr

1
2 r L

dr

1
2 L

ln

C.
Deoarece parametrii L si b sunt determinati de parametrul a, variatia rezistentei se va
face dupa o functie compusa din combinatia dependentelor celor doi parametrii de raza cilindrului
mic, deci va avea o forma analitica necunoscuta. Corespondenta rezistenta electrica - raza cilindru
interior se va exprima prin interpolare, pe baza datelor din cele 3 seturi: a, L si b.
L

f ( a)

g ( a)

=>

1
2 f ( a)

ln

g ( a)

--> setul de valori ale rezistentei dupa parametrul geometric a, in conditiile in care s-au inglobat
si ceilalti parametri in formula arata in modul urmator:
i := 0 .. last ( b )

--> numarul de indici ale valorilor din set

bi
R :=
ln
i
ai
2 L
i

1

--> calculul individual al fiecarei


valori

0.04895

0.04807

R = 0.04803
0.0421

0.02969

--> in acest stadiu se aplica metoda lui Newton cu diferente divizate de interpolare a functiei data
in puncte .
--> algoritmul de scriere a metodei face apel la paleta de programare din Mathcad, se prezinta
mai jos si este explicat pentru fiecare linie:
--> se incarca intr-un vector intern sirul
Matrice_dif_div
:= X a
valorilor lui a;
--> se incarca in alt vector sirul valorilor R
Y R
--> se stabileste numarul de linii si coloane
n last ( X )
ale matricei cu diferente divizate, n;
for j 0 .. n
A
for

j, 0

--> prima coloana a matricei primeste valorile


vectorului Y incarcat anterior;

j 1 .. n
for k 0 .. n j
A
A

k, j

k + 1 , j 1

k+ j

A
X

k , j 1
k

for i 1 .. j
A

n j+ i , j

--> celorlalte elemente, de sub diagonala


principala, li se atribuie valoarea 0.

--> algoritmul returneaza matricea


Matrice_dif_div completata.

A
A := Matrice_dif_div

8.588

8.433
A = 8.426

7.386

5.208

10
10
10
10
10

A
10
10
10
10
10

--> printr-un calcul recursiv se ocupa toate


elementele superioare diagonalei principale
cu diferentele divizate de ordin 1 pe a doua
coloana, de ordin 2 pe a 3, s.a.m.d.

--> redenumirea matricei


1.546 10
4.711 10
3.467 10
6.222 10
0

10
12
10
10

5.995 10
7.6 10

10

10

4.238 10

10

2.472 10
4.202 10

10

3.214 10
0

--> functia de interpolare Newton apeleaza elementele matricei, care constituie difere
divizate, construind astfel aproximarea:
j := 1.. last(a)
last(a) = 4

N(t) :=

j1

A
t (a) + A

i
0, 0

0, j
i =0

--> reprezentarea grafica a variatiei rezistentei dupa parametrul a se figureaza mai jos
domeniul limitat inferior si superior de minimul, respectiv maximul sirului dimensiunii a
0.05
N( t) 0.04
R

0.03
0.02

0.2

0.4

0.6
t,a

0.8

D.
Varianta oferita de Mathcad pentru identificarea numerica si grafica a variatiei rezistentei
electrice in functie de dimensiunea parametrului a, implica apelarea functiei de interpolare linterp
cu argumente: sirul valorilor lui a, sirul valorilor lui R inmultit cu si o variabila notata:
f ( z) := linterp( a , R , z)

--> denumirea functiei de interpolare cu variabila notata z;

--> in continuare se reprezinta grafic dependenta rezistentei 'R' de 'a':

R( dim_a) := N( dim_a)

Variatia rezistentei dupa parametrul a

R
f ( z)

0.04

10

a1 := 0.25 m

R( a1) = 8.429 10

a2 := 0.47 m

R( a2) = 8.249 10

10

N ( z )
0.03

0.02

0.2

0.4

0.6

0.8

a, z
E.
In grafic se compara caracteristica trasata de functia de interpolare Newton cu diferente
divizate si caracteristica trasata de functia
linterp de interpolare liniara; ultima functie uneste
punctele prin segmente de dreapta, ceea ce reduce precizia de calcul.
Avand exprimata functia de interpolare Newton cu diferente divizate este posibila
calcularea rezistentei electrice pentru orice valoare numerica a dimensiunii 'a'. Se dau cateva
exemple:

Aplicaia 4

1. Se dau urmatoarele rezultate ale unor masuratori, in functie de distanta, ale valorilor tensiunii electrice. Se cer
valorile polinomului de interpolare Lagrange, de un grad fixat in jurul unui punct z in m+1 puncte, acest polinom
aproximand functia. Sa se reprezinte grafic punctele masurate si polinomul de interpolare si sa se calculeze valoarea
lui in z=1100 cu un polinom de gradul doi.

1

5
x := 9
12

20
d :=
i

6

1
U( x) := 4
13

28

if( i j) , 1 , ( xi xj)

z := 0 .. 10
z=

( z) :=

n := 4

zx

i := 0 .. n

l( i, z) := if z

L( 10) = 6.277

L( z) =

-12.158

-6

-2.262

-0.243

0.668

1.19

1.591

2.468

10

6.277

j := 0 .. n

x , 1,
i

(z xi) di
( z)

L( z) :=

l(i, z)U(x)i
i

L( 8) = 2.468
z := 1 .. 20

\\ pentru reprezentarea grafica;

40
U ( x) i 20
L( z )

0
20

10

15
xi , z

20

Aplicaia 5

2. Intr-un mediu de dimensiuni foarte mari, se masoara in puncte spatiale egal


distantate consecutiv, pe o linie dreapta pornind de la o origine bine fixata, un set
de valori ale potentialului electric, creat de un camp electric static. Pe baza
acestor masuratori si a faptului ca starea electrica a mediului se considera a
avea simetrie, se urmareste determinarea distributiei de potential in intreg mediul.
Prin ce modalitate este posibila realizarea acestei optiuni?
Datele problemei:
-- sirul de valori spatiale cunoscute:
( 0 , 0 , 0)

( 1 , 1 , 1)

( 2 , 2 , 2)

( 3 , 3 , 3)

( 4 , 4 , 4)

( 5 , 5 , 5)

-- starea numerica a potentialului in punctele de masura in ordinea definirii lor:


Vp := ( 0 0.5 0.7 0.86 1 0.86)V

D.

Solutionarea problemei se poate realiza si prin apelul la o functie


predefinita in Mathcad; aceasta functie, numita 'cspline' are ca algoritm
intern o metoda de interpolare polinomiala, la care precizia de calcul este,
dupa cum va fi aratat, diferita de metoda utilizata mai sus.

0
1

2
t :=
3
4

5

0
0.5

0.7

w=
0.86
1

0.86

S := cspline ( t , w)

g ( r) := interp ( S , t , w , r)

-- reprezentarea grafica a functiei:


1.5

1
g( r)
0.5

3
r

var := 0 , 0.5.. 5

--> esantion de valori ale variabilei spatiale

f ( var ) =

g ( var) =

0
0.312

--> valorile functiei definita dupa metoda

0.307

0.5

0.5

0.616

0.618

0.7

0.7

0.778

valorile functiei definita intern in Mathcad <--

0.777

0.86

0.86

0.942

0.945

0.993

0.985

0.86

0.86

Reprezentarea grafica tridimensionala a distribuitiei de potential electric:


A

i, j

( i) ( j)

:= f x sin rot

i, j

( A , B , C)

( i) ( j)

:= f y cos rot

i, j

( i)

:= f z

Aplicaia 6

Functii Mathcad pentru interpolarea unei suprafete in 2D


Se introduce omatrice patraticacare genereaza o suprafata:
2
4.7

12
Mz :=
2
9

12

0
7

3.2

0.9

0.9 3

8.9

7.1

17

12 1

0.1 0.8 3.4

9.2

0.8 9.6

rows ( Mz) = 6
cols ( Mz) = 6

n := rows ( Mz)

n=6

Se scriu vectorii X si Y cu n-linii care determina reteaua:


0
1

2

X :=
3
4

5

0
1

2

Y :=
3
4

5

Mxy := augment ( sort ( X) , sort ( Y) )

rows ( Mxy ) = 6

Coeficientii functiei spline


S := cspline ( Mxy , Mz )

fit( x, y ) := interp S , Mxy , Mz ,

Suprafata originala
realizata doar prin
unirea cu segmente a punctelor matricei:

Mz

2D Spline- Suprafata interpolata


in care punctele intermediare sunt
calculate si afisate:

FIT

S-ar putea să vă placă și