matlab配置libsvm

Windows10 64bit

libsvm-3.23

matlab 2015a

SDK 7.1

一、基本安装

1.解压libsvm,将文件夹放入 ‘你的matlab安装路径\toolbox\libsvm-3.23\matlab’ 

2.matlab中设置路径,选择 add with subfolders... ,再选择libsvm文件夹

   matlab配置libsvm

matlab配置libsvm

3.将matlab的目录改为libsvm所在的目录

4.在 Command Window 输入 mex -setup,会显示


>>mex –setup

 

MEX 配置为使用 'Microsoft Windows SDK 7.1 (C)' 以进行 C 语言编译。

Warning: The MATLAB C and Fortran API has changed to support MATLAB

     variables with more than 2^32-1 elements. In the near future

     you will be required to update your code to utilize the

     new API. You can find more information about this at:

 

http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

要选择不同的语言,请从以下选项中选择一种命令:

 mex -setup C++ 

 mex -setup FORTRAN

选择 mex -setup C++

5.接着 输入make


>> make

使用 'Microsoft Windows SDK 7.1 (C)' 编译。

MEX 已成功完成。

使用 'Microsoft Windows SDK 7.1 (C)' 编译。

MEX 已成功完成。

使用 'Microsoft Windows SDK 7.1 (C++)' 编译。

找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp

找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp

MEX 已成功完成。

使用 'Microsoft Windows SDK 7.1 (C++)' 编译。

找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp

找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp

MEX 已成功完成。

>>

6.以上步骤都成功后,可以测试一下,包里自带heart_scale数据,依次输入以下命令:

[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');
        model = svmtrain(heart_scale_label,heart_scale_inst, '-c 1 -g 0.07');
        [predict_label, accuracy, dec_values] =svmpredict(heart_scale_label, heart_scale_inst, model); % test the trainingdata

会给出正确率结果。

二、产生的各种问题

问题1:步骤4不成功,会显示 No supported compiler or SDK was found ,使用链接:https://ww2.mathworks.cn/support/sysreq/previous_releases.html

进入链接后,选择自己matlab对应版本的Supported Compilers,打开一个pdf文件,找到对应32位或者64位,下载,按照顺序安装(需要连接网络)。

matlab配置libsvm

问题2:安装SDK提醒如下:

matlab配置libsvm

参考链接https://jingyan.baidu.com/article/27fa7326a8e2ca46f8271f25.html

再继续执行步骤4,5,6