/ / La fonction mathématique fonctionne bien en PHP, mais pas en objectif C - php, objective-c, ios, math

La fonction mathématique fonctionne bien en PHP, mais fausse en Objective C - php, objective-c, ios, math

Je "suis mauvais mathématique, mais j'ai besoin de traduire la routine mathématique PHP en objectif C, pour calculer dans l'application iOS.

J'ai ce code, en PHP, ça marche bien:

 function torad ( $arg )        { return ($arg * (pi() / 180.0)); }
function kepler ( $m, $ecc ) {
$EPSILON = 1e-6;
$m = torad( $m );
$e = $m;
do  {
$delta = $e - $ecc * sin( $e ) - $m;
$e -= $delta / ( 1 - $ecc * cos($e) );
} while ( abs($delta) > $EPSILON );
return ( $e );
}

C'est du code, j'ai dans Objective C (pour iOS):

+ (double) toRad:(double)arg{
return (arg * (3.14159265 / 180.0));  // 3.14159265 = pi()
}

+ (double) kepler:(double)m  ecc:(double)ecc {
double EPSILON = 1e-6;
double _m = [self toRad:m];
double e = _m;

double delta;

do {
delta = e - ecc * sin(e) - m;
e -= delta / (1 - ecc * cos(e));
} while (abs(delta) > EPSILON);

return e;
}

La fonction Kepler ne fonctionne pas correctement. Peut-être, vous pouvez dire, où je me suis trompé? Merci.

Réponses:

3 pour la réponse № 1

Vous utilisez m au lieu de _m dans cette ligne:

delta = e - ecc * sin(e) - m;