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
Olá, Comunidade!
Vocês devem ter notado que o site ficou um período fora do ar (do dia 26 até o dia 30 de maio de 2024).
Consegui recuperar tudo, e ainda fiz um UPGRADE no servidor! Agora estamos em um servidor dedicado no BRASIL!
Isso vai fazer com que o acesso fique mais rápido (espero )
Já arrumei os principais bugs que aparecem em uma atualização!
Mas, se você encontrar alguma coisa diferente, que não funciona direito, me envie uma MP avisando que eu arranjo um tempo pra arrumar!
Vamos crescer essa comunidade juntos
Grande abraço a todos,
Prof. Caju
Vocês devem ter notado que o site ficou um período fora do ar (do dia 26 até o dia 30 de maio de 2024).
Consegui recuperar tudo, e ainda fiz um UPGRADE no servidor! Agora estamos em um servidor dedicado no BRASIL!
Isso vai fazer com que o acesso fique mais rápido (espero )
Já arrumei os principais bugs que aparecem em uma atualização!
Mas, se você encontrar alguma coisa diferente, que não funciona direito, me envie uma MP avisando que eu arranjo um tempo pra arrumar!
Vamos crescer essa comunidade juntos
Grande abraço a todos,
Prof. Caju
Ensino Superior ⇒ Método da Secante Scilab
Moderador: [ Moderadores TTB ]
-
- Mensagens: 372
- Registrado em: 27 Nov 2014, 15:46
- Última visita: 28-02-24
- Agradeceu: 41 vezes
- Agradeceram: 210 vezes
Nov 2017
30
17:36
Re: Método da Secante Scilab
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
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
Engenharia da Computação | PUC-RIO
O que sabemos não é muito. O que não sabemos é imenso.”
:-> [tex3]\textbf{S. P. Laplace}[/tex3]
O que sabemos não é muito. O que não sabemos é imenso.”
:-> [tex3]\textbf{S. P. Laplace}[/tex3]
-
- Tópicos Semelhantes
- Respostas
- Exibições
- Última mensagem