Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

camarneirobruno

[MATLAB] Questão método das secantes

Mensagens Recomendadas

camarneirobruno

Não sei se este é o sítio correcto para colocar a minha dúvida mas cá vai:

Eu tenho de fazer um trabalho sobre o método das secantes, mas não estou a conseguir (provavelmente é um errozeco estúpido que eu não estou a apanhar)

este é o meu código da função:

function x = metSecantes(f,x0,x1,k_max,tol)

k = 1;
x(k) = x0;
k=k+1;
x(k) = x1;
while(k <= k_max+1)

 x(k+1) = (x(k-1)*feval(f,x(k))-x(k)*(feval(f,x(k-1))))/(feval(f,x(k))-feval(f,x(k-1)));

 if(abs((x(k+1)-x(k))/x(k+1)) < tol)
   return;
 end
 k = k+1;
end

e chamo a função através do comando:

metSecantes(str2func(f),x0,x1,k_max,tol);

na variável f tenho:

f='4*cos(x)-exp(x)'

Será que me podem ajudar?

(Já agora, este comunidade está fantástica)

Esqueci-me do mais importante

Log do Erro:

>> metSecantes(str2func(f),x0,x1,k_max,tol);
Warning: The input to STR2FUNC "4*cos(x)-exp(x)" is not a valid function name. This will generate an error in a future release. 
??? Error using ==> feval
Undefined function or method '4*cos(x)-exp(x)' for input arguments of type
'double'.

Error in ==> metSecantes at 9
x(k+1) =
(x(k-1)*feval(f,x(k))-x(k)*(feval(f,x(k-1))))/(feval(f,x(k))-feval(f,x(k-1)))

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.