TU Wien:Computernumerik VU (Schranz-Kirlinger)/Übungen SS16/Beispiel 33
Zur Navigation springen
Zur Suche springen
Lösung[Bearbeiten | Quelltext bearbeiten]
Matlab Code
function Bsp3di stelle = pi/3; f = @(x) cos(x); %% a) Polynom Grad 1 x = [0 pi/2]; y = [cos(0) cos(pi/2)]; poly = polyfit(x,y,1); fprintf('a) Polynom: %f %f\n', poly(1),poly(2)); error = f(stelle) - polyval(poly,stelle); fprintf('a) Fehler: %f\n', error); %% b) Polynom Grad 2 x = [0 pi/2 pi/4]; y = [cos(0) cos(pi/2) cos(pi/4)]; poly = polyfit(x,y,2); fprintf('b) Polynom: %f %f %f\n', poly(1),poly(2),poly(3)); error = f(stelle) - polyval(poly,stelle); fprintf('b) Fehler: %f\n', error); %% c) Polynom Grad 3 x = [0 pi/2 pi/4 pi/6]; y = [cos(0) cos(pi/2) cos(pi/4) cos(pi/6)]; poly = polyfit(x,y,3); fprintf('c) Polynom: %f %f %f %f\n', poly(1),poly(2),poly(3),poly(4)); error = f(stelle) - polyval(poly,stelle); fprintf('c) Fehler: %f\n', error); %% d) Gerades Polynom Grad 4 x = [0 0 pi/2 0 pi/4]; y = [cos(0) cos(0) cos(pi/2) cos(0) cos(pi/4)]; poly = polyfit(x,y,4); fprintf('d) Polynom: %f %f %f %f %f\n', poly(1),poly(2),poly(3),poly(4),poly(5)); error = f(stelle) - polyval(poly,stelle); fprintf('d) Fehler: %f\n', error); %% e) Ungerades Polynom Grad 3 x = [0 0 0 pi/2]; y = [cos(0) cos(0) cos(0) cos(pi/2)]; poly = polyfit(x,y,3); fprintf('e) Polynom: %f %f %f %f\n', poly(1),poly(2),poly(3),poly(4)); error = f(stelle) - polyval(poly,stelle); fprintf('e) Fehler: %f\n', error); %% f) Taylorpolynom Grad 4 : 1 - x^2/2 %syms x %res = taylor(cos(x), 'Order', 4); res = 1- stelle^2 / 2; fprintf('e) Polynomval: %f \n', res); error = f(stelle) - res; fprintf('f) Fehler: %f\n', error); %% g) Lagrange Polynom x0,x1,x2 x = pi/3; xi = [0 pi/2 pi/4]; yi = [cos(0) cos(pi/2) cos(pi/4)]; n = size(xi,2); L = ones(n,size(x,2)); for i=1:n for j=1:n if (i~=j) L(i,:)=L(i,:).*(x-xi(j))/(xi(i)-xi(j)); end end end y=0; for i=1:n y=y+yi(i)*L(i,:); end fprintf('g) Polynomval: %f \n', y); error = f(stelle) - y; fprintf('g) Fehler: %f\n', error); end