Sunteți pe pagina 1din 19

2.

ERORI ŞI APROXIMĂRI

2.1 SUMAR DE TEORIE ŞI APLICAŢII


Propagarea erorilor
Reprezentarea numerelor prin baze de numeratie:baza 10 (sistem zecimal)
si baza 2 (sistem binar)

In baza 2 un numar se scrie:

𝒂 = 𝒂𝟏 ∙ 𝟐𝒎 + 𝒂𝟐 ∙ 𝟐𝒎−𝟏 + 𝒂𝟏 ∙ 𝟐𝒎 … + 𝒂𝒏 ∙ 𝟐𝒎−𝒏+𝟏
𝑥 = 525.222554 = 0.525222554 ∙ 103 = (0.525222 + 0.000000554) ∙ 103 = 0.525222 ∙ 103 + 0.000000554 ∙ 103
= 0.525222 ∙ 103 + 0.554 ∙ 0.525222 ∙ 10−6 ∙ 103 = 0.525222 ∙ 103 + 0.554 ∙ 0.525222 ∙ 103−6

Consideram numerele zecimale: 0.2397; -0.2397; 0.2375; 0.2365; 0.23652 pentru care se va efectua rotunjirea

Numar Aproximare prin Aproximare prin lipsa Aproximare prin adaos


rotunjire (trunchiere)
0.2397 0.240 0.239 0.240
-0.2397 -0.240 -0.240 -0.239
-0.5467 -0.547 -0.547 -0.546
0.2375 0.238 0.237 0.238
0.2365 0.236 0.237 0.237
0.23652 0.237 0.236 0.237
Aproximarea functiilor

Seria Taylor (dezvoltata in jurul punctului x0)

𝑓′(𝑥0 ) 𝑓′′(𝑥0 )
𝑓(𝑥) = 𝑓(𝑥0 ) + (𝑥 − 𝑥0 ) + (𝑥 − 𝑥0 )2 + ⋯ + 𝑅𝑛 (𝑥)
1! 2!
Seri Mac Laurin (dezvoltata in jurul valorii 0)
𝑓′(0) 𝑓′′(0) 2
𝑓(𝑥) = 𝑓(0) + 𝑥+ 𝑥 + ⋯ + 𝑅𝑛 (𝑥)
1! 2!
Orice funcţie derivabilă pe un interval, poate fi reprezentată numeric printr-o serie infinită, de exemplu de tip Taylor:
f x i 
f ( x i 1)  f x i   xi 1  xi   f xi  xi 1  xi 2  f xi  xi 1  xi 3 
1! 2! 3!
f x i n 
....  xi 1  xi n  ...
n!
In practică, se estimează valoarea funcţiei folosind un număr finit de termeni din serie. Cu cât numărul de termeni este mai mare,
cu atât eroarea de trunchiere a seriei este mai mică. Şi totuşi, un număr relativ mic de termeni poate conduce la o estimare
satisfăcătoare. Reţinerea a n termeni din serie determină o aproximare de ordin „n”, eroarea rezultată din inlaturarea celorlalţi
termeni fiind egală cu aşa numitul reziduu:
f n 1   n 1
Rn  h , unde   x i , x i 1 , iar h  x i 1  x i
n  1!
Aplicaţia 1.
Un paraşutist execută un salt în gol de la mare înălţime. Masa paraşutistului este m = 68,1 kg, coeficientul de frecare cu aerul c
=12,5 kg/s, iar acceleratia gravitationala g = 9,81 m/s2. Să se evidenţieze faptul că metodele numerice introduc erori comparativ
cu soluţia analitică.
Rezolvare:
Mişcarea acestui corp se realizează sub acţiunea a două forţe: greutatea şi forţa de frecare.

F  G  Ff  m  g  c  v 
 dv c
F  ma  g v
 dt m
dv
a 
dt 

Această ecuaţie diferenţială de ordinul I descrie fenomenul şi trebuie integrată pentru a găsi funcţia care exprimă variaţia vitezei
în timp.
Soluţia analitică este:
  t 
c
g m
v (t )  1 e m
c  

 
Problema poate fi rezolvată şi numeric:
Acceleraţia reprezintă variaţia vitezei în unitatea de timp şi atunci:
dv v v t i 1  v t i 
 
