Mathématique multi-précision

Soyez le premier à donner votre avis sur cette source.

Vue 1 384 fois - Téléchargée 292 fois

Description

Bonjour, il s'agit de math multiprécision (mantisse sur 256 bits par défaut).
C'est écrit sous forme de classes que l'on peut facilement intégrer à son propre code.
Reel.cs
Complexe.cs
et Matrice.cs qui existe sous 2 formes (coeff réels ou complexes)
J'ai utilisé ce code pour modéliser un capteur double, un peu comparable aux codeurs
optiques avec plusieurs pistes. Chacun des 2 capteurs génère en sortie 2 pseudo-
sinusoïdes en quadrature.
2 modélisations :
1° fonction ATAN2() puis linéarisation par régression pôlynomiale
2° modélisation par série de fourier (n premiers termes) et calcil du modèle inverse.
le fichier texte cal.txt peut servir d'entrée aux 2 projets (reg_poly et modélisation).
Avant d'utiliser les fonctions, il faut appeler Reel.init() qui initialise quelques constantes
dont PI. Tous les fichiers *.txt générés par le code s'ouvrent avantageusement avec
Excel (clic droit... ouvrir avec...). Le code est peu performant en temps d'exécution,
mais il présente l'avantage d'être facile à utiliser : opérateurs +,-,* et / définis.
fonction .ToString() et .Tostring(int longueur), etc...

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Whismeril
Messages postés
13817
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2019
308 -
Bonsoir

ton dépôt enfreint 2 règles de la charte:
-ton adresse mail est présente dans la description, même si t'as écrit arobase au lieu @
-les fichiers exécutables sont présents dans le source
Merci donc de corriger ces 2 points

Coté réutlisabilité, regrouper les classes "métier", Reel, Complex, Matrice dans un projet dll et appeler ce projet ou la dll dans les autres serait plus judicieux.

Point de vue code, il est facile à lire, même si je n'ai fait que le parcourir rapidement.
Cependant
-test_reel plante car tu n'as pas fourni le fichier
Path.Combine(bureau, "Capteur", "bug_1.txt")

-reg_poly, j'ai tenté de lui mettre Cal.txt en entré, j'ai laissé tourné 3 minutes après avoir cliqué sur Angles C1, puis j'ai stoppé.
Tu dis que c'est un lent à l'exécution, en effet, une petite barre de progression serait la bienvenue. Tu pourrais peut-être optimiser certaines boucle (notamment les for) en faisant du linq qui est sensé être plus rapide (ça dépend des cas, il faut donc avoir benchmarqué les 2 codes)
-même constat avec modelisation (j'ai stoppé à 2 min 30)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.