3、x2!,ep!,f!,f1!,a!x1=Val(InputBox("请输入初始坐标x1","二分法"))x2=Val(InputBox("请输入初始坐标x2","二分法"))ep=Val(InputBox("请输入误差上限ep","二分法"))WhileAbs(x1-x2)>epx=(x1+x2)/2f=2^x-4*xf1=2^x1-4*x1Iff*f1>0Thenx1=xElseIff=0Thena=MsgBox("方程2^x-4*x=0的根为"+Str(x))ElseIff*f1<0Thenx2=xEndIfWenda=MsgBox("方程2^x-4*x
4、=0在的根为"+Str(x))EndSub结果34/34数值计算方法4.弦截法求方程的根例题求xex-1=0在(5,6)内的根,误差上限为0.001VB代码PrivateSubCommand1_Click()Dimx0!,x1,x!,ep!,g!,f!,a!x0=Val(InputBox("请输入初始值项x0","弦截法"))x1=Val(InputBox("请输入初始值项x1","弦截法"))ep=Val(InputBox("请输入误差上限ep","弦截法"))WhileAbs(x0-x1)>epf=x0*Exp(x0)-1g=x1*Exp(x1)-1x=
5、x0-((f/(g-f))*(x1-x0))x0=x1x1=xWenda=MsgBox("方程x*e^x-1=0的根为"+Str(x))EndSub结果34/34数值计算方法二.插值1.低次插值例题已知:(4,4),(6,6)求:5处的值VB代码PrivateSubCommand1_Click()Dimx0!,y0!,x1!,y1!,x!,f!,g!,y!,a!x0=Val(InputBox("请输入初始坐标x0","插值"))y0=Val(InputBox("请输入初始坐标y0","插值"))x1=Val(InputBox("请输入初始坐标x1","插值"
6、))y1=Val(InputBox("请输入初始坐标y1","插值"))x=Val(InputBox("请输入插值坐标x","插值"))f=(x-x1)/(x0-x1)g=(x-x0)/(x1-x0)y=(f*y0)+(g*y1)a=MsgBox("插值坐标为"+Str(x)+"的插值为"+Str(y))EndSub结果34/34数值计算方法2.拉格朗日插值例题已知(2,5)(3,7)求6处的值VB代码PrivateSubCommand1_Click()Dimx()Dimy()Dimn!,i!,j!,r!,t!,s!,a!,f!f=6n=Val(InputB
7、ox("请输入插值个数","拉格朗日插值"))ReDimx(n-1)ReDimy(n-1)Fori=0Ton-1x(i)=Val(InputBox("请输入第x"+Str(i)+值,"拉格朗日插值"))y(i)=Val(InputBox("请输入第y"+Str(i)+值,"拉格朗日插值"))NextiWhilef=6a=Val(InputBox("请输入插值坐标","拉格朗日插值"))s=0Fori=0Ton–1t=1Forj=0Ton-1Ifi<>jThent=t*(a-x(j))/(x(i)-x(j))EndIfNextjs=s+t*y(i)Nextir
8、=MsgBox("插值坐标为"+Str(a)+"处的