Página 1 de 1

Método da Secante Scilab

Enviado: Qui 30 Nov, 2017 15:02
por sabrinad
Alguém pode me dizer o que está errado nessa programação do Scilab pelo Método da Secante:

function y=f(x)
y=x - 11^(1/3)
endfunction


function y=fl(x)
y=(f(x) - f(x0))/x- x0
endfunction

x0=1
x=3

for n=1:10

x2= x - (f(x)/fl(x))
if (x2>x0) then
x0=x1
x1=x2
else
x0=x0
x1=x1
disp(x2)
end
end

Re: Método da Secante Scilab

Enviado: Qui 30 Nov, 2017 17:36
por lorramrj
function x2=Secante(f,x0,x1,tol,N)
if f(x0)==f(x1) then
mprintf('A primeira secante é horizontal')
pause;
end
k=0
controle=0
f0=f(x0)
f1=f(x1)
while controle<3 &k<N &x0~=x1
k=k+1
x2=(x0*f1-x1*f0)/(f1-f0)
delta=abs(x2-x1)
if delta<tol*abs(x2) then
controle=controle+1
else
controle=0
end
x0=x1
x1=x2
f0=f1
f1=f(x1)
mprintf('k=%d,\ x=%.12f\n',k,x2)
end
endfunction