Método Iteração Linear em Scilab
Versão do Scilab: 5.5.2
clear
clc
//Método Iterativo Linear
//ISOLAR O X em diferentes formas e fazer os teste abaixo para usar o melhor método deles.
//Ou seja, uma nova equação da que foi dada
//para sabe se o programa vai entrar em looping faça o seguinte com a nova equação que voce descobriu
// se -1< derivada de f(x) < 1 é divergente, não usar o metodo
//se 0 < derivada de f(x) < 1 convergencia monotonica
//se -1 < derivada de f(x) < 0 é convergencia oscilante
//exemplo : Função Original : x²^3-9x-3 --- equação que converge -> x = (x^3 + 3)/9
//fazer os testes com x0 dado na equação ou tirado do intervalo inicial (geralmente a metade do intervalo)
//AQUI vai a nova equação, sendo a melhor para a questao
function [resultado] = equacao(x)
resultado = sqrt(%e^(x/2)) //aqui vai a equacao de entrada
endfunction
x0 = 1.5 //variavel que armazena o valor inicial
//Erro Tolerável
erro=5*10^-5;
diferenca=2*erro; //condição de parada do laço
contIteracao = 0;
while diferenca > erro
x = equacao(x0)
diferenca = abs(x-x0);
x0 = x
contIteracao = contIteracao +1;
end
printf("Raiz aproximada da funcao : %g", x0)
printf("\n\n")
printf("Numero de iterações : %g", contIteracao)
clear
clc
//Método Iterativo Linear
//ISOLAR O X em diferentes formas e fazer os teste abaixo para usar o melhor método deles.
//Ou seja, uma nova equação da que foi dada
//para sabe se o programa vai entrar em looping faça o seguinte com a nova equação que voce descobriu
// se -1< derivada de f(x) < 1 é divergente, não usar o metodo
//se 0 < derivada de f(x) < 1 convergencia monotonica
//se -1 < derivada de f(x) < 0 é convergencia oscilante
//exemplo : Função Original : x²^3-9x-3 --- equação que converge -> x = (x^3 + 3)/9
//fazer os testes com x0 dado na equação ou tirado do intervalo inicial (geralmente a metade do intervalo)
//AQUI vai a nova equação, sendo a melhor para a questao
function [resultado] = equacao(x)
resultado = sqrt(%e^(x/2)) //aqui vai a equacao de entrada
endfunction
x0 = 1.5 //variavel que armazena o valor inicial
//Erro Tolerável
erro=5*10^-5;
diferenca=2*erro; //condição de parada do laço
contIteracao = 0;
while diferenca > erro
x = equacao(x0)
diferenca = abs(x-x0);
x0 = x
contIteracao = contIteracao +1;
end
printf("Raiz aproximada da funcao : %g", x0)
printf("\n\n")
printf("Numero de iterações : %g", contIteracao)
Comentários
Postar um comentário
Obrigado pelo contato, retornarei o mais breve possível!