Sei sulla pagina 1di 6

Trabalho De Clculo Numrico Equao de Kepler

Turma: 221 Professor: Jlio Santana Antunes Integrantes: Aline Beatriz Gonzalez Frigo N.090043 Priscila Carvalho N.091053

1. Introduo
A primeira lei de Kepler diz que as rbitas dos planetas so elipses com o Sol em um dos focos. Em coordenadas polares escreve-se:

onde r a distncia do planeta ao Sol, e o ngulo medido a partir do perilio (o ponto de mxima aproximao). Os parmetros a e e so, respectivamente, o semieixo maior e a excentricidade da elipse. A primeira lei d a forma da rbita, mas no diz como o planeta se move ao longo dela. Isto feito pela segunda lei de Kepler, ou ''lei das reas'', segundo a qual a reta que une o planeta ao Sol percorre reas iguais em tempos iguais. Se conhecermos o perodo da rbita, a segunda lei torna possvel determinar a posio do planeta em funo do tempo. Entretanto isto no pode ser feito diretamente, com expresses analticas para r(t) e (t), pois no existe uma relao simples entre a posio do planeta e a rea percorrida pelo raio vetor. Kepler mostrou que o problema pode ser reduzido ao clculo da raiz de uma equao transcendental,

onde t o tempo medido a partir da passagem pelo perilio, e T o perodo da rbita. Encontrado o ngulo , que Kepler chamou de anomalia excntrica, a posio do planeta fica determinada pelas relaes

A equao (2) conhecida como equao de Kepler. Em uma trajetria elptica a velocidade angular no se mantm uniforme; o satlite viaja mais rpido quando se aproxima da Terra. Aplicando as leis de Kepler podemos calcular a anomalia mdia: M = e sen(e) onde: e o ngulo da excentricidade anmala, relao entre a anomalia verdadeira ().

2. Descrio do Problema
A equao de Kepler, utilizada para determinar as orbitas de satlites, dada por: M = x E sen(x) Onde foi dado: E = 0,2; M = 0,5; Neste relatrio vamos obter a raiz da equao de Kepler, utilizando a linguagem computacional C e, para resolver o problema, ser realizado o Mtodo da Bisseco.

Mtodo de Bisseco
O mtodo da bisseco o mais simples dos mtodos numricos utilizados para obter numericamente a soluo de uma equao no linear f(x) =0. Seja f:[a,b] -> R uma funo contnua tal que f(a).f(b) <0. O Teorema do Valor Intermedirio (TVI) nos diz que: Existe entre a e b tal que f() =0. Dividindo o intervalo [a,b] ao meio, seja m o seu ponto mdio. Se f(m) =0, ento m uma raiz. Se f(a).f(m) <0, ento novamente pelo TVI existe uma raiz entre a e m . Neste caso, tomamos b=m repetimos o procedimento. Se f(a).f(m) >0, ento temos que: f(a).f(b).f(a).f(m) <0, ou seja, f(a).f(b).f(m) <0 e assim f(b).f(m) <0. Ou seja, pelo TVI existe uma raiz entre m e b. Neste caso, tomamos a=m e repetimos o procedimento. Neste processo, so criadas duas sequncias numricas que so os extremos dos intervalos encaixados Ik= [ ak-1, bk-1], com ponto mdio do intervalo [ ak-1, bk-1].

Notemos que a cada passo o intervalo [ak, bk] dado por; [ak-1, mk], se f(ak-1).f(mk) <0 e [mk, bk-1], se f(ak-1).f(mk) >0.

Algoritmo do Mtodo da Bisseco


Bisseco (f, a, b, raiz, ), aqui a tolerncia. Passo1. Defina m: = (a+b)/2. Passo 2. Se b-m< , ento tome raiz:= m e saia. Passo 3. Se f(a).f(b)<0, ento tome b= m; caso contrrio, tome a=m. Passo 4. Volte ao passo 1. OBS: aps n passos, a raiz estar contida no intervalo [an, bn] de comprimento bn - an= (b0 a0)/2n Assim, a raiz tal que | m n+1| < dn= (b0 a0)/2(n+1), que uma estimativa para o erro absoluto dessa aproximao.

3. Resoluo do problema
Em linguagem C:
#include<stdio.h> #include<stdlib.h> #include<math.h> #define E 0.2 #define M 0.5 float f(float x) { float fun; fun = (x - 0.2 * sin(x) - 0.5); return(fun); }

int main() { char op; float a, b, Xm, erro, eps; int iter; float f(float ); eps=0.0001; iter=0; printf("\t\t\tEquacao de Kepler\n\n"); puts("\tSolucao da equacao a partir do Metodo da Bisseccao"); puts("\nO Metodo da Bisseccao baseia-se na ideia de cercar a raiz por dois valores:"); puts("um a esquerda da raiz (a) e outro a direita (b), formando um intervalo[a,b] que"); puts("sera constantemente reduzido ate que a largura final do intervalo seja tao"); puts("pequena quanto a preciso(ER) da raiz.A reducao continua da largura do intervalo"); puts("e feita dividindo-se o intervalo em dois e definindo um valor mdio Xm."); do{ printf("\nEntre com o intervalo inicial:\n"); printf("a= "); scanf("%f", &a); printf("b= "); scanf("%f", &b); puts(" iter \t a\t\t b\t\t Xm\t f(a).f(Xm)\t erro"); erro=1; while(erro> eps) { iter++; Xm = (b+a)/2; if (f(a)*f(Xm)<0) { b = Xm; // raiz entre [a,Xm] printf(" %d\t%4f\t%4f\t%4f <0(-)\t%4f\n", iter, a, b, Xm, erro); } else { a = Xm; //raiz entre [Xm,b] printf(" %d\t%4f\t%4f\t%4f >0(+)\t%4f\n",iter,a, b, Xm, fabs(b-a)); } erro = fabs(b - a); } printf("\n\n\nO valor da raiz da equacao de Kepler e: %4f\n\a", Xm); puts("Deseja calcular com novo intervalo? Digite 's' para sim"); fflush(stdin); op=getchar(); }while(op=='s'); system("pause"); return(0); }

Tela de execuo do programa

1 Mtodo da Bisseco.

4. Bibliografia e Referncias Bibliogrficas


http://pt.wikipedia.org/wiki/M%C3%A9todo_de_Newton http://www.dca.iag.usp.br/www/material/satelite/aula_1_orbitas.pdf

Potrebbero piacerti anche