aproksymacja sprawozdanie

background image

Politechnika Śląska

Gliwice

Wydział Automatyki Elektroniki i Informatyki

Rok akademicki 2008/2009

Kierunek: Automatyka i Robotyka sem. IV

Semestr letni

Laboratorium Metod Numerycznych

Ćwiczenie 6: Aproksymacja

Wykonali:

Barski Grzegorz

Kapusta Mateusz

Grupa 4 Sekcja 1

Data odbycia dwiczenia:

20.04.2009

background image

Wprowadzenie

Aproksymacja to proces określania rozwiązao przybliżonych na podstawie rozwiązao znanych, które są bliskie
rozwiązaniom dokładnym w ściśle sprecyzowanym sensie. Przeważnie aproksymuje się funkcje skomplikowane
funkcjami prostszymi. W zależności od celu aproksymacji wybieramy różne metody, w których różnie można
definiowad jakośd przybliżenia, wprowadzając różne miary odległości między funkcjami (aproksymowaną i
aproksymującą).

Dla danej funkcji

oraz aproksymującej ją funkcji

gdzie

można wprowadzid miary odległości

między obiema funkcjami określające metody aproksymacji:

Miara jednostajna

Miara średniokwadratowa (z wagą

Miara punktowa – gdy funkcja aproksymowana dana jest w dyskretnych punktach

Stosując aproksymację średniokwadratową funkcję

należy aproksymowad funkcją

Przebieg ćwiczenia

Zadanie 1.

Dla

zadanej funkcji aproksymowanej

funkcji ważącej

przedziału aproksymacji

funkcji aproksymującej w postaci wielomianu

należało zaprogramowad algorytm wyznaczający współczynniki funkcji aproksymującej wykorzystując
aproksymację średniokwadratową. Dodatkowo wykreślono wielomiany aproksymujące funkcję

.

Zgodnie z wielomianami Legendre’a przyjęto:

Następnie wyznaczono kolejne wielomiany stopni

według wzoru na wielomiany Legendre’a:

background image

Na podstawie powyższego wzoru otrzymujemy wyrażenia na kolejne

:

Wyznaczono następnie wartości współczynników oraz według wzoru:

c

0

=1.028123101·10

-13

=0

c

1

=0.9035060368=0.9035

c

2

=9.659973074·10

-13

=0

c

3

=-0.06304606782=-0.063

c

4

=1.250552562·10

-11

=0

c

5

=0.001

Po podstawieniu współczynników w odpowiednie miejsca odpowiednich wielomianów:

Otrzymano wielomiany kolejnych rzędów oraz ich dokładności (błędy):

Wielomian q

i

(x)

Błąd

background image

Do wyznaczenia poszczególnych wielkości:

oraz uzyskania wykresów, wykorzystywanych w trakcie aproksymacji średniokwadratowej skorzystano ze środowiska
Derive 6.0™ oraz środowiska Mathematica™. Nie wykreślono wielomianów stopnia

oraz

, ponieważ nie

różniły się niczym od wielomianów stopnia odpowiednio

.

Zadanie 2.

Dla zadanych wartości funkcji aproksymowanej zaprogramowad algorytm obliczający aproksymację punktową
metodą wielomianów ortogonalnych.

Otrzymano punkty do algorytmu

X

-2

-1 0 1 2

Y -4 -1 -2 0 -1

Następnie wyznaczono wielomiany ortogonalne:

Poniżej przedstawiono przebiegi wielomianów aproksymujących

background image

Algorytm działania metody

//********** aproksymacja punktowa *********************************************
//******************** wybór wartości m i n ************************************

const int n=5;
const int m=1;
float tab[5][2],S[2*m+1],T[m+1],B[m+1][m+1],C[m+1][m+1];

float A[m+1][m+1],sum,y[m+1],wynik[m+1];
int i,j,k;
fstream plik;

//otwarcie pliku do zapisu

void utworz(){

//tworzenie macierzy B,C dla metody choleskiego

for(i=0;i<=m;i++)
for(j=0;j<=m;j++){
B[i][j]=0;
C[i][j]=0;
}
for(i=0;i<=m;i++){
B[i][0]=A[i][0];
C[0][i]=A[0][i]/B[0][0];
}
for(i=1;i<=m;i++)
for(j=1;j<=m;j++){
if(j<=i){
sum=0;
for(k=0;k<=j-1;k++)
sum+=B[i][k]*C[k][j];
B[i][j]=A[i][j]-sum;
}
if(j>=i){
sum=0;
for(k=0;k<=i-1;k++)
sum+=B[i][k]*C[k][j];
C[i][j]=(A[i][j]-sum)/B[i][i];
}
}
}

background image


void oblicz(){

//obliczenie Xi metodą choleskiego

for(i=0;i<=m;i++){
if(i==0)
y[0]=T[0]/B[0][0];
else{
sum=0;
for(k=0;k<i;k++)
sum+=B[i][k]*y[k];
y[i]=(T[i]-sum)/B[i][i];
}
}
for( i=m;i>=0;i--){
if(i==m)
wynik[i]=y[i];
else{
sum=0;
for(k=i+1;k<=m;k++)
sum+=C[i][k]*wynik[k];
wynik[i]=y[i]-sum;
}
}
}
int main(){

//deklaracja punktów

tab[0][0]=-2;
tab[1][0]=-1;
tab[2][0]=0;
tab[3][0]=1;
tab[4][0]=2;
tab[0][1]=-4;
tab[1][1]=-1;
tab[2][1]=-2;
tab[3][1]=0;
tab[4][1]=-1;
for(i=0;i<=2*m;i++)
for(j=0;j<n;j++)
S[i]+=pow(tab[j][0],i);
for(i=0;i<=m;i++)
for(j=0;j<n;j++)
T[i]+=pow(tab[j][0],i)*tab[j][1];
for(i=0;i<=m;i++)
for(j=0;j<=m;j++)
A[i][j]=S[i+j];
utworz();
oblicz();
cout<<"Q"<<m<<"(x) = ";
plik.open("wynik.txt",ios::out);
for( i=0;i<=m;i++){
cout<<wynik[m-i]<<"x^"<<m-i;
plik<<wynik[m-i]<<"x^"<<m-i;
if(wynik[m-i-1] >= 0){
cout<<"+";
plik<<"+";
}
}

Wnioski

1. Analiza wykresów pozwala na wniosek: im wyższy stopieo wielomianu aproksymującego tym wielomian jest

bliższy zadanej funkcji na konkretnym przedziale.

2. Dla aproksymacji średniokwadratowej wykresy już przy 5 stopniu wielomianu są bardzo bliskie rzeczywistej

funkcji

.

3. Dla aproksymacji punktowej widad na podstawie analizy powyższego wykresu, iż każdy kolejny stopieo

wielomianu daje wykres przechodzący przez jeden punkt więcej w stosunku do poprzedniego wielomianu
niższego rzędu poczynając od dwóch punktów dla wielomianu w postaci funkcji liniowej. Konsekwencją tego
jest fakt, iż dla czwartego stopnia wielomian aproksymujący staje się wielomianem interpolacyjnym, a
punkty węzłami interpolacji, zatem aby uzyskad jednoznaczne rozwiązanie, wielomian przechodzący przez
zadane punktów musi byd stopnia

.

4. Metoda aproksymacji funkcji daje wyniki bardzo dokładne, a jednocześnie znacznie upraszcza postad funkcji,

co pozwala łatwo określid wartośd funkcji dla dowolnego argumentu.


Wyszukiwarka

Podobne podstrony:
Sprawozdanie aproksymacja syganłu
2 definicje i sprawozdawczośćid 19489 ppt
PROCES PLANOWANIA BADANIA SPRAWOZDAN FINANSOWYC H
W 11 Sprawozdania
Wymogi, cechy i zadania sprawozdawczośći finansowej
Analiza sprawozdan finansowych w BGZ SA
W3 Sprawozdawczosc
1 Sprawozdanie techniczne
Karta sprawozdania cw 10
eksploracja lab03, Lista sprawozdaniowych bazy danych
2 sprawozdanie szczawianyid 208 Nieznany (2)
Fragmenty przykładowych sprawozdań
Lab 6 PMI Hartownosc Sprawozdan Nieznany
entalpia aproksymacja
Mikrokontrolery Grodzki Sprawoz Nieznany
biochemia sprawozdanie O (1)
Chemia fizyczna sprawozdanie (6 1) id 112219

więcej podobnych podstron