明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 自贡黄明儒

[已解答] 已知弦高H和弧长L,求半径R

[复制链接]
发表于 2015-11-23 10:05 | 显示全部楼层
前边的公式列错了。

楼上公式错了吧?应该是:cos(L/2R)=(R-H) / R

设弦高H和弧长L,半角x(弧度值),求半径R。有方程:
1    L=R*2*x
2    H=R*(1-cos(x) )
方程式2/1  可以联立得超越方程3
x=-L/2/H*cosx+L/2/H
解出x,再根据1或者2即可得R。
超越方程:
http://baike.baidu.com/link?url= ... ciwtsOn00KB3ptRHjmK
当一元方程ƒ(z)=0的左端函数ƒ(z)不是z的多项式时,称之为超越方程。如指数方程、对数方程、三角方程、反三角方程等。
具有未知量的对数函数、指数函数、三角函数、反三角函数等的方程。例如
2^x=x+1,sin x+x=0。

超越方程一般没有解析解,而只有数值解或近似解,只有特殊的超越方程才可以求出解析解来。
求解超越方程的近似解法有很多,图象法虽然形象,但得到的解误差太大了。常用的近似解法有牛顿切线法、幂级数解法等等,现在也可以编制一段程序用计算机求解,或者利用现成的软件求解,例如大多数电脑都安装的EXCEL也可以用来求解超越方程。
matlab是获得数值解的一个最强大的工具。常用的命令有fsolve, fzero 等,但超越方程的解很难有精确的表达式,因此在matlab中常用eval()函数得到近似数值解,再用vpa()函数控制精度。
在数学中有时候可以通过利用偶函数的单调性,从一个两个对称的区间中任意选取一个,当在一个区间内有一个值时,相应的也可以得到这个值在对应区间内的对应值。
牛顿法迭代求解
然后迭代求解
一直求的所需精度的解为止。



回复

使用道具 举报

发表于 2015-11-23 17:22 | 显示全部楼层
  1. (defun ACOS (num)
  2.   (cond
  3.     ((equal num 1 1e-9) 0.0)
  4.     ((equal num -1 1e-9) pi)
  5.     ((< -1 num 1)
  6.      (atan (sqrt (- 1 (expt num 2))) num)
  7.     )
  8.   )
  9. )






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 2018-1-7 08:59 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-27 11:42 , Processed in 0.380522 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表