First of All,此方案使用的是MATLAB动态链接库,然后在C++函数中直接调用。
优点明显,m语言在数据拟合方面很简单方便。缺点就是跨语言调用是大忌,慎用
setp 1 : Matlab拟合三角函数的方法(所有函数都可用此法)
fitcurve工具箱 -> 自定义函数 -> 自定义生成拟合代码 -> 封装成函数,定义返回值
step 2:VS & Matlab 联合编译环境构建:
具体参考:https://blog.csdn.net/t94127/article/details/77131586
链接挂掉的话,点此下载PDF[提取码:b71n]
我的环境是32位2014a版本MATLAB,2012VS,64位win7,以下是自己遇到的一些问题和感悟:
Q1:Test checkout of feature ‘Compiler’ failed
原因:MATLAB破解不够完全,下载完全版MATLAB破解包,链接在此[提取码:vvgp]
Q2:要注意添加必要的系统环境:计算机->属性->高级系统设置->环境变量->系统变量->Path
Q3:在构建VS编译环境时候,要注意自己MATLAB的版本,32位应该选择WIN32,64位选择WIN64
Q4:调用函数式务必注意语法以及对应函数的初始化,初始化在调用函数之前
if (!libAddInitialize())
{
MessageBox(_T("Could not initialize libMyAdd!"));
}