Jump to content
Posted
comment_125332

Bonjour

Pourquoi certains programmes de calcul numérique en génie civil, parfois ne répondent pas à ce qui est attendu ou donne des résultats inattendus ou illogiques même si les données de l'utilisateur sont correcte . Et il suffit de reprendre la manip pour que ça marche au deuxième tour :)  

Cdt   

  • Replies 29
  • Views 5.1k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • philkakou
    philkakou

    Le plus simple serait de définir une variable tolerance et vérifier si alpha se trouve dans la tolerance autour de la valeur de x En fait , le problème vient de la représentation numérique d'un n

  • Le problème est là. C'est quoi très petit? Puis quelle est la conséquence de ce très petit pour l’intersection des droites sur le très petit pour déterminer les points confondus? Puis sur le très peti

  • BELLAMINE
    BELLAMINE

    Exactement, et pour éviter ce piège dû à la machine que peut on proposé pour éviter ce bug très dangereux pour  la programmation informatique en calcul numèrique ? Cdt

Featured Replies

comment_125435
Il y a 3 heures, BELLAMINE a dit :

Rebonjour

En mathématique Pi vaut  3,141592653589793238462... sur nos PC machine Pi est représentée par 3,1415926535897900000000

14 chiffres après la virgule  seulement c'est la capacité maximale de stockage de nos PC

A SUIVRE ...  

C'est pourquoi il faut toujours utiliser acos(-1.d0) (arccosinus) comme valeur de PI dans un programme pour être sûr que cos(PI)=-1.

  • Author
comment_125439
Il y a 2 heures, piste4 a dit :

C'est pourquoi il faut toujours utiliser acos(-1.d0) (arccosinus) comme valeur de PI dans un programme pour être sûr que cos(PI)=-1.

Peut être pour PI 

Et les autres nombres à virgule flottante comment les traités dans un contexte général de calcul numérique sur un PC ?

Cdt

 

 

comment_125449

Bonjour

 

Pour PI, c'est effectivement un cas particulier car sa valeur influence le résultat des fonctions trigonométriques.

Pour le reste, il faut définir dans un premier temps la plage de valeurs dans laquelle doit pouvoir fonctionner le logiciel puis une fois cette plage définie, prendre des valeurs de précision compatibles avec elle. Le programme enfin ne doit afficher que le nombre de décimales compatibles avec cette précision.

Ces données doivent être énoncées clairement dans la documentation pour éviter des surprises à l'utilisateur.

Enfin, quand on analyse les résultats d'un logiciel informatique, il ne faut pas oublier de garder son esprit critique surtout pour les valeurs comportant plus d'une douzaine de chiffres et de limiter l'affichage des décimales au nombre compatible avec le sujet.

Pour ce qui est des logiciels de structures, n'oubliez pas que les coefficients de sécurité sont suffisamment grands pour éviter les problèmes.

  • Author
comment_125450
il y a 14 minutes, piste4 a dit :

Bonjour

 

Pour PI, c'est effectivement un cas particulier car sa valeur influence le résultat des fonctions trigonométriques.

Pour le reste, il faut définir dans un premier temps la plage de valeurs dans laquelle doit pouvoir fonctionner le logiciel puis une fois cette plage définie, prendre des valeurs de précision compatibles avec elle. Le programme enfin ne doit afficher que le nombre de décimales compatibles avec cette précision.

Ces données doivent être énoncées clairement dans la documentation pour éviter des surprises à l'utilisateur.

Enfin, quand on analyse les résultats d'un logiciel informatique, il ne faut pas oublier de garder son esprit critique surtout pour les valeurs comportant plus d'une douzaine de chiffres et de limiter l'affichage des décimales au nombre compatible avec le sujet.

Pour ce qui est des logiciels de structures, n'oubliez pas que les coefficients de sécurité sont suffisamment grands pour éviter les problèmes.

Bonjour

Ici (notre sujet fondamental), ce n'est pas uniquement la précision des résultats d'un logiciel informatique en calcul numérique que nous cherchons à résoudre, mais au delà de ça !!! 

Je prend un exemple pour mieux nous situer :

IF x=y then

  TOTO = 1,2

  Else

    TOTO = 1000

End If

Pour la précision des résultats cela dépend de la grandeur de la variable que nous voulons calculer. Par exemple en calculons la flèche d'une poutre et nous savons que cette flèche est de l'ordre de 1/1000 mm. Au lieu de comparer x avec y il faut mieux comparer 10000x avec 10000y  !!!

Cdt  

  • Author
comment_125529

Bonjour

Ce que nous pouvons déduire de ce qui précède est : En langage informatique pour un calcul numérique, il ne faut jamais comparer deux variables numériques a et b par la syntaxe IF a=b then !!! et de remplacer cette syntaxe par IF ASB(a-b) <= Epsilon then Mais cela ne résout pas le problème définitivement !!!!

La problématique de ce sujet m’est arrivé quant j’étais en train de faire un programme en 2012 en VBA sous Excel. Et il m’a fallu 1 mois pour le détecter et 15 jrs pour le résoudre définitivement avec des collaborateurs sur le site www.developpez.com , C’est un site très important pour ceux qui ont le Verus de la programmation informatique et fait par des professionnels !!!   

Voici le lien pour accéder à la résolution de notre sujet :

https://www.developpez.net/forums/d1180966/logiciels/microsoft-office/excel/macros-vba-excel/erreur-calculs-excel/

Et n’hésiter pas à posé des questions si nécessaire

Bonne lecture

  • 2 weeks later...
  • Author
comment_125949
il y a une heure, patricia43 a dit :

my name is PATRICIA  please write through my  private email [  patricia.horoho12@yahoo.com ] i have something important to discuss with you through email,

You Can use my private email :

golding53@ymail.com for more discuss

 

 

 

 

  • Author
comment_125950
il y a une heure, patricia43 a dit :

my name is PATRICIA  please write through my  private email [  patricia.horoho12@yahoo.com ] i have something important to discuss with you through email,

Pourquoi tu transmet le même message à tout le monde sur ce site alors que vous venez d'être inscrit il y a 2h ??????

 

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...