Boite a outils mathématiques pour l'algèbre linéaire et l'analyse

Soyez le premier à donner votre avis sur cette source.

Vue 9 107 fois - Téléchargée 1 784 fois

Description

Calcul matriciel, polynomial, équations différentielles, équations aux dérivées partielles, calculs de zéros et d'extrema, d'intégrales, d'éléments propres, lissage, tabulation, interpolation, systèmes linéaires et non-linéaires.

Source / Exemple :


bdd.zip

Conclusion :


Il reste à écrire l'interface graphique et le post-traitement pour l'équation de poisson.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
124
3 juil. 2010 à 13:51
Il ne faut pas le prendre mal. En postant dans la section "source", tu exposes ton code à la critique. Cette section a vocation à présenter des codes qui sont soit techniquement intéressants (et donc techniquement, à défaut d'être irréprochable, au moins très "carré"), soit à présenter quelque chose de pédagogique.
Ici tu entres dans la première catégorie. Le souci est que tu fais beaucoup de chose de la mauvaise manière. Il faut savoir qu'un débutant qui voit une source a beaucoup de mal à différencier les bonnes pratique, des mauvaises. S'il prend ta source comme référence, ce ne sera pas à son avantage.
Pour simplifier, on est plus sévère sur les codes postés dans cette section, que sur le forum.

Néanmoins, rien ne t'empêche de mettre à jour ton code. N'hésite pas à demander de l'aide, c'est toujours avec plaisir que les membres de cette communauté t'aideront.
BOLLOTD
Messages postés
2
Date d'inscription
mardi 2 septembre 2008
Statut
Membre
Dernière intervention
31 octobre 2015

3 juil. 2010 à 00:45
Je ne suis pas un pro comme vous. Je débute en c++ et je ne suis pas informaticien de profession. Il y a longtemps j'ai programmé en fortran. Je tiendrais compte de vos conseils mais ce n'est pas dit de façon très sympa. Merci quand même.
cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
124
2 juil. 2010 à 11:26
C'est un code que je ne recommande pas.

Plusieurs remarques:
- Le titre est incorrecte puisque ton code n'a *absolument* rien à voir avec une quelconque base de données. C'est juste liste chaînées qui est gardée en mémoire !
- Tu fais du C++, mais tu n'en utilises pas les avantages, tu aurais pu coder directement en C, ton code n'aurait pratiquement pas changé.

Au niveau techniques:
- N'utilise jamais using namespace std, *surtout* dans header ! Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace
- Préfère 0 à NULL. Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/null-en-cpp
- Un seul header par classe, on ne met pas plusieurs définitions de classe dans un seul header !
- Les variables globales sont à proscrire totalement. Si tu as des variables globales, pose toi des questions.
- Utilise des std::string, au lieu de faire du char*/char[] partout !
- La liste chaînée aurait pu être aisément remplacé par une std::list
- Il est inutile de faire un "return;" à la fin d'une fonction retournant void.
- L'encapsulation des données ne sert strictement à rien, si tu mets toutes les méthodes amis de tes classes (friend). L'utilisation du mot clé friend doit être rarissime, et doit se justifier. Ici il est utilisé n'importe comment.
- Beaucoup de fonction ne sont pas optimisées (je pense par exemple à "enleve_les_blancs" qui fait des copies inutiles).
- Les fonctions sont *trop* grosses. Une bonne fonction n'excède généralement pas une trentaine de ligne.
- Beaucoup de répétition ! Beaucoup de code aurait pu être factorisé. A la place tu as fait énormément de copier coller.

Enfin, cerise sur le gâteau, le code ne compile pas chez moi (normal, tu n'as pas pris la peine d'inclure les headers nécessaires pour strcpy et strcmp, et entete2.h n'existe pas !), et j'ai énormément de warnings (tu n'as pas du compiler en activant l'affichage de conseil).

Le code ne compilant pas, je n'ai pas vérifié les fuites mémoires, mais je suis à peu près sur que sur ce point aussi, il y a des problèmes.

J'oublie sûrement plein de remarques, mais j'ai du en parcourir la majorité.

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.