永发信息网

跪求数学程序高手通过编写VB程序实现下列问题:编程实现牛顿法对方程f(x)=xe^x-1=0在Xo=0.5附近的实根,要求精确到小数点后5位

答案:4  悬赏:10  手机版
解决时间 2021-07-20 07:42
跪求数学程序高手通过编写VB程序实现下列问题:编程实现牛顿法对方程f(x)=xe^x-1=0在Xo=0.5附近的实根,要求精确到小数点后5位
最佳答案

牛顿迭代法果然是个有技术含量的算法,要根据原方程和方程在某一点的导数值作切线,然后通过与交点不断的逼近方程的根,花了老半天功夫帮你实现了,把如下代码复制到窗体中运行即可,求的根为0.56714329



Function Fx(ByVal x As Double) As Double
Fx = x * Exp(x) - 1
End Function
Function DiffFx(ByVal x As Double) As Double
DiffFx = Exp(x) + x * Exp(x)
End Function
Function RTNEWT(X1, X2, XACC) '牛顿迭代算法实现,X1,X2为根所在的区间,XACC为精度
JMAX = 20
RTNEWT = 0.5 * (X1 + X2)
For J = 1 To JMAX
Call BIJin(RTNEWT, f, DF)
DX = f / DF
RTNEWT = RTNEWT - DX
If (X1 - RTNEWT) * (RTNEWT - X2) < 0 Then
Print "jumped out of brackets"
Exit Function
End If
If Abs(DX) < XACC Then Exit Function
Next J
Print "RTNEWT exceeding maximum iterations."
End Function
Sub BIJin(x, FN, DF)
FN = Fx(x)
DF = DiffFx(x)
End Sub


Private Sub Form_Load()
MsgBox RTNEWT(0.2, 0.8, 0.00001)
Unload Me
End Sub

全部回答

1、先赋初值a=0,b=1

2、设置循环 用 |a-b|<0.0005控制

循环体:

令:x=(a+b)/2

选择结构:如果SGN(x*EXP(x)-1)>0,则b=x

如果SGN(x*EXP(x)-1)<0,则a=x

如果SGN(x*EXP(x)-1)=0,退出循环

循环结束

输出结果x。

方程是不是 x*e^x=1 ?,如果是的话,那么小数点后5位的解是不足以满足这个方程的,至少得小数点后几百位,因此我们一般采取无限逼近法,下面 If (x * Exp(x) - 1) = 0 Then 的后面注释有说。要取得准确值的话,之能将步进取为更小的值,但是就目前的 Double 类型的精度来看也不足以满足等于0的要求,之能求得无限接近0的解。

Dim isStop As Boolean

Private Sub Command3_Click() Dim x As Double Command3.Enabled = False isStop = False For x = 0.567143283795563 To 0.567143296991271 Step 0.00000000000001 '要准确等于0的话,这里的步进估计需要小数点后好几百位 Label3.Caption = "(x * Exp(x) - 1)=" & Format((x * Exp(x) - 1), "0.00000000000000000000") Text1.Text = "x=" & Format(x, "0.00000000000000000000") If (x * Exp(x) - 1) = 0 Then '求无限接近0的话,这里可以改为 (x * Exp(x) - 1) < 0.00000000000001 或 abs(x * Exp(x) - 1) < 0.00000000000001,这样共有两个x解 MsgBox "x=" & x Exit For End If If isStop = True Then Exit For DoEvents Next Command3.Enabled = True End Sub

Private Sub Command4_Click() isStop = True End Sub

定义总量等于X,计算出每个人拿走的数量,相加等于X

第一个人是(x-1)/5, 剩余4(x-1)/5

第二个人是(4(x-1)/5-1)/4,剩余3(4(x-1)/5-1)/4

。。。。

一次算出其他几个人的,最后形成一元方程

就能解出了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我家CS怎么老跳PING?高手进
网购手机,都是翻新货?
表达朋友情义的句子,歌颂情谊的诗句 古诗词
有万利达K5可用的浏览器吗?有的话在哪找到?
介绍一个下载MP3的网站?
火影中佩恩的boss是谁
月经期间,能否服用胃药奥美拉、得必泰和马叮
古装时装秀开场台词,描写关于介绍高中生时装
家里电脑显示无法连接?问题出在哪?
四个太阳升的是什么等级啊?
翻譯下列英文字
DNF中為什么我的DNF開不出來啊
使后悔药转职是不是会保留原来的合成技能和经
求24式简化太极拳有口令的视频!!没口令的算
恰恰的意思是什么,"恰"是什么意思?
推荐资讯
Q提醒怎么开
QQ黑钻怎么升级
电影悟空传的经典语录,悟空传 金蝉子 前世
是不是不在一起了,友情就不存在了?
手机主题在哪里能自己做?
怎么查找有关于惧的四字成语
初中生运动会宣传语 5个
山东威海哪有卖 可爱的 口罩
阿玲的诗词,形容素颜的诗句
配个台式电脑需要多少钱?
爱吃肉搞笑句子,非常搞笑的笑话,非常搞笑的句
找几本不看会后悔的小说。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?