• MATLAB知识-解决因缺少libsvm 而运行出现Y must be a vector or a character array.


    matlab版本R2014b

    最近运行一个使用svmtrain的程序,出现以下错误:

     这是因为是在设定路径里面没有libsvm。辛亏有一位师姐的电脑里面有libsvm的包,我直接用了,这样就不需要下载了。

    图示:

    打开后文件夹后里面包含:

     那么问题是:我们在MATLAB中怎么把这个包添加到路径中呢:

    解决办法(已有libsvm工具包,英文版MATLAB):

    1.点击Matlab左上角的file,选择set path
    2.在弹出的选项框中,选择第二个选项And with Subfolders
    3.找到你的libsvm文件夹,点确定
    4.点击save,关闭set path

    (中文版MATLAB)

    1.点击Matlab左上角的主页,选择设置路径


    2.在弹出的选项框中,选择第二个选项:添加并包含子文件夹

    3.找到你放的libsvm文件夹(放在哪里无所谓),点确定

    4.点击保存,再点击关闭该窗口

     这样就解决了。

    解决办法2(没有libsvm工具):这是参考别的博客的,看着挺麻烦的,大家最好有一个县城的libsvm包。直接设置路径就好了。
    1、下载libsvm包,链接为:https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/

    2、使用解决办法1中的步骤设置路径

    3、编译
    3.1、在matlab命令行中输入mex -setup -v 查看一下电脑中有什么编译器。
    3.2、若是能找到c++编译器,可直接尝试在命令行窗口输入make,执行make.m程序进行编译,完成后出现4个后缀为.mexw64文件,即为安装成功。若出现报错,见步骤4。
    3.3、若没能找到C++编译器,见步骤5。

    4、3.2编译报错解决方法
    4.1、Win10系统下使用libsvm,需要将make.m文件下的CFLAGS 替换成COMPFLAGS****。
    4.2、在操作了4.1后仍然报错,错误提示为svm相关文件在对应路径找不到,把libsvm包里面的相应文件copy到对应位置即可。

    5、3.3中的问题解决方法为:
    5.1、下载tdm-gcc,网址为:http://tdm-gcc.tdragon.net/download。注意,下载对应自己电脑位数的装载程序,否则可能在安装的时候会报错。
    5.2、装载tdm-gcc,在系统环境变量中添加该程序的安装路径
    5.3、在matlab命令行中输入:setenv(‘MW_MINGW64_LOC’,folder),folder为TDM-GCC的安装位置,要加单引号。此时mex可以正常使用,不然重启matlab即可。
    5.4、按照操作3.2步操作即可
    第5步操作若还有疑问,可参看网站

  • 相关阅读:
    美丽的前端控件
    LeetCode:Rotate List
    VC++ 改动VMware BIOS、uuid_location、ethernet0_address等
    我们错过了那么多机会,怎么办
    怎样在centos安装python-mysql?
    eMMC ext4综述【转】
    闪存中的NorFlash、NandFlash及eMMC三者的区别【转】
    UFS和EMMC的区别--原理学习【转】
    EMMC 介绍【转】
    emmc和ssd的区别【转】
  • 原文地址:https://www.cnblogs.com/MINGYOUR/p/11983577.html
Copyright © 2020-2023  润新知