C语言中用迭代法求sinx,x-sinx的迭代方程 怎样编写程序?

共回答了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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值