Fortran : fonction inconnue
Résolu
pom
-
BP06 -
BP06 -
Bonjour, j'aimerais comprendre un programme écrit en Fortran 77 mais je ne connais pas du tout ce langage.
La ligne qui me gêne est la suivante :
scr2=sign(1.0/y(i) ,0.1*epsmin*ascr - d(i) )
où epsmin, ascr sont des réels, y(i) est la ième composante du vecteur y (c'est donc un réel), de-même pour d(i).
Que fait la fonction sign ?
Je comprends que sign(x) = 1 ou -1 suivant le fait que x soit positif ou nul, mais sign(x,y) ?
Merci beaucoup.
La ligne qui me gêne est la suivante :
scr2=sign(1.0/y(i) ,0.1*epsmin*ascr - d(i) )
où epsmin, ascr sont des réels, y(i) est la ième composante du vecteur y (c'est donc un réel), de-même pour d(i).
Que fait la fonction sign ?
Je comprends que sign(x) = 1 ou -1 suivant le fait que x soit positif ou nul, mais sign(x,y) ?
Merci beaucoup.
3 réponses
salut,
Voila ce qui devrais t'aider (si tu comprend l'anglais)
http://www.math.hawaii.edu/lab/197/fortran/fort4.htm
en gros, c'est son role:
sinon je vais te traduire ça ici (tu demance si c'est le cas!)
Voila ce qui devrais t'aider (si tu comprend l'anglais)
http://www.math.hawaii.edu/lab/197/fortran/fort4.htm
en gros, c'est son role:
The function sign in Fortran is called the sign transfer function. It is a function of two variables, and its definition involves two cases: CASE 1: If y ≥ 0 then sign(x,y) = abs(x) , CASE 2: If y < 0 then sign(x,y) = - abs(x)
sinon je vais te traduire ça ici (tu demance si c'est le cas!)
SIGN(parametre1,parametre2)
renvoie parametre1 avec signe du 2ème parametre
exemple:
SIGN(50,-20) renvoie -50 (explication 50x-1)
SIGN(-50,-20) renvoie +50(explication -50x-1)
SIGN(50,20) renvoie 50(explication 50x1)
SIGN(-50,40) renvoie -50(explication -50x1)
attention si tu donnes parametre2=0 ,resultat imprevu(unsafe)
renvoie parametre1 avec signe du 2ème parametre
exemple:
SIGN(50,-20) renvoie -50 (explication 50x-1)
SIGN(-50,-20) renvoie +50(explication -50x-1)
SIGN(50,20) renvoie 50(explication 50x1)
SIGN(-50,40) renvoie -50(explication -50x1)
attention si tu donnes parametre2=0 ,resultat imprevu(unsafe)
sign(1D0,x), remplacer 1D0 par le type de x selon usage...