Witam,
czy istnieje jakiś sposób na uzyskanie funkcji wielomianowej mając dane jej wartości dla niektórych parametrów? Chodzi mi tu o ogólny algorytm wyznaczenia takiej funkcji wielomianowej. Słyszałem, że coś takiego można uzyskać stosując FFT (szybką transformację Fouriera), ale nie wiem, ile w tym prawdy, ani tym bardziej jak się do tego zabrać.
Oczywiście zdaję sobie sprawę, że punkty nie wyznaczają jednoznacznie funkcji wielomianowej, jednak chodzi mi o to, by uzyskać funkcję która w sposób przybliżony będzie przewidywać wyniki innej funkcji, której wartości mam dane dla pewnych, podanych argumentów.
Uzyskanie wielomianu na podstawie punktów wykresu
- mortan517
- Użytkownik
- Posty: 3359
- Rejestracja: 6 lis 2011, o 15:38
- Płeć: Mężczyzna
- Lokalizacja: Krk
- Podziękował: 112 razy
- Pomógł: 662 razy
Re: Uzyskanie wielomianu na podstawie punktów wykresu
Poczytaj o interpolacji wielomianowej. Dla \(\displaystyle{ n+1}\) punktów można uzyskać wielomian stopnia \(\displaystyle{ n}\), który "przechodzi" przez te punkty.
-
- Użytkownik
- Posty: 817
- Rejestracja: 19 lis 2016, o 23:48
- Płeć: Mężczyzna
- wiek: 21
- Lokalizacja: Polska
- Podziękował: 3 razy
- Pomógł: 115 razy
Re: Uzyskanie wielomianu na podstawie punktów wykresu
Wręcz przeciwnie. Zbiór \(\displaystyle{ n+1}\) punktów jednoznacznie wyznacza wielomian \(\displaystyle{ n}\)-tego stopnia.
Najbardziej podstawowa metoda (dla małych wielomianów lub informatyczna "na pałę")
\(\displaystyle{ W(x) = a_0x^n+a_1x^{n-1}+...+a_{n}}\)
I rozwiązujesz układ równań
\(\displaystyle{ W(x_0) = y_0 \\ W(x_1) = y_1\\
W(x_2) = y_2\\
...\\
W(x_n) = y_n}\)
Co więcej, jeszcze można zgadywać postać iloczynową \(\displaystyle{ W(x) = (x-x_0)(x-x_1)...(x-x_n)}\), jeśli masz podane miejsca zerowe lub postać \(\displaystyle{ W(x) = (x-x_0)(x-x_1)...(x-x_n)+r}\) jeśli masz podaną inną wartość. Jeśli dużo wartości się powtarza (np. dla 10 z 15 wartości masz \(\displaystyle{ W(x_i) = a}\) to to pozwala zredukować liczbę ewentualnych równań do zliczenia :V)
Najbardziej podstawowa metoda (dla małych wielomianów lub informatyczna "na pałę")
\(\displaystyle{ W(x) = a_0x^n+a_1x^{n-1}+...+a_{n}}\)
I rozwiązujesz układ równań
\(\displaystyle{ W(x_0) = y_0 \\ W(x_1) = y_1\\
W(x_2) = y_2\\
...\\
W(x_n) = y_n}\)
Co więcej, jeszcze można zgadywać postać iloczynową \(\displaystyle{ W(x) = (x-x_0)(x-x_1)...(x-x_n)}\), jeśli masz podane miejsca zerowe lub postać \(\displaystyle{ W(x) = (x-x_0)(x-x_1)...(x-x_n)+r}\) jeśli masz podaną inną wartość. Jeśli dużo wartości się powtarza (np. dla 10 z 15 wartości masz \(\displaystyle{ W(x_i) = a}\) to to pozwala zredukować liczbę ewentualnych równań do zliczenia :V)
Uzyskanie wielomianu na podstawie punktów wykresu
Dziękuję za pomoc, widzę już, że rozwiązanie jest dość oczywiste.