Método das Cordas em SCILAB
Publicado por Ariel Galante Dalla Costa (última atualização em 06/11/2013)
[ Hits: 6.484 ]
Homepage: http://arielgdc.wordpress.com
Método das Cordas/Contraposição em SCILAB.
//
//-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;
Verifica se o link caiu e manda aviso por email - MIkrotik v5.*
Tranposta da matriz em Haskell
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Zen Kernel no Arch Linux (instalar e remover)
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Não consigo publicar screenshots no Viva o Linux (3)
Loop infinito em uma media ponderada. (3)









