Métodos Numéricos - Raízes de f(x) fortran

2135 palavras 9 páginas
TRABALHO DE MÉTODOS NUMÉRICOS

APROXIMAÇÃO PARA A RAIZ DE F(X)

F(X)=X*LOG(X) -1

MÉTODO DE NEWTON-RAPHSON
MÉTODOS DA POSIÇÃO FALSA
MÉTODOS DA BISSECÇÃO

PROGRAMA PELO MÉTODO DE NEWTON-RAPHONS
Programa em FORTRAN: program newtonraphson implicit none integer i real erro, in, m , n, r, c real a(100), b(100), e(100), f(100), ya(100), x(100), k(100), z in= 2.3 r= 0.1 erro= 0.0000001 do while (z.gt.0) m=(in*log10(in))-1 in=in+r n=(in*log10(in))-1 z=m*n end do a(1)=in-r b(1)=in i=1 x(1)=in f(i)=(x(i)*log10(x(i)))-1 print *, "a(1)", a(1) print *, "b(1)", b(1) c=1 e(1)=1 do while (e(i).gt.erro.or.abs(f(i)).gt.erro.and.c.le.10) k(i)=log10(x(i))+(1/log(10.0)) x(i+1)=x(i)-(((x(i)*log10(x(i)))-1)/k(i)) ya(i)=(a(i)*log10(a(i)))-1 f(i+1)=(x(i+1)*log10(x(i+1)))-1 if (ya(i)*f(i+1).gt.0) then a(i+1)=x(i+1) b(i+1)=b(i) print *, "a=", a(i+1) print *, "b=", b(i+1) print *, " " else b(i+1)=x(i+1) a(i+1)=a(i) print *, "a=", a(i+1) print *, "b=", b(i+1) print *, " " end if e(i)=abs((x(i+1)-x(i)))/abs(x(i+1)) f(i)=abs((x(i)*log10(x(i)))-1) if(e(i).gt.f(i)) then

print *, "erro", f(i) else print *, "erro", e(i) end if i=i+1 c=c+1 end do print*, "ra¡z da fun‡Æo ‚", x(i-1) stop end

Legenda: in => aproximação inicial raio de deslocamento => r erro => tolerância do critério de parada

Dados de entrada do programa:
1) Aproximação inicial
2) Raio de deslocamento
3) Tolerância do critério de parada

Descrição dos módulos do programa:
Módulo 1 - Aproximação das raízes

do while (z.gt.0) m=(in*log10(in))-1 in=in+r n=(in*log10(in))-1 z=m*n end do a(1)=in-r b(1)=in

Tendo em vista o valor de aproximação inicial “in”, calcula-se os limites gerados pela aproximação da raiz, gerando “a(1)” e “b(1)”
Dado de entrada:
Aproximação inicial => in
Dados de saída:
Valor de aproximação antes da raiz da função => a(1)
Valor de aproximação após a raiz da função => b(1)

Módulo 2 - Cálculo da aproximação da raiz

Relacionados

  • Relatório de composição e decomposição de forças complanares concorrentes entre si
    1028 palavras | 5 páginas
  • revikworks
    1950 palavras | 8 páginas
  • FIsica computacional
    20995 palavras | 84 páginas
  • Nada
    3881 palavras | 16 páginas
  • Calculo numerico
    1120 palavras | 5 páginas
  • Scilab
    4589 palavras | 19 páginas
  • Fortran apostila
    34439 palavras | 138 páginas
  • Computação
    1341 palavras | 6 páginas
  • Parafigmas da programação
    11332 palavras | 46 páginas
  • Matlab
    11313 palavras | 46 páginas