1 punkt
Transkrypt
1 punkt
Metody Numeryczne Laboratorium 4 Interpolacja wielomianowa Zadanie2.1 (1 punkt) Napisać w dowolnym legalnie dostępnym kodzie na przykład Octave program obliczania współczynników wielomianu Lagrange i jego wartość w wybranym punkcie. Rozwiązanie function lagrange(x,y,a) % % funkcja „ lagrange ”oblicza wspolczynniki wielomianu Lagrange’a % i określa jego wartosc w punkcie a. % % data programista % 4.11.2003 Janusz Chojnacki % % dane wejsciowe % x --- wektor węzłów. % y --- wektor wartości funkcji w danych wezłach % a --- dowolna liczba rzeczywista % % obliczenie ilosci węzłów n=length(x); % % określenie początkowej wartosci wielomianu p=0; % % skonstruowanie wielomianow bazowych Lagrange’a for k=1:n b(k)=1; d(k)=1; for j=1:n if j~= k b(k)=b(k)*(x(k)-x(j)); d(k)=d(k)*(a-x(j)); end end % % obliczenie wspolczynnikow wielomianu Lagrange’a c(k)=y(k)/b(k); % % obliczenie wartosci wielomian w punkcie a p=p+c(k)*d(k); % wyprowadzenie wartości wspolczynnikow oryginalny kod Octave v. 2.1.50 c % %wydrukowanie wartosci wielomianu w formacie staloprzecinkowym fprintf('\n p(a)= %10.6f',p) fprintf('\n') % % zakończenie programu endfunction Zadanie 2.2 (1 punkt) Cena znaczka pocztowego w USA była następująca ( w centach): rok 1885 1917 1919 1932 1958 1963 1968 1971 1974 1978 1985 1991 1995 2 3 3 4 5 6 8 10 15 22 29 32 2 cena Wykorzystując funkcję ,,lagrange” z zadania 2.1, wyznaczyć wielomian interpolacyjny Lagrange dla tych danych. Kiedy cena znaczka wyniesie $1 i $10? Zadanie 2.3 (1 punkt) Względne wodne stężenie etanolu w zależności od jego procentowej zawartości (wagi) przedstawia następująca tablica: Waga ( %) 0 20 40 60 80 100 Stężenie 1.000 2.183 2.840 2.542 1.877 1.201 Wykorzystując program ,, lagrange’’ określić względne stężenie etanolu dla 30%, 50%, 70%, 90% jego zawartości. Zadanie 2.4 (1 punkt) Napisać w legalnie dostępnym kodzie na przykład w Octave program obliczający współczynniki wielomianu interpolacyjnego Lagrange’a metodą bezpośrednią to znaczy rozwiązujący układ równań V ⋅ a = y, gdzie V – macierz Vandermonde’a dla danych wektorów X – węzłów i Y - wartości Wskazówka: Macierz Vandermonda V wygenerować jedną z następujących procedur: for k = 1:n for j = 2:n V=[ ]; V(k, j)= X(k)*V(k,j-1); lub for k=0:length(X)-1 ; V=[V X.^k]; Zadanie 2.5 (1 punkt) Rozwiązać metodą bezpośrednią ( za pomocą programu z zadania 2.4) zadania 2.2 i 2.3. Porównać otrzymane wyniki. Janusz Chojnacki