28 lines
516 B
Matlab
28 lines
516 B
Matlab
function [ p ] = approxpi(n, type)
|
|
%APPROXPI Approximates PI based on edge lengths e
|
|
|
|
|
|
%vektor p:
|
|
p = zeros(1, n);
|
|
|
|
%vektor edges:
|
|
edge = zeros(1, n);
|
|
edge(1) = 1;
|
|
|
|
for i=1:1:n
|
|
switch type
|
|
case 1
|
|
%Behandlung für ersten Fall
|
|
edge(i+1) = sqrt(2 - sqrt(4-edge(i)^2));
|
|
case 2
|
|
%Behandlung für zweiten Fall
|
|
edge(i+1) = edge(i) / sqrt(2 + sqrt(4-edge(i)^2));
|
|
otherwise
|
|
disp('Wrong type!');
|
|
end
|
|
p(i) = 3*2^(i-1)*edge(i);
|
|
end
|
|
|
|
end
|
|
|