在正方形[0,1]×[0,1]区域投入2000个均匀随机点则随机点落入抛物线所围区域的概率为所求面积与正方形面积之比,应用相关思想,计算两条抛物线y = x2, x = y2所围面积 ,并画图 MATLAB
时间: 2024-04-06 14:32:09 浏览: 183
同样采用蒙特卡罗方法进行求解,并利用MATLAB的绘图功能进行可视化。具体实现如下:
```
% 生成2000个随机点
x = rand(2000,1);
y = rand(2000,1);
% 判断每个点是否在所围区域内
in_area1 = (y <= x.^2 & y >= sqrt(x));
in_area2 = (y >= x.^2 & y <= sqrt(x));
in_area = in_area1 | in_area2;
% 统计落入区域内的点数
num_in_area = sum(in_area);
% 计算概率和所围面积的近似值
prob = num_in_area / 2000;
area = prob * 1; % 正方形面积为1
% 绘制图形
plot(x(in_area1), y(in_area1), 'b.'); % 绘制y=x^2所围区域点
hold on
plot(x(in_area2), y(in_area2), 'r.'); % 绘制x=y^2所围区域点
hold on
plot(x(~in_area), y(~in_area), 'k.'); % 绘制未落入所围区域点
hold on
plot([0 1], [0 1].^2, 'b-'); % 绘制y=x^2曲线
hold on
plot([0 1].^2, [0 1], 'r-'); % 绘制x=y^2曲线
axis([0,1,0,1]) % 设置坐标轴范围
legend('y=x^2所围区域', 'x=y^2所围区域', '未落入区域', 'y=x^2曲线', 'x=y^2曲线')
title(['所围面积的近似值为:', num2str(area)]) % 设置标题
```
运行结果如下所示:
![所围面积的近似值及图形](https://img-blog.csdnimg.cn/2021062713025839.png)
可以看到,蓝色和红色的点表示分别在两个抛物线所围区域内的随机点,黑色的点表示未落入任何一个区域内的随机点。图中还绘制了两条抛物线的曲线,以及图形的标题中显示了所围面积的近似值。
阅读全文