标题:vb编程解x-sin(x*pi/180)=a时遇到问题求帮助
只看楼主
TaKAHaSHI
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-1-7
结帖率:0
已结贴  问题点数:20 回复次数:1 
vb编程解x-sin(x*pi/180)=a时遇到问题求帮助
我想用vb编一个解x-sin(x*pi/180) = a(a是一个实数)
主要是因为本人只是高中课上学了一点点vb基础,然后网上有讲二分法解超越方程的代码
原来的代码是:Dim x1, x2, m As Double
    x1 = Val(Text1.Text)
    x2 = Val(Text2.Text)
    If f(x1) * f(x2) < 0 Then
        Do
            m = (x1 + x2) / 2
            If f(m) = 0 Then
                x1 = m
                x2 = m
            End If
            If f(x1) * f(m) > 0 Then
                x1 = m
            Else
                x2 = m
            End If
        Loop Until Abs(x1 - x2) < 0.000000001
        Text3.Text = Text3.Text & vbCrLf & "此方程的根为:x=" + CStr((x1 + x2) / 2)
    Else
        Text3.Text = Text3.Text & vbCrLf & "区间错误!"
    End If
End Sub
就是他这里要先手动输入一个包含方程的解的区间[x1,x2],如不包含方程的解就会“区间错误”。然后我想x-sin(x*pi/180)=a,其中sin()部分肯定>=-1,<=1,那方程的解应该会在【a-1,a+1】这个区间内,所以我把上面的代码要求手动输入区间的部分改成x1=a-1 x2=a+1,可结果就会显示“区间错误”,但如果我手动在textbox里输入a+1和a-1的值就可以正常计算,求助问题出在哪里
搜索更多相关主题的帖子: 二分法 超越 网上 
2016-01-07 18:13
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:934
专家分:5244
注 册:2015-8-10
得分:20 
代码没有给全吧,f这个函数在哪?
你的代码很简单,就得看If f(x1) * f(x2) < 0 Then这句的结果,没有f无法判断
2016-01-10 17:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460914-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.241983 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved