如何使用MATLAB构建levmar?

时间:2010-11-27 04:51:07

标签: matlab

我使用的是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 

3 个答案:

答案 0 :(得分:1)

您是否使用mex-function网关创建了一个文件?你不能只为Matlab编译一个c函数;你需要做一些工作来处理Matlab和c代码之间的I / O.

如果您按照this document中列出的步骤操作,则应该可以。

答案 1 :(得分:1)

您可以查看immoptibox,其中包含Levenberg-Marquardt算法。

答案 2 :(得分:0)

我在搜索了一段时间之后才发现它,并注意到levmar包中包含了一个我需要构建的vc项目文件,它创建了一个名为levmar.lib的文件。 但现在我收到一些错误,其中涉及“无法解析外部符号”等消息。