Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1.
- clear all;
- clc;
- %% Współrzędne punktów dla wielomianu interpolacyjnego testowego
- format compact;
- % Współrzędne x interpolowanych punktów wielomianu
- x = [0 1 2]
- % 2x^4-3X^3+3X^2-2X+1
- w = [2, - 3, 3, - 2, 1]
- w = fliplr(w);
- y = polyval(fliplr(w),x);
- %% Wyznaczanie współczynników wielomianów interpolacyjnych
- wL = Lagrange(x,y);% ze skryptów funkcyjnych
- wN = Newton(x,y);
- %% Analiza i wyświetlanie wyników
- % Okreslenie liczby wyników - wierszy tabeli
- Nw = size(w,2); % Liczba współczynników wielomianu interpolowanego
- Ni = size(wN,2); % Liczba współczynników wielomianu interpolacyjnego
- N = max(Nw,Ni);
- % Wyrównywanie rozmiarów tablic współczynników
- if (Nw < N)
- w(N) = 0; % Rozszerzona tablica wsp. wiel. interpolowanego
- elseif (Ni < N)
- wL(Nw) = 0; % Rozszerzona tablica wyników współczynników
- wN(Nw) = 0; % wielomianów interpolacyjnych Lagrange'a i Newtona
- end;
- % Wyzanczanie błedów interpolacji
- dwL = w - wL; % Bład interpolacji Lagrange'a
- dwN = w - wN; % Błąd interpolacji Newtona
- % Tworzenie tablicy z wynikami
- tbl=[(0:N-1)', w', wL', dwL', wN', dwN'];
- disp(' ')
- disp(' NrWsp WielInt WielLag BladLag WielNew BladNew')
- %% Wyświetlanie wyników
- format short e;
- disp(tbl);
- %% Wyświetlanie wykresu wielomianów
- xx = linspace(min(x),max(x),1000);%min(x):(max(x) - min(x))/1000:max(x);
- yy = polyval(fliplr(wL),xx);
- plot(x,y,'ko')
- hold on
- plot(xx,yy,'b-');
- yy = polyval(fliplr(wN),xx);
- plot(xx,yy,'r--');
- yy = polyval(fliplr(w),xx);
- plot(xx,yy,'k:');
- title('Interpolacja wielomianu 4 stopnia');
- xlabel('x');
- ylabel('W(x)');
- legend('Punkty int.','W. Lagrange''a','W. Newtona','w. interpolowany',...
- 'Location','best');
- hold off
- 2.
- clear all;
- clc;
- %% Współrzędne punktów dla wielomianu interpolacyjnego testowego
- format compact;
- % Współrzędne x interpolowanych punktów wielomianu
- x = [-1 0 1 2]
- % 2x^4-3X^3+3X^2-2X+1
- w = [2, - 3, 3, - 2, 1]
- w = fliplr(w);
- y = polyval(fliplr(w),x);
- %% Wyznaczanie współczynników wielomianów interpolacyjnych
- wL = Lagrange(x,y);% ze skryptów funkcyjnych
- wN = Newton(x,y);
- %% Analiza i wyświetlanie wyników
- % Okreslenie liczby wyników - wierszy tabeli
- Nw = size(w,2); % Liczba współczynników wielomianu interpolowanego
- Ni = size(wN,2); % Liczba współczynników wielomianu interpolacyjnego
- N = max(Nw,Ni);
- % Wyrównywanie rozmiarów tablic współczynników
- if (Nw < N)
- w(N) = 0; % Rozszerzona tablica wsp. wiel. interpolowanego
- elseif (Ni < N)
- wL(Nw) = 0; % Rozszerzona tablica wyników współczynników
- wN(Nw) = 0; % wielomianów interpolacyjnych Lagrange'a i Newtona
- end;
- % Wyzanczanie błedów interpolacji
- dwL = w - wL; % Bład interpolacji Lagrange'a
- dwN = w - wN; % Błąd interpolacji Newtona
- % Tworzenie tablicy z wynikami
- tbl=[(0:N-1)', w', wL', dwL', wN', dwN'];
- disp(' ')
- disp(' NrWsp WielInt WielLag BladLag WielNew BladNew')
- %% Wyświetlanie wyników
- format short e;
- disp(tbl);
- %% Wyświetlanie wykresu wielomianów
- xx = linspace(min(x),max(x),1000);%min(x):(max(x) - min(x))/1000:max(x);
- yy = polyval(fliplr(wL),xx);
- plot(x,y,'ko')
- hold on
- plot(xx,yy,'b-');
- yy = polyval(fliplr(wN),xx);
- plot(xx,yy,'r--');
- yy = polyval(fliplr(w),xx);
- plot(xx,yy,'k:');
- title('Interpolacja wielomianu 4 stopnia');
- xlabel('x');
- ylabel('W(x)');
- legend('Punkty int.','W. Lagrange''a','W. Newtona','w. interpolowany',...
- 'Location','best');
- hold off
- 3.
- clear all;
- clc;
- %% Współrzędne punktów dla wielomianu interpolacyjnego testowego
- format compact;
- % Współrzędne x interpolowanych punktów wielomianu
- x = [-2 -1 0 1 2]
- % 2x^4-3X^3+3X^2-2X+1
- w = [2, - 3, 3, - 2, 1]
- w = fliplr(w);
- y = polyval(fliplr(w),x);
- %% Wyznaczanie współczynników wielomianów interpolacyjnych
- wL = Lagrange(x,y);% ze skryptów funkcyjnych
- wN = Newton(x,y);
- %% Analiza i wyświetlanie wyników
- % Okreslenie liczby wyników - wierszy tabeli
- Nw = size(w,2); % Liczba współczynników wielomianu interpolowanego
- Ni = size(wN,2); % Liczba współczynników wielomianu interpolacyjnego
- N = max(Nw,Ni);
- % Wyrównywanie rozmiarów tablic współczynników
- if (Nw < N)
- w(N) = 0; % Rozszerzona tablica wsp. wiel. interpolowanego
- elseif (Ni < N)
- wL(Nw) = 0; % Rozszerzona tablica wyników współczynników
- wN(Nw) = 0; % wielomianów interpolacyjnych Lagrange'a i Newtona
- end;
- % Wyzanczanie błedów interpolacji
- dwL = w - wL; % Bład interpolacji Lagrange'a
- dwN = w - wN; % Błąd interpolacji Newtona
- % Tworzenie tablicy z wynikami
- tbl=[(0:N-1)', w', wL', dwL', wN', dwN'];
- disp(' ')
- disp(' NrWsp WielInt WielLag BladLag WielNew BladNew')
- %% Wyświetlanie wyników
- format short e;
- disp(tbl);
- %% Wyświetlanie wykresu wielomianów
- xx = linspace(min(x),max(x),1000);%min(x):(max(x) - min(x))/1000:max(x);
- yy = polyval(fliplr(wL),xx);
- plot(x,y,'ko')
- hold on
- plot(xx,yy,'b-');
- yy = polyval(fliplr(wN),xx);
- plot(xx,yy,'r--');
- yy = polyval(fliplr(w),xx);
- plot(xx,yy,'k:');
- title('Interpolacja wielomianu 4 stopnia');
- xlabel('x');
- ylabel('W(x)');
- legend('Punkty int.','W. Lagrange''a','W. Newtona','w. interpolowany',...
- 'Location','best');
- hold off
- 4.
- clear all;
- clc;
- %% Współrzędne punktów dla wielomianu interpolacyjnego testowego
- format compact;
- % Współrzędne x interpolowanych punktów wielomianu
- x = [-3 -2 -1 0 1 2 3]
- % 2x^4-3X^3+3X^2-2X+1
- w = [2, - 3, 3, - 2, 1]
- w = fliplr(w);
- y = polyval(fliplr(w),x);
- %% Wyznaczanie współczynników wielomianów interpolacyjnych
- wL = Lagrange(x,y);% ze skryptów funkcyjnych
- wN = Newton(x,y);
- %% Analiza i wyświetlanie wyników
- % Okreslenie liczby wyników - wierszy tabeli
- Nw = size(w,2); % Liczba współczynników wielomianu interpolowanego
- Ni = size(wN,2); % Liczba współczynników wielomianu interpolacyjnego
- N = max(Nw,Ni);
- % Wyrównywanie rozmiarów tablic współczynników
- if (Nw < N)
- w(N) = 0; % Rozszerzona tablica wsp. wiel. interpolowanego
- elseif (Ni < N)
- wL(Nw) = 0; % Rozszerzona tablica wyników współczynników
- wN(Nw) = 0; % wielomianów interpolacyjnych Lagrange'a i Newtona
- end;
- % Wyzanczanie błedów interpolacji
- dwL = w - wL; % Bład interpolacji Lagrange'a
- dwN = w - wN; % Błąd interpolacji Newtona
- % Tworzenie tablicy z wynikami
- tbl=[(0:N-1)', w', wL', dwL', wN', dwN'];
- disp(' ')
- disp(' NrWsp WielInt WielLag BladLag WielNew BladNew')
- %% Wyświetlanie wyników
- format short e;
- disp(tbl);
- %% Wyświetlanie wykresu wielomianów
- xx = linspace(min(x),max(x),1000);%min(x):(max(x) - min(x))/1000:max(x);
- yy = polyval(fliplr(wL),xx);
- plot(x,y,'ko')
- hold on
- plot(xx,yy,'b-');
- yy = polyval(fliplr(wN),xx);
- plot(xx,yy,'r--');
- yy = polyval(fliplr(w),xx);
- plot(xx,yy,'k:');
- title('Interpolacja wielomianu 4 stopnia');
- xlabel('x');
- ylabel('W(x)');
- legend('Punkty int.','W. Lagrange''a','W. Newtona','w. interpolowany',...
- 'Location','best');
- hold off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement