function [ y ] = expApproxa(x,b) %%% Approximation von exp(x) mit Fehler kleiner als b. a(1)=1; %%%% Erster Term der Reihe c=1; for i=1:(ceil(abs(x))), c=3*c; end; %%%%% hier wird benutzt dass e^x <=3^(ceil(|x|)). ceil rundet eine Zahl oben z.b. ceil(2.2)=3, ceil(-2.2)=-2 N=0; while c*abs(x)^N/factorial(N)>b, N=N+1; end; N %%%%% N wird groß genug, damit der Fehler kleiner als b wird. Hier wird die Eigenschaft 12 der Exponentialfunktion benutzt. for n=1:N-1, a(n+1)=(x/n)*a(n); end; %%%%% Induktive Definition der Terme 2,...,N der Reihe; y=sum(a); %%%%%%% Die Terme der Reihe werden summiert %%%%% Kommentar die Matrizen in Matlab kann nur positive eintritte %%%%% haben (d.h. a(0) ist nicht erlaubt) also wir fangen an mit a(1) %%%%% aber damit ist der Term mit grad Null gemeint. Die Approximation %%%%% ist dann durch ein Polynom vom Grad N-1.