Cześć :)
W moim programie muszę zbudować wielomian interpolacyjny Lagrange'a, a następnie narysować jego wykres.
Funkcja, która mnie interesuje to
f(x) = 1 / (5 + (x * x)).
Przeprowadzam interpolację za pomocą funkcji lagrange z biblioteki scipy.interpolate i wynik jej działania zapisuję do zmiennej L.
Gdy wypisuję ją na ekran pojawia się wzór powstałego wielomianu. Mam jednak problem z jego narysowaniem. Gdy próbuję to zrobić podając po prostu x i F jako argumenty plt.plot, wykres nie rysuje się poprawnie. Wydaje mi się, że problem jest w tym, że funkcja F jest w postaci, której plot nie potrafi odczytać, gdyż po wypisaniu jej na ekran dostaję poprawny wynik, jednak zapis wygląda tak, że potęgi x zapisane są w sposób x^(5), x^(6) itd. Jeżeli jest tak, jak myślę, to jak mogę sporządzić wykres tej funkcji? Jedyne, co przychodzi mi do głowy, do odczytanie współczynników wielomianu, a następnie przy pomocy pętli while lub for pomnożenie ich przez odpowiednie potęgi x, jednak jest to bardzo nieefektowne rozwiązanie, złożoność programu bardzo by wzrosła, a zależy mi na tym, aby była możliwie jak najmniejsza. Czy jest może jakiś inny sposób na narysowanie tego wykresu?
Fragment kodu:
import matplotlib.pyplot as plt
F = lagrange(x,y)
plt.plot(x, F)