Contents

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.']);
Genauigkeit von 1e-09 wird beim 2^n-Eck mit  n = 18  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')