我试图找到等式g(x)=exp(2x)+3x-4
的根。我必须使用MATLAB中的二分法进行此操作。
(0,2)
1e-8
我在MATLAB中编写了一些代码,然而,我得到了错误的答案并且它不会停止计算,这似乎是一个无限循环。
首先,这是我的代码:
g = @(x) (exp(2*x)+3-4);
xl = input('Enter the first approximation xl:');
xu - input('Enter the first approximation xu:');
acc = input('Enter the value of accuracy:');
while ((g(xl)*g(xu)) > 0)
xl = input('Enter the value of first approximation xl:');
xu = input ('Enter the value of first approximation xu:');
end
while (abs(xu-xl)>acc)
xm = (xl-xu)/2
if (g(xl)*g(xm)<0)
xu = xm;
else
xl = xm;
end
end
现在MATLAB给了我:xm = -2
,并继续给我这个价值。
如何获得xm
的良好近似值?我知道它应该在0.5左右。