Zeros de Funções

4
 {Método de Localização de Zeros} {O conteúdo dentro das chaves são comentários} Variáveis: gama: real; {variável gama do tio real }  !"n#: real; {vetor real $%e armazenará as &n& artiç'es( n é o )ndice do vetor}  i: inteiro; {variável $%e servirá de )ndice ara a contagem das iteraç'es}  a: real; {in)cio do intervalo}  *: real; {+m do intervalo}  n: inteiro; {número de s%*intervalos dentro do intervalo} ,ntradas : -./0; a; *; n {a -%nção a ser tra*alhada} 1omeço gama2mod.*3a04n; {gama rece*e o m5d%lo de .*3a0 e divide ela $%antidade de s%*intervalos in-ormados} !"6#2a; {a artição &zero& c%7o )ndice está entre colchetes( começa com o valor de &a&( in)cio do intervalo} !ara i28 até i2n -aça {reetirá o $%e está entre &começo& e &+m& a*ai/o n vezes} 1omeço  !"i#2!"i38#9gama; {a artição &i& rece*a a anterior 9 o valor de gama}  se -.!"i#0-.!"i38#026 {se o rod%to do valor da -%nção da artição at%al ela anterior -or menor o% ig%al a zero( e/ec%tará o comando a*ai/o} começo <rmazene o intervalo "i38# e "i# na matriz M; {armazenará na rimeira col%na da matriz M o onto os e/tremos da artição $%e contém alg%m zero da -%nção} +m +m ,/i*ir M; {no +nal ele e/i*e a matriz M em $ cada linha aresenta os res%ltados dos s%*intervalos $%e contém os zeros}

description

zeros de função

Transcript of Zeros de Funções

{Mtodo de Localizao de Zeros}{O contedo dentro das chaves so comentrios}

Variveis: gama: real; {varivel gama do tipo real } P[n]: real; {vetor real que armazenar as "n" parties, n o ndice do vetor} i: inteiro; {varivel que servir de ndice para a contagem das iteraes} a: real; {incio do intervalo} b: real; {fim do intervalo} n: inteiro; {nmero de subintervalos dentro do intervalo}Entradas : f(x); a; b; n {a funo a ser trabalhada}Comeo gama=mod(b-a)/n; {gama recebe o mdulo de (b-a) e divide pela quantidade de subintervalos informados}

P[0]=a; {a partio "zero" cujo ndice est entre colchetes, comea com o valor de "a", incio do intervalo}

Para i=1 at i=n faa {repetir o que est entre "comeo" e "fim" abaixo n vezes}Comeo

P[i]=P[i-1]+gama; {a partio "i" receba a anterior + o valor de gama} se f(P[i])*f(P[i-1])delta faa: {enquanto a condio no for atendida ele executar os comandos abaixo dentro do comeo e fim}Comeox=(a+b)/2; {calcula o meio do intervalo}Se f(x)=0 Encerrar o algoritimo; {encerra pois x o zero da funo}Seno {se x no e o zero ele faz o teste abaixo para excluir uma subintervalo a direita ou a esqueda de x}Se f(a)*f(x)0 ento {se passar no teste fazermos o algoritimo da direita para esquerda... graficamente imaginando}comeoc=a;x[0]=b;fimSeno {...seno fazermos da esquerda para direita } comeoc=b;x[0]=a;fimx[1] = x[0] - ( f(x[0])/( f(x[0]) - f(c) ) )* (x[0] - c); {aquela conta normal que se faz no mtodo usando o valor anterior para calcular o valor atual}

n=1; {iniciando o contador dos ndices de x em 1}

Enquanto mod(x[n]-x[n-1])>delta faa; {faz o teste para saber se fatisfaz o delta ( a condio de parada)}Comeon=n+1; {incrementa o n para calcular a prxima aproximao de x. x[n] = x[n-1] - ( f(x[n-1])/( f(x[n-1]) - f(c) ) )* (x[n-1] - c); {calcular os n-simas aproximaes do zerofim

Exibir x[n]; {exibe o ultimo valor do vetor x, com a aproximao que atende o delta}

fim

{Mtodo de Newton}{O contedo dentro das chaves so comentrios}

Variveis: delta: real; {varivel delta do tipo real} a: real; {incio do intervalo} b: real; {fim do intervalo} g: real; {auxiliar que recebe o valor da 2 derivada de f} h: real; {auxiliar que recebe o valor da 1 derivada de f} x[n]: real; {vetor real que armazenar os "n" aproximaes do zero da funo. n o ndice do vetor} Entradas : f(x); a; b; delta; {a funo a ser trabalhada}Comeo

g(x)=f(x); {g receba a 2 derivada de f para fazer o teste abaixo }

Se f(a)*g(a)>0 ento {se passar no teste fazermos o algoritimo da direita para esquerda... graficamente imaginando}comeox[0]=a;fimSeno {...seno fazermos da esquerda para direita } comeox[0]=b;fimx[1] = x[0] - f(x[0])/( h(x[0]); {aquela conta normal que se faz no mtodo usando o valor anterior para calcular o valor atual}

n=1; {iniciando o contador dos ndices de x em 1}

Enquanto mod(x[n]-x[n-1])>delta faa; {faz o teste para saber se fatisfaz o delta ( a condio de parada)}Comeon=n+1; {incrementa o n para calcular a prxima aproximao de x. x[n] = x[n-1] - f(x[n-1])/( h(x[n-1]); {calcular os n-simas aproximaes do zerofim

Exibir x[n]; {exibe o ultimo valor do vetor x, com a aproximao que atende o delta}

fim