You are on page 1of 2

Mathcad ©dr inż. Konrad Witkiewicz • kwit.zut.edu.

pl

Aproksymacja za pomocą funkcji linfit

Zad. 1. Dane są macierze yexp oraz xexp z danymi eksperymentalnymi:

Aby aproksymować je wielomianem 2. stopnia o postaci:


 1   51 
 2.3   55  2
    yaprox( x) = a0 + a1⋅ x + a2⋅ x
yexp :=  5  xexp :=  58 
 12   63 
    należy zdefiniować funkcję f(x) w postaci wektora
 25   67  elementów funkcji (bez wspołczynników), jeżeli jest
tylko współczynnik - wpisujemy 1

30
1
 
20 f ( x) :=  x 
yexp
 2
10 x 

0 Obliczamy współczynniki funkcji yaprox ( x):


50 55 60 65 70
xexp  a   310.642 
 b  := linfit( xexp, yexp, f ) =  −11.774 
c  0.112 
   

Definiujemy funkcję aproksymacyjną yaprox ( x):

2
yaprox( x) := a + b ⋅ x + c⋅ x

Przedstawiamy dopasowanie na wykresie: Obliczamy błąd dopasowania


δ:

x := 50 .. 70 (
N := length yexp = 5 )
40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯ →
100 ( )
yaprox xexp − yexp
yexp
30 δ :=
N

 yexp
= 17.445 %
20
yaprox ( x)
10

0
50 55 60 65 70
xexp , x

1
Zmieńmy funkcję aproksymacyjną dodając kolejny człon ln ( x):

 1  e   −9.512 × 103 
 
 x     
f2 ( x) :=    f  := linfit x , y , f2 =  −142.979 
 x  2 g  ( exp exp )
 0.671 
     3.83 × 103 
 ln ( x)  h   

2
yaprox2 ( x) := e + f ⋅ x + g⋅ x + h⋅ ln ( x)

x := 50 .. 70
40

30
yexp
20
yaprox2 ( x)
10

0
50 55 60 65 70
xexp , x

Błąd dopasowania:

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ →
100 ( )
yaprox2 xexp − yexp
δ :=
N

 yexp
= 6.761 %

You might also like