2010-11-18 5 views

Répondre

4

Essayez de regarder GNU Octave. C'est une alternative FLOSS à MATLAB et a beaucoup de la même fonctionnalité. Jetez un oeil à son implémentation de fzero, en gardant à l'esprit que le code est GPL'ed.

1

Je fais beaucoup de travail en C++ pour les applications scientifiques et d'ingénierie. Une de mes références préférées est Numerical Recipes nr.com. Certaines des anciennes versions du livre incluaient du code ressemblant à Fortran mais écrit en C, par exemple des index de tableaux démarrés à 1. La dernière version de 2007 (C++ seulement 3ème édition) corrigeait de nombreuses plaintes comme 1 tableaux indexés et espace de noms confus. Même si vous n'aimez pas le code, les explications simples des mathématiques rendent le livre intéressant. Soyez averti que certaines personnes considèrent que la licence pour le code est sévère, mais comparé à Matlab, c'est un grand pas en avant. D'autres choses à essayer sont GSL et Intel Math Kernel Lib. Bonne chance.

+0

Consultez le chapitre 9.3 des recettes numériques sur la méthode de Brent. –

0

Découvrez le sous-ensemble matlab intégré. Il vous permet de convertir des scripts matlab en code C. Je l'utilise pour faire des bibliothèques hors des fonctions matlab que je lie pour former des projets C++. Il ne supporte qu'un sous-ensemble de fonctions, mais fzero est inclus dans la liste avec quelques limitations. . .

http://www.mathworks.com/help/toolbox/eml/ug/bq1h2z7-9.html

Cela vous permet de faire tout votre développement algorithmique dans l'environnement Matlab chaleureux et confortable. Matlab va même construire la bibliothèque C. Tout ce que vous avez à faire est de le lier. C'est WAY plus facile que d'apprendre un tas de bibliothèques numériques C++ si vous êtes déjà familier avec Matlab.

0

Je ne pense pas qu'il contienne un équivalent fzero, mais Armadillo a beaucoup de versions C++ des fonctions MATLAB (donc peut faire pour certaines instances). Voir, par exemple, this conversion table.

Questions connexes