Eu não consigo fazer esse programa rodar. É o método da bisseção, aplicado no matlab, versão R2016a
Resumo: o programa deve aproximar a raiz até que a taxa de erro seja menor ou igual a inserida.
Gostaria que alguém ajuda-se a descobrir o que estou fazendo de errado.
clear
clc
format long
x = sym ('x');
% Declarando variáveis:
disp ('Entre com uma função: ');
f = input ('','s');
fprintf ('Insira os limites [a,b] onde está a raiz: \n');
disp ('Limite Inferior: ');
a = input ('');
disp ('Limite Superior: ');
b = input ('');
disp ('Insira o Erro: ');
erro = input ('');
xn = (a+b)/2;
f(a) = subs(f,a);
f(xn) = subs(f,xn);
while (abs(f(xn)) <= erro)
if (f(a)*f(xn) < 0)
b = xn;
else
a = xn;
end
end