dt t t i 1  t i
v t i 1   v t i 
 g  v t i  ,
c
Se înlocuieşte în legea mişcării:
t i 1  t i m
şi se explicitează v t i  1  .
 
v t i 1   v t i   g  v t i t i 1  t i 
c
 m 
Cunoscând viteza la pasul de timp i, se poate aprecia viteza la pasul următor de timp, i+1. Pentru derularea calculului din aproape
în aproape, sunt necesare cunoaşterea valorii la momentul considerat zero, precum şi pasul de timp. Se recomandă calcularea
numerică a vitezei alegând un pas de timp h = ti+1 - ti egal cu 4 s, apoi 2 s şi în final 1 s.
Să se reprezinte grafic soluţiile numerice şi soluţia analitică şi să se comenteze rezultatele.
Aplicaţia 2.
Să se aproximeze y = e0,5 cu o expresie McLaurin având 1, 2, 3, 4, 5, 6 termeni. Să se calculeze eroarea absolută, eroarea relativă
exactă şi eroarea relativă aproximativă dacă valoarea exactă este: e0,5 =1,648721271

Rezolvare:
Seria McLaurin pentru funcţia exponenţială este:
x 2 x3 x 4 xn
y  ex  1 x     ....   ...
2! 3! 4! n!
Aproximaţiile de ordin „n” sunt:
n=0 y  ex  1
n=1 y  ex  1 x
x2
n=2 y  ex  1 x 
2!
x 2 x3
n = 3 y  ex  1 x  
2! 3!
.........
Să se comenteze erorile de truchiere asociate rezultatelor.

Aplicaţia 3.

Să se afle rădăcinile ecuaţiei de gradul 2: x 2  3000,001 x  3  0


Rezolvare:
 b  b 2  4ac
x1   3000
2a
 b  b 2  4ac  3000 .001  2999,999
x2    0,001   mare
2a 2
Observaţie: Scăderea unor numere zecimale foarte apropiate conduce la generare de erori de rotunjire.

Aplicaţia 4.

Să se aproximeze prin serie Taylor de ordinul n = 0, 1, 2, 3, 4 funcţia polinomială f ( x )  0,1x 4  0,15 x 3  0,5 x 2  0,25 x  1,2
definită pe intervalul [0,1]. Să se reprezinte grafic funcţia exactă şi cele cinci aproximaţii şi să se calculeze erorile asociate cu
acestea.

Indicaţie:
Dacă se consideră pasul h  1, se porneşte de la valoarea f 0   1,2 şi se aplică aproximaţia prin serie finită Taylor. In prealabil

se calculează derivatele necesare ale funcţiei in x  0 . Eroarea absolută a aproximaţiei este en  f 0  fn 0
f 0 f xi  2 f 0 3 f 0n  n
fn (1)  f 0 
~
h h  h  ....  h
1! 2! 3! n!
Astfel,
n=0: f0 (1)  f 0  , e0  ...
~

f 0
n=1: f1(1)  f 0 
~
1, e1  ...
1!
...
Să se comenteze evoluţia erorilor e n .

Aplicaţia 5.
Să se aproximeze funcţia f x   x m cu seria Taylor de ordinal întâi pe intervalul [1,2]. Se consideră m = 1, 2, 3 sau 4 şi pasul h
= 1.

Indicaţie:
f ( xi 1)  f xi   mxi m 1  h
~
In acest caz, x i  1 şi x i 1  2
Eroare absoluta devine e  f 2  f 2 pentru fiecare valoare a lui m.
~

Să se comenteze efectul valorii puterii m asupra mărimii erorii de aproximare (efectul neliniarităţilor).
La algoritmul de aproximare de mai sus, se păstrează m  4 şi se injumătăţeşte pasul h. Să se calculeze eroarea asociată cu
aproximarea funcţiei in x  2 .
f (1.5)  f 1  4  13  0.5  ...
~

f (2)  f 1.5   4  1.5 3  0.5  ...


~

Să se comenteze influenţa mărimii pasului de discretizare asupra erorii de aproximare.

2.2 PROGRAME MATLAB

 Metodele numerice introduc erori comparativ cu soluţiile analitice


% DATELE PROBLEMEI: un parasutist executa un salt in gol de la % mare inaltime.
clear all
m=68.1; % kg - masa parasutistului
c=12.5; % kg/s - coeficientul de frecare cu aerul
g=9.81; % m/s2 - acceleratia gravitationala

tf=30; % sec. - intervalul de timp estimat la inceput


% SOLUTIA ANALITICA "a"
ta=0:0.05:tf; % timpul
va=m*g/c*(1-exp(-c/m*ta)); % viteza
plot(ta,va,'r.')
hold on; grid on
disp('press any key')
pause
% SOLUTIA NUMERICA "n"
h=4; % sec. - pasul de timp
tn=0:h:tf;
l=length(tn); % lungimea vectorului tn (nr. de
% elemente din vectorul vn)
vn(1)=0; % m/s - viteza initiala
for i=1:(l-1),
vn(i+1)=vn(i)+(g-c/m*vn(i))*h;
end
plot(tn,vn,'bo',tn,vn,'b')
disp('press any key')
pause
%--------------- reia solutia numerica cu un alt pas de timp -----
h=2; % sec.
tn=0:h:tf;
l=length(tn);
vn(1)=0; % m/s
for i=1:(l-1),
vn(i+1)=vn(i)+(g-c/m*vn(i))*h;
end
plot(tn,vn,'go',tn,vn,'g')
disp('press any key')
pause
%---------------- reia solutia numerica cu un alt pas de timp ----
h=1; % sec.
tn=0:h:tf;
l=length(tn);
vn(1)=0; % m/s
for i=1:(l-1),
vn(i+1)=vn(i)+(g-c/m*vn(i))*h;
end
plot(tn,vn,'yo',tn,vn,'y')
hold off

 Erori de trunchiere la aproximarea funcţiilor matematice cu serii finite


% Sa se aproximeze y=exp(0.5) cu o serie McLaurin avand 1 - 6 termeni
% exp(x) = 1+x^2/2+x^3/6+x^4/24+x^5/120+x^6/720..........

% Sa se calculeze eroarea absoluta, eroarea relativa exacta si eroarea


% relativa aproximativa daca valoarea exacta este

% exp(0.5) = 1.648721271
x=0.5;
y0=1.648721271;
y1=1;
y2=1+x^2/2;
y3=1+x^2/2+x^3/6;
y4=1+x^2/2+x^3/6+x^4/24;
y5=1+x^2/2+x^3/6+x^4/24+x^5/120;
y6=1+x^2/2+x^3/6+x^4/24+x^5/120+x^6/720;

e_abs1=y0-y1; e_abs2=y0-y2;e_abs3=y0-y3;e_abs4=y0-y4;e_abs5=y0-y5;
e_abs6=y0-y6;
e_rel1=abs(e_abs1)/y0*100; % [%]
.......
e_rel_apr1=abs(y2-y1)/y2;
.......
 Erori de rotunjire (round-off errors) la scăderea unor numere zecimale foarte apropiate
% Sa se afle radacinile ecuatiei de gradul 2: x^2+3000.001*x+3=0
clear all
x1=(-3000.001-(3000.001^2-4*3)^0.5)/2;
x2=(-3000.001+(3000.001^2-4*3)^0.5)/2;

% apare aici diferenta a 2 numere foarte apropiate!


% De la "Options" alege "Long Numeric Format" si repeta programul

% Foloseste expresia alternativa pentru x2, obtinuta prin inmultirea cu


% conjugata

xx2=-2*3/(3000.001+(3000.001^2-4*3)^0.5)

% Afla radacinile folosind comanda "roots"


x1_x2=roots([1 3000.01 3])'

 Aproximarea prin serie Taylor a unei funcţii polinomiale


% Considerati functia f(x) polinomiala definita pe intervalul [0;1]:

clear all
x=0:0.01:1;
m=length(x);
f=-0.1*x.^4-0.15*x.^3-0.5*x.^2-0.25*x+1.2;
% Aproximarea Taylor de ordinul '0':
f0=f(1)*ones(size(x));

% Aproximarea Taylor de ordinul '1':


f1=1.2-0.25*(x-0);

% Aproximarea Taylor de ordinul '2':


f2=f1-0.5*(x-0).^2;

% Aproximarea Taylor de ordinul '3':


f3=f2-0.15*(x-0).^3;

% Aproximarea Taylor de ordinul '4':


