Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。

原因

运行一个脚本,运行的时候总是出现==svmtrain已被删除。 请改用fitcsvm。==后来发现,原来是因为次脚需要用到svmtrain函数,但是此时我的Matlab 2018里面没有这个libsvm包,所以总会出现那个错误。

解决办法

第一步

下载libsvm: 链接.
下载zip or tar 文件

第二步

下载之后就解压得到libsvm文件,并将这个文件拷贝到Matlab 2018的toolbox文件里:

// 文件路径,下面的是我的matlab文件的安装路径,你只需找到如下的toolbox文件,然后拷贝到这个文件里面
L:\Program Files\MATLAB\R2019b\toolbox

第三步

1 点击设置路径:
在这里插入图片描述
2 点击添加并包含子文件夹:
Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第1张图片
3 :选择libsvm-3.24文件下的matlab文件夹
Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第2张图片
Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第3张图片
Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第4张图片
4 点击保存

第四步

打开上面的libsvm文件下的matlab文件夹执行

// mex -setup
mex -setup

报错

此时会出现错误情况:
Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第5张图片

解决

则需要下载编译器,并安装,安装路径不能有中文

1.下载TDM-GCC: 链接.
Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第6张图片
Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第7张图片
2. 安装之后需要设置系统变量,MW_MINGW64_LOC ,值为安装路径“L:\Coding\TDM-GCC-64”。在这之后打开matlab执行以下代码:

// 命令行执行
setenv('MW_MINGW64_LOC','L:\Coding\TDM-GCC-64'),

Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第8张图片
3. 然后执行make。

// 命令行执行
make
  1. 此时又会出现错误,如下,是版本的问题。
    Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第9张图片
    参考 : MATLAB安装配置libsvm(附MinGW64配置).
    修改make.m 文件。打开libsvm3.2.2/matlab目录下的make.m,将其中所的CFLAGS替换为COMPFLAGS(替换运用CTRL+F即可),替换后执行make则可以编译成功。
    Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。_第10张图片
    然后运行就可以了。

你可能感兴趣的:(matlab)