c语言编程(a b)=xa yb,x*x(x-b)=a的怎么编程求解xa ?

3c01a1959b9cabadad8b19af8c8b9a09.png

从理论上讲,由y/x=[2sin(a/2)]/a,是可以求得圆心角a的,然后只要用r=x/a,就可以求得半径,上面那位说“r有无穷多个解”那是胡说八道的。

问题是你的“已知扇形的弧长为x,弦长为y”是如何“已知”的?除非圆心角是某些特殊角,我们借助超越数π可以精确表示弧长与弦长的,例如当圆心角a=π/3时,弧长为r*π/3,弦长为r,在一般情形下,我们如果精确地表示了弦长,就无法精确地表示弧长了,因为弧长与弦长之比通常是一个我们无法表示的超越数!

例如题目:“已知扇形的弧长x=1.5,弦长y=1,求扇形的半径r。”

可能表面看来,题目没有什么问题,其实x与y中至少有一个是近似值,从准确的意义而言,1.5与1是无法构成同一个扇形的弧长与弦长的!

既然已知的已经是近似数,又何必去寻求方程的准确解法呢?——实际上,方程的准确解一般是求不出来的!用近似方法求解方程,应该是不困难的。

例如上面那个题目,我用牛顿迭代法求得,

圆心角a≈2.9915631364442

半径r≈0.501410109559952 我有个好办法,用AutoCAD,画出确定的弦长和弧长,就很容易求出半径。 通过弦中点A和弦端点B两点找出圆点,就好办了。 由x=a*r,y=2rsin(a/2)可知:

(y/x)*(a/2)=sin(a/2)

两边对a求导,则

(y/x)/2=(1/2)cos(a/2)

故cos(a/2)=y/x

a/2=arc cos(y/x),则a=2arc cos(y/x),

故r=x/a=x/[2arc cos(y/x)].

你的问题我的理解如下,很喜欢数学当中的一句话“考察同一个对象,采用两种方式,会得到一个等式或一个方程”。

1)x=a*r 2)y=2rsin(a/2)可得y=2sin(a/2)*x*a,从联立方程的角度,实际上,你只有一个独立方程,可是有两个未知数,解是不定的!其实x,y都是圆的圆心角性质的表达,结合上边的那句话,它们之间的关系是方程,即x,y本身不独立!

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值