主题:[讨论]请教高手求表达式中的Rfp值!!!
胡-志勇
[专家分:10] 发布于 2009-07-10 10:51:00
各位高手,我在VB编程时遇到如下公式,不知如何通过编程计算出Rfp的值,要求精度小数点后9位,不知如何编程?
式中除了Rfp为未知数外均为已知数。
回复列表 (共13个回复)
沙发
胡-志勇 [专家分:10] 发布于 2009-07-10 11:00:00
表达式如下:
[img]http://www.3dportal.cn/discuz/attachments/month_0906/20090616_2a726d869450a39dd483qrvPNjV8Simw.gif[/img]
板凳
老大徒伤悲 [专家分:29120] 发布于 2009-07-10 11:25:00
我门来讨论一下。下面一切都是在假定有解的情况下进行。
你看如下的输入、输出流程,你是否乐意?
输入各已知数据
输入任何情况下rfp可能的最大值和最小值
输出两条曲线
输出最后解。
麻烦你给一组已知数据,和rfp的参考值以供调试程序。(请同时给出rfp的最大值和最小值)
3 楼
胡-志勇 [专家分:10] 发布于 2009-07-10 13:52:00
下面是一组试验数据:
Rb = 22.5526228988618
Rf = 21.5
Z = 24
F0 = 0.0803542
Rfp参考值=1.15983921566312。
Rfp最大值=5。
Rfp最小值=Rb-Rf。
请高手试验,谢谢!!!
4 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-10 16:02:00
你的数据有问题,不能用来进行程序调试:
Rf = 21.5
Rb = 22.5526228988618
Rfp最小值=Rb-Rf=1.0526228988618
在算式左边根号下的部分,当最小计算时:
(rfp-rf)^2-rb^2
=(1.0526228988618-21.5)^2-22.5526228988618^2
=(-20.4473771011382)^-22.5526228988618^2
=-90.5255693021147
5 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-10 16:22:00
即使将你的参考值1.15983921566312带入方程左边的根号下面也一样得到-1.75995304754382而不存在。
6 楼
胡-志勇 [专家分:10] 发布于 2009-07-11 12:45:00
注意:左边根式下是(Rfp+Rf)^2-Rb^2!
7 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-11 14:26:00
怎么能注意到呢?我实在看不出来那是个加号。
你那个图片公式,还有啥要说明的?
8 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-11 14:52:00
如果你在没有什么需要声明的了,那么计算结果:
rfp=1.14554667959421,
左式=4.00769244927574E-02
右式=4.00769244927566E-02
差值=8.88178419700125E-16
rfp相对误差小于1.25991367940062E-14
rfp绝对误差小于1.4432899320127E-14
如果你满意了,这样的结果,我们来说说,界面有什么要求。
9 楼
胡-志勇 [专家分:10] 发布于 2009-07-11 15:42:00
高手,界面没有要求,只需计算过程部分的代码就足够了!谢谢大侠!
公式为:
(((Rfp+Rf)^2-Rb^2)^0.5-Rfp)/Rb=acos(Rb/(Rfp+Rf))-π/Z+F0
10 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-11 18:21:00
已经发到你的邮箱。查收。
我来回复