VB6.0 用牛顿迭代法解一个方程 50元求解 诚心一颗 不相信发一半给我给钱.

VB6.0 用牛顿迭代法解一个方程 50元求解 诚心一颗 不相信发一半给我给钱.

第一题


第二题也可以
summerloveme 1年前 已收到1个回答 举报

chenyming_307 幼苗

共回答了17个问题采纳率:88.2% 举报

第一题
Private Sub Command1_Click()
'Print Log(x)-0.59*sqr(x)-0.5*log(ks)=0,ks=0.047
Dim x0 As Single, x1 As Single
Dim z As Single
Dim n As Integer
x0 = 0.1
Do
x1 = x0 - (Log(x0) - 0.59 * Sqr(x0) - 0.5 * Log(0.047)) / (1 / x0 - 0.295 / Sqr(x0))
z = Abs(x1 - x0)
Print x0, x1, z
x0 = x1
n = n + 1
If n > 5 Then Exit Do
Loop Until z < 0.00001
Print x0, x1, z, n
End Sub 从函数图象上看,只有一个根在0.3附近.最后求得0.2994014.
初始值设为,0.1,也可以设为,更小,但不能为零,在除数中.也可适当增大n,来满足精度.精度为0.00001.说明n是为了防止死循环,一般20即可.

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.019 s. - webmaster@yulucn.com