Método das Cordas em SCILAB

Publicado por Ariel Galante Dalla Costa (última atualização em 06/11/2013)

[ Hits: 5.184 ]

Homepage: http://arielgdc.wordpress.com

Download 5890.cordas.sce




Método das Cordas/Contraposição em SCILAB.

  



Esconder código-fonte

//
//-SCILAB é uma linguagem livre e científica para uso acadêmico
//-Exemplo para encontrar a raiz no intervalo [2, 3] da função -x³+2x²+x-1
//-Define um intervalo e calcula a raiz pela precisão estabelecida
//-Constrói o gráfico no intervalo estabelecido => Isso pode ser extremamente útil para ver como ela converge/não converge.
//
function [] = grafico(ini, fim)
intervalo = fim-ini;
intervalo = intervalo / 100;
while(ini < fim);
x = ini;
y = funcao(x);
ini= ini + intervalo;
plot(x, y, '.k');
end;
endfunction;

function [y] = funcao(x)
y = (-x^3)+(2*x^2)+x-1 //aqui vai a função
endfunction;
//calcula a raiz de f(x) no intervalo [a,b] com precisão Tol
Tol = 10^(-4);
a=2; //intervalo inicial
b=3; //intervalo final
x0=a;
x1=b;
eps1 = Tol;
i = 0;
grafico(a, b);
if funcao(x0)*funcao(x1)>=0 printf("O valor de f(a) e f(b) devem ter sinal diferente");
abort;
end;
xp=(x0.*funcao(x1)-x1.*funcao(x0))./(funcao(x1)-funcao(x0));
it=0;
while (min(abs(funcao(xp)),(x1-x0))>eps1)&it<=500 do
if funcao(x0).*funcao(xp) > 0 then
x0=xp; else x1=xp; end;
xp=(x0.*funcao(x1)-x1.*funcao(x0))./(funcao(x1)-funcao(x0));
i=i+1;
end;
raiz=xp;
iter=i; 

if it>=499 then
printf("Não converge nesse intervalo!");
abort;
else;
printf("Raiz Cordas é %10.15f com %f iterações", raiz, iter);
end;

Scripts recomendados

Método da Bissecção em SCILAB

Código "Vírus do Atalho"

Tudo-Wifi

Método de Jacobi em SCILAB

Adicionar proxy no Internet Explorer na inicialização


  

Comentários
[1] Comentário enviado por HUEHUEUFFS em 01/04/2014 - 19:38h

COOOOONAAAAAAAIIIIIIIIIIIIIIIIIII
Boa!!

[2] Comentário enviado por removido em 27/09/2015 - 01:59h

A indentação não ajuda, mas vou ler com calma.
Scilab me interessa muito.
Parabéns.

--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Contribuir com comentário