弓形算圆弧半径c语言,关于弓形面积求圆半径

设弓形的弦长为a,面积为S,所对的圆心角为θ。

则S=θ/(2*π)*π*r2=θ*r2/2

而  Sin(θ/2)=(a/2)/r=a/(2*r)  ,θ=2*arcsin[a/(2*r)]

故有:S= r2  * arcsin[a/(2*r)] 。

此方程中,S和a均已知,因此其为关于未知数r的一元非线性方程,先试着手工计算给出一个近似值,然后可用欧拉割线法或牛顿切线法求出其近似数值解。具体可参考数学分析中一元微分学的应用相关章节。例如:若S=10000mm2, a=100mm.

令 f(r)=S-r^2*arcsin[a/(2*r)] , f(r)=10000-r2*arcsin(50/r)

则 df/dr=-2*r*arcsin[a/(2*r)] -r2/sqrt{1-[a/(2*r)]2}*[-a/(2*r2)]

=a/sqrt{4-[a/r]2}-2*r*arcsin[a/(2*r)]

d2f/dr2=-2*arcsin[a/(2*r)] +a/sqrt[r2-(a/2)2]-{a/{r*sqrt[4-(a/r)2]}}3

r=150时,f(150)=10000-22500*arcsin(1/3)=2354>0

r=200时,f(200)=10000-40000*arcsin(1/4)=-107.2<0

故知:       150<r<200

因为d2f/dr2(r=200)=-6.2*10-3<0,与f(200)同号,故以r=200为初值进行迭代。迭代公式:

Rn= Rn-1 +f(Rn-1)/df/dr(R=Rn-1)

r1=200-107.2/49.43=197.83128,  r2=197.83128+0.020037/49.41868=197.83169

由于abs(r2-r1)/r1=2.05*10-6,可以认为r的值已经收敛。实际上,f(197.83169)=-0.0403。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值