题目
编写程序,用牛顿切线法求方程f(x)= x^2-x-8=0(其中^表示 幂运算)在区间[3,4]上的近似实根r,迭代初
提问时间:2020-12-05
答案
'程序可以继续完善的:
'1、如果指定区间无解,怎么办
'2、迭代过程跳出了指定区间,怎么办
'3、如何使用界面直接输入方程式
Private Sub Command1_Click()
Dim 上限 As Single, 下限 As Single, 误差 As Single, 自变量 As Single, k As Single
Const 允许误差 = 0.0001
上限 = Val(InputBox("请输入区上限", , 4))
Do
下限 = Val(InputBox("请输入区下限", , 3))
If 下限 < 上限 Then Exit Do
MsgBox "上、下限不匹配!", vbExclamation
Loop
误差 = 上限 - 下限
自变量 = 误差 / 2 + 下限
Do Until 误差 < 允许误差
k = 导数(自变量)
If k = 0 Then
自变量 = 自变量 + 允许误差
Else
x = 自变量 - 方程(自变量) / k
误差 = Abs(自变量 - x)
自变量 = x
End If
Loop
Print "从区间("; 下限; ","; 上限; ")出发,求得方程近似解为:"; 自变量
Print "估计误差小于:"; 误差
End Sub
Private Function 方程(x As Single) As Single
方程 = (x - 1) * x - 8
End Function
Private Function 导数(x As Single) As Single
导数 = 2 * x - 1
End Function
'1、如果指定区间无解,怎么办
'2、迭代过程跳出了指定区间,怎么办
'3、如何使用界面直接输入方程式
Private Sub Command1_Click()
Dim 上限 As Single, 下限 As Single, 误差 As Single, 自变量 As Single, k As Single
Const 允许误差 = 0.0001
上限 = Val(InputBox("请输入区上限", , 4))
Do
下限 = Val(InputBox("请输入区下限", , 3))
If 下限 < 上限 Then Exit Do
MsgBox "上、下限不匹配!", vbExclamation
Loop
误差 = 上限 - 下限
自变量 = 误差 / 2 + 下限
Do Until 误差 < 允许误差
k = 导数(自变量)
If k = 0 Then
自变量 = 自变量 + 允许误差
Else
x = 自变量 - 方程(自变量) / k
误差 = Abs(自变量 - x)
自变量 = x
End If
Loop
Print "从区间("; 下限; ","; 上限; ")出发,求得方程近似解为:"; 自变量
Print "估计误差小于:"; 误差
End Sub
Private Function 方程(x As Single) As Single
方程 = (x - 1) * x - 8
End Function
Private Function 导数(x As Single) As Single
导数 = 2 * x - 1
End Function
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
- 1高温时水蒸气与灼热的炭反应的化学式
- 2could you please tell me where i can have my computer fixed?
- 3鱼我所欲也习题求答案
- 4二次函数y=x2-(m+1)x+1,当x>1时,y随x的增大而增大,则m的取值范围是(已知二次函数y=ax2+bx+c(a≠0)的对称轴是x=−b2a)( ) A.m≤1 B.m≥1 C.m≥-3
- 5氟气和水反应中水的作用是什么?(以氧化剂、还原剂角度分析)
- 6一道向量与三角函数结合的数学题.
- 7用正弦定理 A=70度,C=30度,c=20cm 解三角形.
- 81500年前中国有一位伟大的数学家天文学家他是谁
- 9刘东同学把一个面积是81平方厘米的正方形框架拉成了一个平行四边形框架,面积减少了4.5平方厘米.请你算算这个平行四边形的高是多少?
- 10物体吸收了热量,内能一定增加.这一句话对吗?
热门考点