Método das Cordas em SCILAB
Publicado por Ariel Galante Dalla Costa (última atualização em 06/11/2013)
[ Hits: 6.287 ]
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;
PJEOffice - Baixa automaticamente última versão do CNJ (Conselho Nacional de Justi&cce
SearchSploit-GTK: Interface gráfica simples para o searchsploit (Kali Linux)
Programação para sistemas embarcados em Assembly
Crivo de Eratóstenes Simples em XBase (Clipper)
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (3)
Captação de áudio no zorin linux começa a diminuir com o tempo (2)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)
estou na 22.1 e não é atualizado pra 22.4 via "sudo full-upgrade&... (6)