f4=f3-0.10*(x-0).^4;

% Se reprezinta grafic funtia exacta si cele 5 aproximatii


plot(x,f,'r*',x,f0,'yo',x,f1,'bo',x,f2,'mo',x,f3,'co',x,f4,'go')
axis([-0.1 1.1 0 1.5])
grid

% Calculeaza eroarea functiei in x=1, asociata cu fiecare aproximare:


eroarea_absoluta=f(m)-[f0(m) f1(m) f2(m) f3(m) f4(m)]

 Efectul neliniarităţilor asupra aproximării Taylor

% Sa se aproximeze functia f(x)=x^m cu seria Taylor de ordinul 1, pe [1; 2]:


clear all
clf
x=1:0.05:2; l=length(x);
% Se considera m = 1, 2, 3 sau 4 si pasul h=2-1=1.
m=1;
f1=x.^m; % functia exacta
fa1=f1(1)+m*1^(m-1)*(x-1); % functia aproximata in x=2
figure(1)
plot(x,f1,'r',x,fa1,'ro')
xlabel('x')
ylabel('f(x)')
grid
text(1.8,1.5,'m=1')
hold on
%-------------------------------------------
m=2;
f2=x.^m;
fa2=f2(1)+m*1^(m-1)*(x-1);
plot(x,f2,'g',x,fa2,'go')
text(1.9,3.5,'m=2')
%-------------------------------------------
m=3;
f3=x.^m;
fa3=f3(1)+m*1^(m-1)*(x-1);
plot(x,f3,'b',x,fa3,'bo')
text(1.8,5.5,'m=3')
%-------------------------------------------
m=4;
f4=x.^m;
fa4=f4(1)+m*1^(m-1)*(x-1);
plot(x,f4,'c',x,fa4,'co')
text(1.7,7.5,'m=4')

% Calculeaza eroarea asociata in fiecare caz cu calculul in x=2


eroarea_absoluta=[f1(l)-fa1(l) f2(l)-fa2(l) f3(l)-fa3(l) f4(l)-fa4(l)]
% Calculeaza eroarea asociata cu modificarea lui h, pt. m=4:
h=1:-0.1:0;
R=6*h.^2+4*h.^3+h.^4;
figure(2); plot(h,R,'*'); xlabel('h'); ylabel('eroarea absoluta'); grid
2.3 PROGRAME MATHCAD

 Metodele numerice introduc erori comparativ cu soluţiile analitice

Datele problemei
kg m
mp  68.1kg cf  12.5 ag  9.81 tf  30s
s 2
s
1.Viteza finalã calculatã în functie de un t notat ta (analitic) este:
  cf 
 t 
ag  mp a  t  0s  0.05s  t m
vf ta  mp   1  e a f vf ( 30s)  53.228
s
c
f
2. Solutia numericã

Fie pasul initial de:


h1  4s
Numarul de iteratii este deci
tf
n1  i  1  n1  1 t1  0  h1  ( i  1)
h1 i
Viteza initiala
m  cf 
v1  0 v1  v1   g   v1   h1
i 1
1 s i
 mp i

Se repeta calculele pentru un pas de 2s respectiv 1s
tf
h2  2s n2  i  1  n2  1 t2  0  h2  ( i  1)
h2 i

Viteza initiala
m  cf 
v2  0 v2  v2   g   v2   h2
i 1
1 s i
 mp i

tf
h3  1s n3  i  1  n3  1 t3  0  h3  ( i  1)
h3 i

Viteza initiala

m  cf 
v3  0 v3  v3   g   v3   h3
i 1
1 s i
 mp i

 Erori de trunchiere la aproximarea funcţiilor matematice cu serii finite


Sa se aproximeze y=e0.5 cu o serie McLaurin avand 1, 2, 3, ...6 termeni
2 3 4 5 6
x x x x x x
e 1 x 2
 6
 24
 120
 720

Sa se calculeze eroarea absoluta eroarea relativa exacta si eroarea


relativa aproximativa daca valoarea exacta este:
e0.5=1.648721271

0.5
x  0.5 ye  e
2 2 3
x x x
y1  1  x y2  1  x  2
y3  1  x  2
 6

2 3 4 2 3 4 5
x x x x x x x
y4  1  x  2
 6
 24
y5  1  x  2
 6
 24
 120

