我使用的是Windows XP,matlab版本是7.10.0。 我有来自http://www.ics.forth.gr/~lourakis/levmar/levmar-2.5.tgz的 levmar (Levenberg Marquardt)套餐
在README文件中,我们被告知使用mex使用以下命令在matlab中编译: mex -DHAVE_LAPACK -I .. -O -L -L levmar.c -llevmar -lclapack -lblas -lf2c。
我为windows下载 lapack.lib , blas.lib 和 f2c.lib
更新: 在我构建包中给出的vc项目文件后,原始错误得到了解决。 但现在有一些错误消息,如:
levmar.lib(misc.obj) : error LNK2019: unresolved external symbol _dgemm_ referenced in function _dlevmar_trans_mat_mat_mult
答案 0 :(得分:1)
您是否使用mex-function网关创建了一个文件?你不能只为Matlab编译一个c函数;你需要做一些工作来处理Matlab和c代码之间的I / O.
如果您按照this document中列出的步骤操作,则应该可以。
答案 1 :(得分:1)
您可以查看immoptibox,其中包含Levenberg-Marquardt算法。
答案 2 :(得分:0)
我在搜索了一段时间之后才发现它,并注意到levmar包中包含了一个我需要构建的vc项目文件,它创建了一个名为levmar.lib的文件。 但现在我收到一些错误,其中涉及“无法解析外部符号”等消息。