Współczynniki wielomianu Lagrange'a
Ostatnio zmodyfikowano 2015-03-15 16:38
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. |
|
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 |
|
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
|
|
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 |
|
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. |
|
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 |
|
« 1 » |