Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Współczynniki wielomianu Lagrange'a

Ostatnio zmodyfikowano 2015-03-15 16:38
Autor Wiadomość
dek12
Temat założony przez niniejszego użytkownika
Współczynniki wielomianu Lagrange'a
» 2015-03-14 21:27:14
Siemanko, dopiero łapię styczność z metodami numerycznymi ale już utknąłem.
Ogólnie interpretację matematyczną interpolacji wielomianowej rozumiem. Ale problem pojawia się przy pisaniu programu.
Mamy dwie pętlę i'tą dla sumy i j'tą dla iloczyny. No i mamy n punktów, gdy chcę wyliczyć wartość wielomianu dla jakiejś dowolnej wartości no to wszystko rozumiem. Do wzoru tego (specjalnie pokazałem tylko kawałek wzoru, bez sum i iloczynu, żeby bardziej zobrazować o co mi chodzi)
x - xj / xi - xj
za x podstawiam tą dowolną wartość, a za xi i xj dane węzły.
Ale problem pojawia się, gdy chcę aby program po dostaniu n węzłów wypluł mi wzór wielominu, czyli np x^3 + x^2 + 2x itp. tylko nie wiem wtedy jak to zrobić, no bo nie mam co za ten x podstawić, bo nie szukam dla jakiejś dowolnej wartości. Muszę teraz znaleźć współczynniki wielomoniu? Ale jak?
mam nadzieje, że rozumiecie o co chodzi i proszę o pomoc. Tylko prosiłbym o danie wędki jak już coś.

Pozdrawiam.
P-128385
Esteban
» 2015-03-15 01:01:32
Do przedstawienia wielomianu wystarczy użyć 2 rzeczy:
1. tablicy - do współczynników
2. funkcji do potęgowania pow( , x)  z biblioteki math.h
zawartych w pętli for

Jeżeli to wszystko umieścisz w osobnej funkcji, wtedy będziesz mógł sobie do niej podstawiać dowolnego x-a

Mam nadzieję, że przynajmniej Ciebie zainspirowałem
P-128440
dek12
Temat założony przez niniejszego użytkownika
» 2015-03-15 09:17:50
No wlasnie nie do konca rozumiem. Bo potrzebne mi sa wspolczynniki. Gdybym zrobil macierz rownan to umialbym je wyliczyc a nie wiem jak wyliczyc je za pomoca tego wzoru. Bo wartosc wielomianu dla dowolnego x umiem wyznqczyc
P-128442
Esteban
» 2015-03-15 13:59:21
W(x) = a1 x + a2 x^2 + a2 x^3 + a2 x^4
Używając tablicy:
W(x) = a[0]*x + a[1]*x^2 + a[2]*x^3 + a[3]*x^4

Aby przedstawić dowolny wielomian wystarczą same jego współczynniki,
zatem twoim wielomianem W  będzie tablica a[ ]

Jeżeli chcesz obliczyć wartość tego wielomianu od danej liczby
to wystarczy używając pętli for  pomnożyć każdy ze współczynników razy twoją liczbę do coraz wyższej potęgi
P-128460
dek12
Temat założony przez niniejszego użytkownika
» 2015-03-15 14:17:14
a nie tak?
W(x) = a[0] + a[1]*x + a[2]*x^2 + a[3]*x^3
?

Tyle to ja właśnie wiem, tylko nie wiem, jak wyznaczyć te a.
P-128462
Esteban
» 2015-03-15 16:38:44
Dobrze mówisz, chodzi Ci zapewne o to:
Jak zmienić postać (x-1)(x-2)(x+1) = x^3 -2x^2 -x +2
Każdy z tych nawiasów traktujesz jako zwykły wielomian

Zajmijmy się na razie dwoma pierwszymi nawiasami (x-1) * (x-2)
1. tablica a[0]= -1 , a[1]= 1 ,          a[2]=0 ...
2. tablica b[0]= -2 , b[1]= 1 ,          b[2]=0 ...

3. tablica R[0]  , R[1] , R[2]
R[0] = a[0] * b[0]
R[1] = a[0] * b[1] + a[1] * b[0]
R[2] = a[0] * b[2] + a[2] * b[0] + a[1] * b[1]

(x-1) * (x-2) = ( x^2 -3x +2 )
Zająłem się tylko dwoma nawiasami, albowiem jeżeli umiesz wymnożyć 2 nawiasy, to umiesz wymnożyć wszystkie
P-128476
« 1 »
  Strona 1 z 1