永发信息网

已知任意三个圆两两相交,求三个圆共同的相交面积.如何用MATLAB程序仿真真的很着急,涉及课题研究,

答案:2  悬赏:20  手机版
解决时间 2021-02-15 11:00
  • 提问者网友:姑娘长的好罪过
  • 2021-02-14 14:38
已知任意三个圆两两相交,求三个圆共同的相交面积.如何用MATLAB程序仿真真的很着急,涉及课题研究,
最佳答案
  • 五星知识达人网友:怀裏藏嬌
  • 2021-02-14 15:42
知道怎么用蒙特卡洛仿真求圆的面积吗?下面有一个pudn上的代码,使用蒙特卡洛方法求圆心在原点,半径为1的圆的面积.你可以用类似的方法解决你的问题,只要把条件改成落点同时在三个圆里面就行了sita=0:0.01:2*pi;x=sin(sita);y=cos(sita);% 计算半径为1的圆周上的点,以便作出圆周观察m=0; % 在圆内在落点计数器x1=2*rand(1000,1)-1;% 产生均匀分布于[-1,+1]直接的两个独立随机数x1,y1y1=2*rand(1000,1)-1;N=1000; % 设置试验次数for n=1:N % 循环进行重复试验并统计p1=x1(1:n);q1=y1(1:n);if (x1(n)*x1(n)+y1(n)*y1(n))======以下答案可供参考======供参考答案1:知道怎么用蒙特卡洛仿真求圆的面积吗?下面有一个pudn上的代码,使用蒙特卡洛方法求圆心在原点,半径为1的圆的面积。你可以用类似的方法解决你的问题,只要把条件改成落点同时在三个圆里面就行了sita=0:0.01:2*pi;x=sin(sita);y=cos(sita);% 计算半径为1的圆周上的点,以便作出圆周观察m=0; % 在圆内在落点计数器x1=2*rand(1000,1)-1;% 产生均匀分布于[-1, +1]直接的两个独立随机数x1,y1y1=2*rand(1000,1)-1;N=1000; % 设置试验次数for n=1:N % 循环进行重复试验并统计 p1=x1(1:n); q1=y1(1:n); if (x1(n)*x1(n)+y1(n)*y1(n)) m=m+1; % 如果落入圆中,计数器加1 end plot(p1,q1,'.',x,y,'-k',[-1 -1 1 1 -1],[-1 1 1 -1 -1],'-k'); axis equal; % 坐标纵横比例相同 axis([-2 2 -2 2]); % 固定坐标范围 text(-1,-1.2,['试验总次数 n=',num2str(n)]);% 显示试验结果 text(-1,-1.4,['落入圆中数 m=',num2str(m)]); text(-1,-1.6,['近似圆面积 S_c=',num2str(m/n*4)]); set(gcf,'DoubleBuffer','on'); % 双缓冲避免作图闪烁 drawnow; % 显示结果end
全部回答
  • 1楼网友:慢性怪人
  • 2021-02-14 16:28
谢谢了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