问一下这段应该怎么改

要是,选择F4,F5的情况为百分之90,应该怎么改。

img

img


之前是F1到F5 随机选择一个方案,现在是90%选到F4 或F5

你好,代码供参考:


clc;clear

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};

n  = 1000; % 每次1000个点
x = zeros(n,1);
y = zeros(n,1);
count = 0;
% 随机生成1000个点
while count<=n
    x0 = sqrt(5)*randn(1);
    y0 = sqrt(5)*randn(1);
    if(x0^2+y0^2<5)
        r = rand(1);
        if(abs(x0)<2 && abs(y0)<1 && (~F{4}(x0,y0) && ~F5(x0,y0)) && r<0.9)
            count = count + 1;
            x(count) = x0;
            y(count) = y0;
        elseif(abs(x0)<2 && abs(y0)<1 && ~(~F{4}(x0,y0) && ~F5(x0,y0)) && r>0.9)
            count = count + 1;
            x(count) = x0;
            y(count) = y0;
        end
    end
end
figure(1);clf
plot(x,y,'r.'); hold on; axis equal;
q = ~ F{4}(x,y) & ~ F{5}(x,y);% 不落在深灰色区域
plot(x(~q),y(~q),'b.')
Probability = sum(q)/n;
disp('既在F4又在F5概率')
disp(Probability)