Método da Bissecção em SCILAB
Publicado por Ariel Galante Dalla Costa (última atualização em 06/11/2013)
[ Hits: 22.618 ]
Homepage: http://arielgdc.wordpress.com
Método da Bissecção em SCILAB.
//
//SCILAB é uma linguagem livre e científica para uso acadêmico
//Exemplo para encontrar a raiz no intervalo [0.1, 1] 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 [y] = funcao(x)
y = (-x^3)+(2*x^2)+x-1 //aqui vai a função
endfunction;
function [y] = mod_numero(x) //pode se usar a função abs()
p = x;
if x < 0;
p = x*(-1);
end;
y = p;
endfunction;
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;
a = 0.1; //intervalo inicial
b = 1; //intervalo final
ini = a;
fim = b;
interm = (a+b)/2;
grafico(a, b);
//calcula a raiz de f(x) no intervalo [a,b] com precisão eps1
x0=a;
x1=b;
xm=(x0+x1)./2;
eps1 = 10^(-4); //Precisão
it=0;
if funcao(x0)*funcao(x1)>=0 printf("O valor de f(a) e f(b) devem ter sinal diferente");
abort;
end;
while abs(funcao(xm))>eps1&it<=500
if funcao(x0)*funcao(xm) > 0 then
x0=xm;
else
x1=xm;
end;
xm=(x0+x1)/2;
it=it+1;
end;
raiz=xm;
iter=it;
if it>=499 then
printf("Não converge nesse intervalo!");
abort;
else;
printf("Raiz Bissecção é %10.15f com %f iterações", raiz, iter);
end;
Verifica se o link caiu e manda aviso por email - MIkrotik v5.*
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Não consigo instalar distro antiga no virtualbox nem direto no hd (24)
queria saber como posso alterar a frequencia do meu ryzen 2300u pro (3)









