Patrick Laskoski Postado Março 24, 2017 Denunciar Share Postado Março 24, 2017 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Patrick Laskoski
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
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.