Toda vez que mando rodar o script a baixo (metodo da falsa posição) o meu matlab simplesmente para de responder aos comandos.
clc;
clear all;
a = -2;
b = 2;
xx = [-5:0.1:5];
yy = fun(xx);
plot(xx,yy,[-5 5],[0 0]);
epsx = 0.001;
while abs(b-a) > epsx
fa = fun(a);
fb = fun(b);
x = (a*fb - b*fa)/(fb-fa);
fx = fun(x);
if fa*fx < 0
b = x;
else
a = x;
end
end
x
fx
Ele não me da a resposta e so volta a funcionar normalmente depois que eu fecho e abro o programa novamente. Mas quando eu mando rodar o metodo da bissecção q so muda o x ele roda normalmente e não da nenhum tipo de pau.
clc;
clear all;
a = -2;
b = 2;
xx = [-5:0.1:5];
yy = fun(xx);
plot(xx,yy,[-5 5],[0 0]);
epsx = 0.001;
while abs(b-a) > epsx
fa = fun(a);
fb = fun(B);
x = (a+b)/2;
fx = fun(x);
if fa*fx < 0
b = x;
else
a = x;
end
end
x
fx
Realmente é muito estranho. O que pode ser ??? Um defeito no proprio matlab ????
Pergunta
Dágora
Toda vez que mando rodar o script a baixo (metodo da falsa posição) o meu matlab simplesmente para de responder aos comandos.
clc;
clear all;
a = -2;
b = 2;
xx = [-5:0.1:5];
yy = fun(xx);
plot(xx,yy,[-5 5],[0 0]);
epsx = 0.001;
while abs(b-a) > epsx
fa = fun(a);
fb = fun(b);
x = (a*fb - b*fa)/(fb-fa);
fx = fun(x);
if fa*fx < 0
b = x;
else
a = x;
end
end
x
fx
Ele não me da a resposta e so volta a funcionar normalmente depois que eu fecho e abro o programa novamente. Mas quando eu mando rodar o metodo da bissecção q so muda o x ele roda normalmente e não da nenhum tipo de pau.
clc;
clear all;
a = -2;
b = 2;
xx = [-5:0.1:5];
yy = fun(xx);
plot(xx,yy,[-5 5],[0 0]);
epsx = 0.001;
while abs(b-a) > epsx
fa = fun(a);
fb = fun(B);
x = (a+b)/2;
fx = fun(x);
if fa*fx < 0
b = x;
else
a = x;
end
end
x
fx
Realmente é muito estranho. O que pode ser ??? Um defeito no proprio matlab ????
Editado por DágoraLink 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.