Buscar

secante

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

function r=secan(a,b,f,E1,E2,n)
 x=sym('x');
 format long
 if(abs(subs(f,x,a)))<E1
 r=double(a);
 fprintf('\n raiz = %f\n',r)
 return
 end
 if(abs(subs(f,x,b)))<E1
 r=double(b);
 fprintf('\n raiz = %f\n',r)
 return
 end
 if (abs(b-a))<E2
 r=double(b);
 fprintf('\n raiz = %f\n',r)
 return
 end
 x1=a;
 x2=b;
 for k=1:n
 c=(subs(f,x,x1));
 d=(subs(f,x,x2));
 x3= (x2-(((x2-x1)*d)/(d-c)));
 if((abs(subs(f,x,x3)))<E1)
 r=double(x3);
 fprintf('\n raiz1 = %f\n',r)
 fprintf('\n iterações = %f\n',n)
 return
 end
 if((abs(x3-x2))<E2)
 r=double(x3);
 fprintf('\n raiz2 = %f\n',r)
 return
 end
 x1=x2;
 x2=x3;
 end
end

Teste o Premium para desbloquear

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

Continue navegando