2010-11-18 9 views

答えて

4

fzeroは自明ではありません。
関数が多項式の場合は、GSL http://www.gnu.org/software/gsl/

+0

多項式ではありません。これは非常に複雑な代数的関数です。 – Brian

4

を試してみてください。GNU Octaveを試してみてください。これはMATLABのFLOSSの代替品であり、多くの機能が同じです。 fzeroの実装を見て、コードがGPLであることを覚えておいてください。

1

私は科学と工学のアプリケーションのためにC++で多くの仕事をしています。私の好きな参考文献の1つは数値レシピnr.comです。いくつかの古いバージョンの本の中にFortranのようなコードが含まれていましたが、Cで書かれていました。たとえば、配列は1から始まりました。2007年の最新版(C++のみ第3版)混乱する名前空間。あなたがコードが気に入らなくても、数学の簡単な説明は本を購入価値があるものにします。いくつかの人々は厳しいコードのライセンスを考慮する警告を受けるが、それは巨大な飛躍であるMatlabに比べて。試してみるべき他のものは、GSLとIntel Math Kernel Libです。がんばろう。

+0

ブレントの方法に関する数値レシピの第9.3章を参照してください。 –

0

埋め込みMATLABサブセットを確認してください。それはあなたがCコードにmatlabのスクリプトを変換することができます。私はC++プロジェクトを形成するためにリンクするmatlab関数からライブラリを作成するために使用します。関数のサブセットのみをサポートしますが、fzeroはいくつかの制限付きでリストに含まれています。 。 。

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

これは、あなたが温かく居心地の良いMatlabの環境でお使いのアルゴリズムの開発のすべてを行うことができます。 MatlabはCライブラリをビルドします。あなたがしなければならないことは、それにリンクすることだけです。 Matlabに慣れていれば、C++の数学ライブラリを学ぶよりも簡単にWAYが簡単です。

0

私はそれが関数fzero相当が含まれていると思うが、Armadillo MATLAB関数の多くのC++のバージョンを持っている(ので、いくつかのインスタンスに対して行うことができます)はありません。例えば、this conversion tableを参照してください。

関連する問題