%% Beispiel 1 % Mit Hilfe der Trapezregel ein bestimmtes Integral lösen % % $$\int_0^1 \sin x dx$$ % % Trapezregel: % % $$T_h(f) = h\left[\frac{1}{2}f(x_0)+f(x_1)+f(x_2)+\cdots+\frac{1}{2}f(x_N)\right]$$ % N = 10; number_steps = zeros(N,1); stepsize = zeros(N,1); err_trapez = zeros(N,1); trapez = zeros(N,1); for i = 1:N x = 2^(-i):2^(-i):(1-2^(-i)); trapez(i) = (sum(sin(x))+0.5*(sin(0)+sin(1)))*2^(-i); err_trapez(i) = abs(trapez(i)-(1-cos(1))); number_steps(i) = length(x); stepsize(i)=2^(-i); end figure; loglog( stepsize, err_trapez, 'b', ... stepsize, stepsize, ':r', ... stepsize, stepsize.^2, 'r', ... stepsize, stepsize.^3, '--r'); title('Fehler bei Trapezregel'); xlabel('Anzahl Stuerzstellen'); ylabel('Fehler'); legend('Fehler','h','h^2','h^3'); fprintf('exaktes Ergebnis (1-cos(1): %f\n',(1-cos(1))); printis = [(1:10)',stepsize,number_steps,trapez,ones(10,1)*(1-cos(1)),err_trapez]; fprintf('%d: Trapezfunktion bei h=%f und %d Schritten:\n Ergebnis:\t%f\n Exakt:\t\t%f\n Fehler:\t%f\n',printis');