Buscar

Métodos de aproximações de raízes (bissecção, newton, secante) (Matlab)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

escolha = menu('Escolha o método a ser utilizado :' , 'Método da Bissecção' , 'Método de Newton Rapson' , 'Método da Secante');
%Metodo da bissecção%
if escolha == 1
 syms x
fx = input('Entre com a função desejada: f(x)= ')
fab = 1;
while fab>0
 a = input('Insira o limite inferior "a", a=')
 b = input ('Insira o limite superior "b", b=')
 fa=subs(fx,a);
 fb=subs (fx,b);
 fab=fa*fb;
 if fab > 0
 disp ('Não esxiste zeros reais nesse intervalo!!')
 end
end
e = input ('Insira a precisão que deseja, e= ');
k=0;
er = 10;
y=1;
while abs(er) > e
 x1=(a+b)/2
 y=subs(fx,x1);
 k=k+1;
 if y < 0
 er=x1-b;
 a = x1;
 else 
 er=x1-a;
 b = x1;
 end
end
c=x1;
d=er;
disp ('O número de iterações realizadas foi de: ')
k
disp ('O raiz encntrada foi: ')
c
disp ('O erro final foi de: ')
d
end
%metodo de newton-rapson%
if escolha == 2
 syms x
 fx = input('Entre com a função desejada: f(x)= ')
 fab = 1;
 df = diff(fx);
 x0 = input('Esclha uma aprximação inicial, Xo= ');
 e = input('Insira a precisão que deseja, e= ');
 er = 1;
 k = 0;
 x1=x0;
 while abs(er) > e
 x0=x1;
 x1 = x0 - (subs(fx,x0)/subs(df,x0))
 er = x1-x0;
 k=k+1;
 end
 c=(x1);
 d=(er);
 disp ('O número de iterações realizadas foi de: '); disp(k)
 disp ('O raiz encntrada foi: '); disp(c)
 disp ('O erro final foi de: '); disp(d)
 
end
%metodo da secante
if escolha == 3
 syms x
 fx = input('Entre com a função desejada: f(x)= ')
 fab = 1;
 x0 = input('Esclha uma aprximação inicial, Xo= ');
 x1 = input('Esclha outra aprximação inicial, X1= ');
 e = input('Insira a precisão que deseja, e= ');
 er = 1;
 k = 1;
 x2= (x0*subs(fx,x1)-x1*subs(fx,x0))/(subs(fx,x1)-subs(fx,x0));
 er=x2-x1;
 while abs(er)>e
 x0=x1
 x1=x2
 x2= (x0*subs(fx,x1)-x1*subs(fx,x0))/(subs(fx,x1)-subs(fx,x0));
 er=x2-x1;
 k=k+1;
 end
 c=x2;
 d=er;
 disp ('O número de iterações realizadas foi de: ')
 k
 disp ('O raiz encntrada foi: ')
 c
 disp ('O erro final foi de: ')
 d
end

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais