私は現在、財務教授の研究プロジェクトに取り組んでおり、MATLABでコードを記述して、前の論文の結果を複製することになっています。しかし、問題が発生したので、前の論文の著者にソースコードを送ってもらいました。しかし、彼らが使用したコードはFortranであり、コードをFortranからMATLABに変換できるかどうか、そしてどの参照を使用すべきか疑問に思いました。ありがとう!
2 に答える
開始する場所の1つは、ここからf2matlabになります。開始するには、READMEファイルに従ってください。f2matlabは通常、動作中のmファイルへの道の95%を取得するため、変換後にmファイルをデバッグする必要があります。
コードは最初にfortran90形式である必要があり、AlanMillerまたはMetcalfのコンバーターを使用してそれを支援できます。
最後に、最も難しいことの1つは、f2matlabを試す前に、fortranコードからgotoを削除することです。remgotoによるgotoの削除/リファクタリングについて説明している私のページをここで見ることができます。
おそらく最良の参考書は、FortranとMATLABに関する本です(たとえば、それぞれから始める人のために、Chapmanによる本-彼はFortranとMATLABの両方に関する入門書を書いています)。私は、FortranからMATLABへの書き換えは他の方法よりも確かに簡単ですが、あるものから別のものへの書き換えの問題を具体的に扱っている作品には精通していません。
また、元のコードで使用されていたFortranのリビジョンによっても大幅に異なります。Fortran90以降のリビジョンを使用すると、短さと表現力の点で、コードをほぼMATLABのように作成できます。構文に問題がある場合は、それを比較する1つのドキュメントがあるので、参照として使用することは悪くありません。
しかし、元のコードを.dllとしてコンパイル(または少し変更してからコンパイル)して、MATLABに接続してみてはどうでしょうか。そうすれば、速度の点で確実に損失が少なくなり、数値の不安定性とテストの問題の章全体を回避できる可能性があります。