概率问题,散点图问题

点会随机分布在圆里面,落n=1000个点求落在矩形内除了深灰色区域的概率,一共操作r=5次,求概率平均值,散点图表示

你好同学,我是joel,比如说矩形的长为4,宽为2,圆半径为根号5,然后矩形中心跟圆中心重合:


clc;clear
Probability = zeros(5,1);
F1 = @(x,y) abs(x)<1 & abs(y)<1;
F2 = @(x,y) (abs(x+1.5)<0.5 &abs(y-0.5)<0.5) | (abs(x+0.5)<0.5 &abs(y+0.5)<0.5);
F3 = @(x,y) (abs(x-1.5)<0.5 &abs(y-0.5)<0.5) | (abs(x-0.5)<0.5 &abs(y+0.5)<0.5);
F4 = @(x,y) (abs(x+1)<1 &abs(y+0.5)<0.5);
F5 = @(x,y) (abs(x-1)<1 &abs(y+0.5)<0.5);
F = {F1,F2,F3,F4,F5};
for i = 1:5 % 做5次实验
    n  = 1000; % 每次1000个点
    x = zeros(n,1);
    y = zeros(n,1);
    count = 0;
    % 随机生成1000个点
    while count<=n
        x0 = 2*sqrt(5)*rand(1) - sqrt(5);
        y0 = 2*sqrt(5)*rand(1) - sqrt(5);
        if(x0^2+y0^2<5)
            count = count + 1;
            x(count) = x0;
            y(count) = y0;
        end
    end
    figure(i);clf
    plot(x,y,'r.'); hold on; axis equal;
    q = ~ F{i}(x,y) & abs(x)<2 & abs(y)<1;% 不落在深灰色区域
    plot(x(~q),y(~q),'b.')
    title(['第',num2str(i),'次实验'])
    Probability(i) = sum(q)/n;
end
fprintf('五次概率是:\n')
disp(Probability)
fprintf('平均概率是%f\n', mean(Probability))

结果输出(随机不唯一):

五次概率是:
   0.269000000000000
   0.387000000000000
   0.370000000000000
   0.383000000000000
   0.376000000000000

平均概率是0.357000

有帮助望采纳哟