Mathcad

©dr inż. Konrad Witkiewicz • kwit.zut.edu.pl Aproksymacja za pomoca funkcji linfit Zad. 1. Dane są macierze yexp oraz xexp z danymi eksperymentalnymi: Aby aproksymować je wielomianem 2. stopnia o postaci:

 0 

51 









2

1.1

55

y









aprox(x)

a0 + a1⋅x +

=

a2⋅x

y

:= 



:= 



exp

5

xexp

58









12





63





należy zdefiniować funkcję f(x) w postaci macierzy, w kórej

 25 

67 

stały człon funkcji aproksymacyjnej oznaczamy przez wartość 1, pozostałe człony definiujemy oddzielnie w wierszach macierzy:

30

 1 





20

f (x)

x

:= 



yexp

 2 

10

x 

0

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

55

60

65

70

xexp

291.153





a := linfit x

= 



exp y

, exp f

,

(

)

−11.201





 0.108 

Definiujemy yaprox(x), w której indeksy przy a są numeryczne: 2

yaprox(x) := a0 + a1⋅x + a2⋅x Przedstawiamy dopasowanie na wykresie: Obliczamy błąd dopasowania: x := 50 .. 70

y

( exp − yaprox x ( exp))2

∑

błąd :=

= 1.388

40

length x

( exp) − length(a) 30

yexp

20

błąd

y

= 13.665⋅%

aprox( x)

mean y

(

)

10

exp

0

50

55

60

65

70

xexp x

,

1

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

 1 



3 





−7.131 × 10





x









f2(x)

−110.34

:=  2 

a2 := linfit x

,

f2

,

(

) = 



x

exp yexp





0.53





ln(x) 



3 

 2.894 × 10 

2

y2aprox(x) := a20 + a21⋅x + a22⋅x + a23⋅ln(x) x := 50 .. 70

40

y

( exp − y2aprox x ( exp))2

∑

30

y

błąd2 :=

= 0.708

exp

20

length x

( exp) − length(a) y2

( ) 10

aprox x

0

błąd2

= 9.765⋅%

mean y

− 10

( exp)

50

55

60

65

70

xexp x

,

2