matlab程序计算速度太慢,特别是面对大量循环的时候。经测试,11k个面的规模的mesh,用matlab求mass properties需要0.45s,而同样的程序用C实现,在release模式下仅需要2ms。因此如果能将复杂计算、循环用C包装起来,用matlab调用,可以极大地提高运算速度。
matlab配置C编译器
打开matlab,输入:
mex –setup
可以查看编译器配置情况,第一次使用需要配置编译器:
1)提示Would you like mexto locate installed compilers [y]/n?选n
2)提示Compiler:选8 (注:MicrosoftVisual C++ 2008 SP1)
3)提示Use C:\ProgramFiles\Microsoft Visual Studio 9.0 anyway [y]/n?选n
4)提示Please enter thelocation of your compiler: [C:\Program Files\Microsoft Visual Studio 9.0]选D:\ProgramFiles\Microsoft Visual Studio 9.0
5)确认,安装编译器成功
以上参考[1],可能不同版本有偏差,按照提示配置就好。配置好了后会提示:
MEX configured to use 'Microsoft Visual C++2012 (C)' for C lang

本文介绍了如何使用MATLAB与C混合编程,通过编写mex文件提升计算效率。首先,详细讲解了如何在MATLAB中配置C编译器,接着阐述了mex源文件的编写,特别指出数组处理的注意事项。然后,讨论了如何在Visual Studio中进行调试,并添加必要的库和依赖。最后,展示了在MATLAB中编译和调用mex文件的过程。
最低0.47元/天 解锁文章
72

被折叠的 条评论
为什么被折叠?



