Libsvm常用工具箱为C++编写,因此Matlab调用时需要调用C++编译器。
之前使用MatlabR2015b配置Libsvm工具箱,一直提示mex命令没有编译器,且下载MinGW-w64后还是编译失败,查了很多资料后配置成功。
1. 采用MatlabR2018b+VS2019配置
安装MatlabR2018b和VS2019过程不再强调,由于版本问题,MatlabR2018无法找到VS2019,采用修改配置文件的方式让其能够支持VS2019(MatlabR2015b采用这个方法我还是失败)
具体过程参考博客:https://blog.csdn.net/u013238941/article/details/106490969
2. 测试
①在Matlab命令窗内输入
mex -setup
随后选择VS2019编译器和mex -setup C++
②在libsvm工具箱所在的目录下输入(将工具箱加入编译路径)
make
没有报错则工具箱安装成功
③调用工具箱(在工具箱所在目录下)
load heart_scale;
model=svmtrain(heart_scale_label,heart_scale_inst);
[predict_label,accuracy]=svmpredict(heart_scale_label,heart_scale_inst,model);
最终得到Accuracy=86.6667%则说明安装成功
在我的资源里可以找到相应的工具箱和安装包【https://download.csdn.net/download/qq_31586935/19752313】