2 3 4 5 6
x x x x x
y6  1  x  2
 6
 24
 120
 720

e_absi
i  1  6 e_absi  ye  yi e_reli   100
ye
i  2  6
yi  yi1
e_rel_apri 
yi

 Efectul neliniarităţilor asupra aproximării Taylor


Se considera functia f(x)=x^m definita pe intervalul [1;2]
Sa se aproximeze aceasta functie cu seria Taylor de ordinul 1 in punctul 2.
Se va considera m = 1, 2, 3,4.
Sa se calculeze eroarea asociata.
x  1  1.05  2 m  1
m
f1 ( x)  x
Functia aproximata in x=2 este:
fa1  f1 ( 1)  m  1 m1  ( 2  1)

err  f1 ( 2)  fa1 err  0


2
m  2 f2 ( x)  x

Functia aproximata in x=2 este:


fa2  f2 ( 1)  m  1 m1  ( 2  1)
err  f2 ( 2)  fa2 err  1
3
m  3 f3 ( x)  x

Functia aproximata in x=2 este:

fa3  f3 ( 1)  m  1 m1  ( 2  1)

err  f3 ( 2)  fa3 err  4

4
m  4 f4 ( x)  x

Functia aproximata in x=2 este:


fa4  f4 ( 1)  m  1 m1  ( 2  1)

err  f4 ( 2)  fa4 err  11


Probleme propuse

2.1. Se dă funcţia: f(x) = -0.1 x4 - 0.15 x3 - 0.5x2 - 0.25 x + 1.2. Pornind de la f(0) = 1.2, să se aproximeze f(1) folosind o serie
Taylor de ordin 1- 5. Să se calculeze erorile absolute şi erorile relative şi să se comenteze rezultatele.
2.2. Să se calculeze eroarea asociată cu calculul rezistenţei electrice a unui rezistor de formă cilindrică cu d = 5 mm şi lungimea l
= 2 cm, alcătuit din cupru cu rezistivitatea  = 1500 m. Eroarea de măsurare a lungimilor este el = 0,1 mm, iar cea de
măsurare a rezistivităţii este e=10 m
2.3. Să se calculeze eroarea relativă asociată cu aproximarea funcţiei f x   ln x  x 2 cu o serie Taylor trunchiată de ordinul 1, pe
intervalul [1;2] şi cu pasul h=0.5.
2.4. Să se calculeze eroarea asociată cu calculul puterii electrice P  RI2 , ştiind că eroarea ohmetrului este eR = 0.5 , iar cea a
ampermetrului este el = 0.1 A, pentru R = 10 , I = 7 A
2.5. Să se calculeze eroarea absolută/relativă asociată cu aproximarea funcţiei f x   x 2,5 cu o serie Taylor trunchiată de ordinul
1 sau 2, pe intervalul [1;2], h = 1.
2.6. Să se calculeze eroarea absolută/relativă asociată cu aproximarea funcţiei f x   x 3 / f x   x 4 cu o serie Taylor trunchiată de
ordinul 1 sau 2, pe intervalul [2;3].
2.7. Să se calculeze tg(x) pentru următoarele valori precalculate:
   
x~   0.1 si x~   0.01
2 2 2 2
x  f ' x~
~
2.8. Să se calculeze criteriul de stabilitate CS  în toate cazurile.
f x 
Obs: Valorile precalculate ale lui x se află în apropierea unui punct singular, fapt pentru care o eroare oricat de mica in
determinarea lui x conduce la erori de calcul enorme prin functia tg.
2.9. Se consideră o barcă prevăzută cu catarg, pentru care s-au determinat următoarele mărimi şi erorile lor:
~ ~
- incărcarea liniară: F  50 N/m , eF  2 N / m ( F  F  eF )
~ ~
- lungimea catargului: L  30 m , eL  10 cm ( L  L  eL )
~
- modulul de elasticitate: E  1.5  10 8 N/m 2 , eE  106 N/m2 ( E  E~  eE )
~ ~
- momentul de inerţie: I  0.06 m 4 , eI  0.0006 m4 ( I  I  eI )

F  L4
Să se calculeze abaterea vârfului (deflecţia) catargului, y  , precum şi eroarea de calcul a acesteia ey ( y  ~
y  ey
8 E  I
).

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