Я написал следующий код для метода половинного деления:Bisection Метод: Недостаточно входы ошибки
f1=input('Enter the equation:','s');
f=inline(f1);
e1=input('Enter the first end:');
e2=input('Enter the first end:');
acc=input('Enter the accuracy:');
disp('*******************************');
m=(e1+e2)/2;
i=0;
while abs(f(m))>acc
i=i+1;
fprintf('%d)\t%f\tf(x)=%f\n',i,m,f(m));
if (f(m)*f(e2))<0
e1=m;
else
e2=m;
end
m=(e1+e2)/2;
end
fprintf('%d)\t%f\tf(x)=%f\n',i,m,f(m));
disp ('************************');
fprintf('The root of equation by bisection method (Accuracy Type) = %f\n',m);
Это работает для некоторых простых уравнений (Ex; x^2-6
), но она не работает для сложных уравнений, как: e-x(3.2 sin(x) - 0.5 cos(x))
на интервале [3, 4]
. Я получаю следующее сообщение об ошибке: