28 lines
524 B
Matlab
28 lines
524 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
|
|
select 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));
|
|
else
|
|
disp('Wrong type!');
|
|
end
|
|
p(i) = 3*2^(i-1)*edge(i);
|
|
end
|
|
|
|
endfunction
|
|
|