Método das Cordas em SCILAB
Publicado por Ariel Galante Dalla Costa (última atualização em 06/11/2013)
[ Hits: 6.392 ]
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;
SearchSploit-GTK: Interface gráfica simples para o searchsploit (Kali Linux)
trocar permissão, dono e grupo de arquivos ou diretórios
Perguntas e respostas com Assembly e NASM
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









