早教吧作业答案频道 -->其他-->
用vb写牛顿迭代法程序解方程用牛顿迭代法解此方程,请高手帮我写个完整程序,本人菜鸟,写出的表达式老是编译错误.f(x) = (0.366 * q / m / s) * Log(10 * s * sqr(x) / r) - x式中:q,m,s,r都是常量计算
题目详情
用vb写牛顿迭代法程序解方程
用牛顿迭代法解此方程,请高手帮我写个完整程序,本人菜鸟,写出的表达式老是编译错误.
f(x) = (0.366 * q / m / s) * Log(10 * s * sqr(x) / r) - x
式中:q,m,s,r都是常量
计算精度0.001
hanshu = 0.366 * q / m / s * Log(10 * s * Sqr(x) / r) - x
这一句运行时出现提示:无效的调用或参数
用牛顿迭代法解此方程,请高手帮我写个完整程序,本人菜鸟,写出的表达式老是编译错误.
f(x) = (0.366 * q / m / s) * Log(10 * s * sqr(x) / r) - x
式中:q,m,s,r都是常量
计算精度0.001
hanshu = 0.366 * q / m / s * Log(10 * s * Sqr(x) / r) - x
这一句运行时出现提示:无效的调用或参数
▼优质解答
答案和解析
Dim q As Single,m As Single,s As Single,r As Single
Private Sub Command1_Click()
Dim x0 As Single
Do
q = Val(InputBox("请输入常数q(≠0) "))
Loop Until q 0
Do
m = Val(InputBox("请输入常数m(≠0) "))
Loop Until m 0
Do
s = Val(InputBox("请输入常数s(≠0) "))
Loop Until s 0
Do
r = Val(InputBox("请输入常数r(≠0) "))
Loop Until r 0
Label1 = Label1 & "q=" & q & " m=" & m & " s=" & s & " r=" & r
Do
x0 = Val(InputBox("请粗略估计解x0(>0) "))
Loop Until x0 > 0
y0 = hanshu(x0)
Do
xielv = daoshu(x0)
deltx = y0 / xielv
x0 = x0 + deltx
y0 = hanshu(x0)
Loop Until Abs(y0) < 0.00005 And Abs(deltx) < 0.00005
Label1 = Label1 & vbCrLf & "x=" & x0 & " y=" & y0 & " Δx=" & deltx
End Sub
Private Sub Command2_Click()
For i = 0 To 255
If i Mod 10 = 0 Then Print
Print Chr$(i); " ";
Next i
Print "ok"
End Sub
Private Sub Form_Load()
Label1 = "(0.366 * q / m / s) * Log(10 * s * sqr(x) / r) - x = 0" & vbCrLf
End Sub
Private Function hanshu(x As Single) As Single
hanshu = 0.366 * q / m / s * Log(10 * s * Sqr(x) / r) - x
End Function
Private Function daoshu(x As Single) As Single
daoshu = 0.366 * q / 2 / x / m / s - 1
End Function
注意参数选择不当,就会出错.
Private Sub Command1_Click()
Dim x0 As Single
Do
q = Val(InputBox("请输入常数q(≠0) "))
Loop Until q 0
Do
m = Val(InputBox("请输入常数m(≠0) "))
Loop Until m 0
Do
s = Val(InputBox("请输入常数s(≠0) "))
Loop Until s 0
Do
r = Val(InputBox("请输入常数r(≠0) "))
Loop Until r 0
Label1 = Label1 & "q=" & q & " m=" & m & " s=" & s & " r=" & r
Do
x0 = Val(InputBox("请粗略估计解x0(>0) "))
Loop Until x0 > 0
y0 = hanshu(x0)
Do
xielv = daoshu(x0)
deltx = y0 / xielv
x0 = x0 + deltx
y0 = hanshu(x0)
Loop Until Abs(y0) < 0.00005 And Abs(deltx) < 0.00005
Label1 = Label1 & vbCrLf & "x=" & x0 & " y=" & y0 & " Δx=" & deltx
End Sub
Private Sub Command2_Click()
For i = 0 To 255
If i Mod 10 = 0 Then Print
Print Chr$(i); " ";
Next i
Print "ok"
End Sub
Private Sub Form_Load()
Label1 = "(0.366 * q / m / s) * Log(10 * s * sqr(x) / r) - x = 0" & vbCrLf
End Sub
Private Function hanshu(x As Single) As Single
hanshu = 0.366 * q / m / s * Log(10 * s * Sqr(x) / r) - x
End Function
Private Function daoshu(x As Single) As Single
daoshu = 0.366 * q / 2 / x / m / s - 1
End Function
注意参数选择不当,就会出错.
看了 用vb写牛顿迭代法程序解方程...的网友还看了以下:
已知一个圆锥的底面半径为R,高为h,在其中有一个内切球.试用R,h表示球的半径;若R分之h=3,要 2020-05-15 …
用R代表短周期元素,R原子最外层的p能级上的未成对电子只有2个.下列关于R的描述中正确的是()A. 2020-06-03 …
什么时候或者什么卫星是可以用mg=mV^2/r有一种情况是可以mg=mV^2/r=GMm/R^2( 2020-06-05 …
生命的漂流找出第二段中描写肖像的内容,并说说这样写的目的是什么我为什么认为他就是那种有钢铁意志的人 2020-06-05 …
α-氨基酸R只能是烃基吗网上的答案有点杂,有的人说R可以是其他的官能团,有的人说只能是烃基,那R究 2020-06-08 …
《蘑菇转了一个弯》中父亲是一个怎么样的人,用文中的句子来分析? 2020-06-15 …
求汉译英高手我们应该记住:与他人谈话时要敞开心扉,真诚待人.用高中的词汇,要用it. 2020-06-26 …
遁蜂拥隐匿失色骇然笑容可掬旁若无人用其中的三个词语造句 2020-06-29 …
人生得吾女足矣:作者最终希望女儿成为什么样的人?(用文中的句子回答) 2020-07-13 …
下面的方程组能否求解?cos(a+b)=m,cosa=r1/r,cosb=r2/r其中:m、r、s 2020-07-19 …