Programme fortran

Fermé
sarah - 1 juin 2008 à 20:07
 osmani - 3 mars 2009 à 03:08
Bonjour,
je dois résoudre une équation en utilisant la methode de newton mais en programmation fortran 90
et g besoin d'aide!!voici la fonction f(x)=x**3 + 3x - 1.
merci d'avance

3 réponses

juanpablo Messages postés 142 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 16 juin 2008 10
1 juin 2008 à 21:45
bonsoir

je suppose que tu dois programmer le code de cette methode et non pas utiliser une librairie...


c'est une methode iterative pour trouver la racine de f(x)=0

xn+1= xn - f(xn) / f'(xn)

il faut donc definir une procedure pour calculer f f'

subroutine F_FP(x,f,fp)

f=x**3 + 3x - 1.

fp=3*x**2 + 3

end


et faire une boucle avec des criteres de controle


Program MethodeNewton
!-----declaration

!----valeur de depart
x=1
!----boucle
do i=1, imax

call F_FP(x,f,fp)

!---test derivé fp

!-- iteration
xi= x - f/fp

!--test convergence xi-x

!--x accepté
x=xi
enddo

!--afficher x si ok
if ....
write(*,*) ' solution x=
else
write(*,*) ' erreur ...
endif
end


voila c'est juste le principe, à toi de detailler le code
4
je veut savoir comment faire la solution de l'equation x^2-4sinx+0 par la methode ewton
0
Bonsoir,
De mémoire :
par exemple, si on veut le résultat dans une variable Y,
Y=X**3 + X*2 - 1 (** pour la puissance, et * pour la multiplication)
DL
2
c Program MethodeNewton
real x

x=1
do i=1, imax
call F_FP(x,f,fp)
1 xi= x - f/fp

if (abs(xi-x).gt.10-3) then
x=xi
goto 1
else
write(*,*) ' solution x=', x
endif
enddo
end


subroutine F_FP(x,f,fp)
real x
f=x**3 + 3x - 1
fp=3*x**2 + 3
return
end
2