%% H2T17R.m  Polynomin juurien virheherkkyys, häiriöalttius
%{
x^8 ? 36x^7 + 546x^6 ? 4536x^5 + 22449x^4 ? 67284x^3 +118124x^2 
? 109584x + 40320
%}
p=[1 -36 546 -4536 22449 -67284 118124 -109584 40320]
%{
Kun kirjoitat polynomin kerroinvektoria, muista 0-kertoimet, jos jokin
potenssi puuttuu. Tässä nyt ei sitä virheloukkua ole.
%}
juuret=roots(p)

disp('Ahaa, polynomi onkin muodostettu näin:')

syms x
poly=(x-1)*(x-2)*(x-3)*(x-4)*(x-5)*(x-6)*(x-7)*(x-8)
expand(poly)

%% Muutetaan x^7:n kerrointa hiukan:

q=p;
q(2)=-36.001
juuretq=roots(q)

disp('Oho, 6. ja 7. juuri hajosivat kompleksiliittoluvuiksi')

clear x
close all
x=linspace(0.5,8.5,500);
plot(x,polyval(p,x),'r',x,polyval(q,x),'b')
ylim([-800 800])
grid on
shg
%% Mikä selittää ilmiön? Wilkinsonin polynomin alempi versio.

dp=polyder(p)
vkerroin=(7^7)/polyval(dp,7)
vkerroin*10^(-3)

% Kts. tarkemmin Maple-ws: H2T17R.mw  ja .pdf
%%
% publish('H2T17R','pdf')
