Mo Logo [Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen]

Mathematik-Online-Aufgabensammlung: Lösung zu

Aufgabe 1539: Interpolation bei unterschiedlichen Stützstellen


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Vergleichen Sie die Interpolation mit äquidistanten Stützstellen und mit Tschebyscheff-Stützstellen für die Funktion $ f(x)=\sqrt{1+x^2}$ auf dem Intervall $ [0,1]$.

Schreiben Sie dazu ein MATLAB-Programm, das die Interpolationspolynome vom Grad $ n$ aus $ n+1$ Stützsttellen für $ n=2^k\,,\ k=1:5$ bestimmt. Werten Sie die Interpolationspolynome an $ 1000$ äquidistant verteilten Punkten $ x_k$ im Intervall $ [0,1]$ aus und bestimmen Sie jeweils die größte Abweichung $ \max_k \vert p(x_k)-f(x_k)\vert$.


Das Programm


function interpolationsvergleich(steps)
% Aequidistant
ea=[];
for k=1:steps
  n=2^k;
  x=linspace(0,1,n+1);
  p=polyfit(x,myf(x),n);
  xp=linspace(-0,1,1000);
  pp=polyval(p,xp);
  ea(k)=max(abs(pp-myf(xp)));
end

% Tschebyscheff
eb=[];
for k=1:steps 
  n=2^k;
  x=(cos((2*[0:n]+1)/(2*(n+1))*pi)+1)/2;  
  p=polyfit(x,myf(x),n);
  xp=linspace(0,1,1000);
  pp=polyval(p,xp);
  eb(k)=max(abs(pp-myf(xp)));
end

format short g
ea
eb

function f=myf(x)
f=sqrt(1+1*x.^2);

liefert beim Aufruf interpolationsvergleich(5)

ea =
    0.0062838   0.00018183   2.4207e-07   7.4534e-12   1.5015e-09

eb =
    0.0041704   0.00010138   4.6925e-08   1.0791e-13   9.3097e-11

[Aufgabe]

  automatisch erstellt am 15. 11. 2007