x-sinx的迭代方程 怎样编写程序?

x-sinx的迭代方程 怎样编写程序?
x初始值为x=zeros(1,100).x具有下式关系:x(1,1+i)-sin(x(1,1+i))=0.5+x(1,i)-sin(x(1,i)) .经过这个算式迭代运算以后,x矩阵是多少?
这个迭代式子该怎么编写?
我很很很蠢2 1年前 已收到1个回答 举报

华吴yy 花朵

共回答了24个问题采纳率:91.7% 举报

'程序可以继续完善的:
'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年前

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