% polymult,  polynommultiplikation på smart sätt
% Givet polynomet Pa(x)=a1+a2*x+a3*x^2+...+a(n+1)*x^n
%   och polynomet Pb(x)=b1+b2*x+b3*x^2+...+b(m+1)*x^m
% Beräkna koefficienterna i polynomet Pc(x) = Pa(x)*Pb(x)
% som blir ett polynom av gradtal n+m med N=n+m+1 koeff.
  clear, clf
  n=5;  a=[2 5 -3 -4 1 3];      % koefficienter i Pa(x)
  m=4;  b=[7 -3 1 3 -2];        % koefficienter i Pb(x)
  N=n+m+1; x=0.2*(-n:m)';       % välj ut N interpolationspunkter
  pa=0; for i=n+1:-1:1, pa=pa.*x+a(i); end
  pb=0; for i=m+1:-1:1, pb=pb.*x+b(i); end
  subplot(2,2,1), stem(x,pa)    % rita Pa(x) i de N punkterna
  hold on, stem(x,pb,':')       % rita Pb(x) i de N punkterna
  title('Pa(x) och Pb(x)')
  pc=pa.*pb;                    % Pc(x) beräknad i dessa punkter
  subplot(2,2,2), stem(x,pa), hold on
  stem(x,pb,':'), plot(x,pc,'*', x,pc)
  title('Pa, Pb och Pc(x)'), axis([-1 1 -25 30])
% Bygg upp interpolationsmatrisen A 
  Ak=ones(N,1);  A=Ak;
  for kol=2:N, Ak=Ak.*x; A=[A Ak]; end
  c=A\pc                        % koeff. i polynomet Pc(x)




 
