java math

java math - Java - Programmation

Marsh Posté le 31-10-2003 à 23:05:02    

j'ai  k/log2(racine 3ieme(n))
 
donc en java
  k/(Math.log(Math.pow(3,1/n))/Math.log(2.0));
 
k=32 et n =100
 
avec java ça me donne
214 783 647
 
 
avec excel je fais
 
a1=32
a2=100
=A1/LOG(3^(1/a2);2)
et ça me donne
2018,975
 
une grosse différence tout de même :)


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 31-10-2003 à 23:05:02   

Reply

Marsh Posté le 31-10-2003 à 23:53:35    

Certes.

Reply

Marsh Posté le 31-10-2003 à 23:53:36    

en faisant tes calculs en décimal, tu t'accorderas plus de chance que ca fonctionne ...


Message édité par benou le 31-10-2003 à 23:54:07

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 00:07:44    

quelqu'un ma dit:
 
Méfies-toi toutefois car les approximations
effectuées dans les calculs de racine et de logarithme sont assez
importantes (une sombre histoire d'interpolation polynomiale par
application d'un développement limité au voisinage de la valeur, je crois).
Le résultat que tu vas trouver par cette opération n'aura donc pas grand
chose à voir avec celui que tu obtiens dans le pur monde mathématique.
 
un petit
System.out.println((double)Math.log(2.0));
donne 0.6931471805599453  
 
et la ti: .30103


Message édité par os2 le 01-11-2003 à 00:09:49

---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 01-11-2003 à 00:14:11    

C'est sur que faire des calculs logarithmiques en entier, tu vas avoir quelques légères approximations  :lol:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 00:16:37    

os2 a écrit :

un petit
System.out.println((double)Math.log(2.0));
donne 0.6931471805599453  
 
et la ti: .30103  


 :heink: tu fais exprès là nan ???
 
essaye ca juste pour voir :  
System.out.println(Math.log(2) / Math.log(10));


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 00:52:01    

benou a écrit :


 :heink: tu fais exprès là nan ???
 
essaye ca juste pour voir :  
System.out.println(Math.log(2) / Math.log(10));


 
ça c'est ok...
log étant base 10 par défaut...
 
32/log2(racine 3ieme(n))
 
en java
c'est pour ça que je divise par log(2)..
32 / (Math.log(Math.pow(3,1/n)) / Math.log(2))
mais ça donne pas le résultat escompté


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 01-11-2003 à 00:54:29    

benou a écrit :

en faisant tes calculs en décimal, tu t'accorderas plus de chance que ca fonctionne ...


je me quote vu que t'as du passer à côté de ma réponse ...
 

Code :
  1. double k = 32;
  2.  double n = 100;
  3.  System.out.println(k/(Math.log(Math.pow(3,1/n))/Math.log(2.0)));


Message édité par benou le 01-11-2003 à 00:55:25

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 01:04:00    

benou a écrit :


je me quote vu que t'as du passer à côté de ma réponse ...
 

Code :
  1. double k = 32;
  2.  double n = 100;
  3.  System.out.println(k/(Math.log(Math.pow(3,1/n))/Math.log(2.0)));




 
non j'avais pas passé à côté
j'avais essayé de passé le tout en décimal...
merci


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 01-11-2003 à 15:49:59    

L'ennonce de debut parle de racine 3eme de n.
 
Pour moi, c'est n a la puissance 1/3, pas 3 a la puissance 1/n

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed