Matlab下,libsvm报错:svmtrain已删除

在使用libsvm3.3版本和Matlab R2019b时,遇到svmtrain被删除的问题,实际上是因为libsvm的svmtrain与Matlab内建函数冲突。解决方法包括修改libsvm的make.m文件,将svmtrain替换为libsvmtrain,svmpredict替换为libsvmpredict,同时重命名对应的.c文件,并在Matlab中执行mex -setup和make命令,完成编译,消除错误提示。
摘要由CSDN通过智能技术生成

版本:libsvm3.3

Matlab:R2019b

安装libsvm后运行代码svmtrain函数时候提示svmtrain已被删除, 请改用fitcsvm解,提示和matlab以前版本函数冲突导致,不处理该提示也可正常运行。

libsvm中的svmtrain可能与matlab自带的svmtrain 冲突了。

解决方案:

1.打开libsvm下matlab文件夹,找到make.m文件。

% This make.m is for MATLAB and OCTAVE under Windows, Mac, and Unix
function make()
try
	% This part is for OCTAVE
	if (exist ('OCTAVE_VERSION', 'builtin'))
		mex libsvmread.c
		mex libsvmwrite.c
		mex -I.. svmtrain.c ../svm.cpp svm_model_matlab.c
		mex -I.. svmpredict.c ../svm.cpp svm_model_matlab.c
	% This part is for MATLAB
	% Add -largeArrayDims on 64-bit machines of MATLAB
	else
		mex -largeArrayDims libsvmread.c
		mex -largeArrayDims libsvmwrite.c
		mex -I.. -largeArrayDims svmtrain.c ../svm.cpp svm_model_matlab.c
		mex -I.. -largeArrayDims svmpredict.c ../svm.cpp svm_model_matlab.c
	end
catch err
	fprintf('Error: %s failed (line %d)\n', err.stac
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值