📄 e181.m
字号:
%-----------------------------------------------------------------------
% Example 1.8.1: Estimating PI by Throwing Darts
%-----------------------------------------------------------------------
% Initialize
clc % clear command window
clear % clear variables
n = 1000; % number of darts
p = 0; % number of darts inside unit circle
seed = 1000; % select random sequence
e = zeros(n,1); % errors in estimate
s = 3; % size of square mat
% Generate estimate with random numbers
fprintf ('Example 1.8.1: Estimating PI by Throwing Darts\n');
randinit(seed);
for i = 1 : n
z = randu (2,1,-s/2,s/2);
r = norm(z,2);
if r <= 1
p = p + 1;
end
q = s^2*p/i;
e(i) = q - pi;
end
% Display results
show ('Number of darts',n)
show ('Final estimate of PI',q)
graphmat (e,'Error in Estimate of PI','number of darts',...
'error')
%-----------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -