%% Approximation von pi nach Archimedes % 2^n-Eck approximiert den Einheitskreis (R=1) un damit dessen % Flaecheninhalt pi clear;clc;clf; eps_abs = 1e-9; % 8 Stellen genau % Start mit 2^2 - Eck = Quadrat. n = 1; % Laufvariable: Anfangswert setzen x(1) = 2; % erste Kantenlaenge (gleich Durchmesser) A(1) = 0; % Flache des 2^1-Ecks Ap = 2*eps_abs; % Erster Test (Ap >= eps_abs) muß FALSCH ergeben while Ap >= eps_abs h = 1-sqrt(1-(x(n)/2)^2); Dn = h*x(n)/2; % eine Dreicksflaeche ueber einer Kante des 2^n-Ecks Ap = 2^n*Dn; A(n+1) = A(n)+Ap; % Flaeche des 2^(n+1)-Ecks x(n+1) = sqrt((x(n)/2)^2+h^2); % neue Kantenlaenge n = n+1; % Laufvariable veraendern end disp(['Genauigkeit von ',num2str(eps_abs),' wird beim 2^n-Eck'.... ' mit n = ',num2str(n),' erreicht.']); %% und etwas Graphik dazu subplot(2,1,1) plot(A) title('Approximation der Kreisflaeche nach Archimedes ueber 2^n-Eck') xlabel('n'); ylabel('Naehrung A_n fuer \pi') subplot(2,1,2) semilogy(pi-A) % hier ist eine logarithmishce Skale bei bzgl % des Abstandes sinnvoll title('Abstand vom wahren Wert \pi') xlabel('n'); ylabel('|\pi - A_n|') % publish('kreis_archimedes.m')