MATLAB求画出的两个相交圆的相交部分的面积。
如r=20;t=0:0.01:2*pi;x1=r*cos(t)+13;y1=r*sin(t)+8;x2=r*cos(t)-14;y2=r*sin(t)+4;plot(x1...
如r=20;
t=0:0.01:2*pi;
x1=r*cos(t)+13;
y1=r*sin(t)+8;
x2=r*cos(t)-14;
y2=r*sin(t)+4;
plot(x1,y1,x2,y2); 展开
t=0:0.01:2*pi;
x1=r*cos(t)+13;
y1=r*sin(t)+8;
x2=r*cos(t)-14;
y2=r*sin(t)+4;
plot(x1,y1,x2,y2); 展开
2个回答
展开全部
计算结果为256.7867
matlab程序如下:
syms x y;
[x,y]=solve('(x-13)^2+(y-8)^2=400','(x+14)^2+(y-4)^2=400');
%以上是求2个园的交点坐标;
y01=-8.462344069104233;
y02=20.462344069104233;
%y01与y02是计算得到的两个交点纵坐标
syms xx1 xx2 yy;
xx1=13-sqrt(400-(yy-8)^2)+20;%右园的左半部分曲线方程
xx2=-14+sqrt(400-(yy-4)^2)+20;%左园的右半部分曲线方程
s1=int(xx1,yy,y01,y02);
s2=int(xx2,yy,y01,y02);
s=s2-s1
%两条曲线积分所得面积差即为要求区域的面积。计算结果为256.7867
matlab程序如下:
syms x y;
[x,y]=solve('(x-13)^2+(y-8)^2=400','(x+14)^2+(y-4)^2=400');
%以上是求2个园的交点坐标;
y01=-8.462344069104233;
y02=20.462344069104233;
%y01与y02是计算得到的两个交点纵坐标
syms xx1 xx2 yy;
xx1=13-sqrt(400-(yy-8)^2)+20;%右园的左半部分曲线方程
xx2=-14+sqrt(400-(yy-4)^2)+20;%左园的右半部分曲线方程
s1=int(xx1,yy,y01,y02);
s2=int(xx2,yy,y01,y02);
s=s2-s1
%两条曲线积分所得面积差即为要求区域的面积。计算结果为256.7867
展开全部
可以用蒙特卡洛方法模拟近似结果。
(x1-13)^2+(y1-8)^2=r^2;
(x2+14)^2+(y2-4)^2=r^2;
function m=mj(n)
t=0;
r=20;
for i=1:n
y1=round(50*rand()-20);
y2=round(50*rand()-20);
x1=round(80*rand()-40);
x1=round(80*rand()-40);
if (x1-13)^2+(y1-8)^2<r^2&&(x2+14)^2+(y2-4)^2<r^2
t=t+1;
end
end
m=t/n*50*80;
输入mj(10000)看结果。一般n越大面积越精确。
(x1-13)^2+(y1-8)^2=r^2;
(x2+14)^2+(y2-4)^2=r^2;
function m=mj(n)
t=0;
r=20;
for i=1:n
y1=round(50*rand()-20);
y2=round(50*rand()-20);
x1=round(80*rand()-40);
x1=round(80*rand()-40);
if (x1-13)^2+(y1-8)^2<r^2&&(x2+14)^2+(y2-4)^2<r^2
t=t+1;
end
end
m=t/n*50*80;
输入mj(10000)看结果。一般n越大面积越精确。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询