Mac上的Matlab编译添加Libsvm库
来源:互联网 发布:matlab 矩阵 编辑:程序博客网 时间:2024/06/05 06:44
环境:Matlab R2016a & MacOX 10.12 & Xcode8 LIbsvm 3.22
本篇文章主要记录了如何在以上环境下编译使用libsvm,毕竟要在Mac上使用这个库,有些工作还是需要做的。
- 首先是需要给Mac上安装的Matlab打个补丁optsPatch10.8.patch,默认下载到Download文件
- 打开Matlab,命令行输入>>cd(matlabroot)切换到Matlab根目录
- 命令行接着输入>>!unzip -o ~/Downloads/optsPatch10.8.patch,将Download文件夹下的补丁解压缩到这个目录中
- 通常在这里可以在命令行输入>>mex -setup进行Matlab编译环境的设置了,但是很不幸,在以上这个环境下,会遇到:
Error using mex
No supported compiler or SDK was found. For options, visit http://www.mathworks.com/support/compilers/R2016a/maci64.html.
这个问题。编译所需要的SDK没有找到,因为我的电脑中已经装有Xcode8(注意,Xcode8里要装有Command line tool),也就是说我电脑中是具有编译的环境的,只是Matlab没有找到,所以接下来就是如何在Matlab里添加我们已有MacOX SDK的路径了 - 进入/Applications/MATLAB_R2015b.app/bin/maci64/mexopts文件夹,编辑clang++_maci64.xml和clang_maci64.xml,在这两个文件中,找到含有MacOSX10.10.sdkor MacOSX10.11.sdk字样的行,对应的两个标签分别是 dirExists 和 cmdReturns,分别在这两个文件中下面复制对应的一样的行,将其中的MacOX 10.10 或 MacOX 10.11改为MacOX 10.12(打开应用程序,Xcode显示包内容,进入Contents/Developer/Platforms/MacOXplatform/Developer/SDKs 文件夹确认自己的SDK版本,我的是10.12),保存退出。这里是mathwork的官方论坛原帖解决方案。
- 在Matlab命令行中输入>>mex -setup设置好编译环境,到这里编译环境的设置就完成了。
- 下载libsvm并解压到Matlab中的toolbox文件夹中
- 在Matlab中切换当前工作目录到toolbox文件夹中的Matlab文件夹,在命令行输入>>make,之后文件夹中就会出现4个.mexmaci64后缀的文件,到这里导入libsvm库的工作就算完成了。
- 测试:
- 切换当前工作目录回libsvm下面,在Matlab命令行中输入>>[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); - 出现分类的精度Accuracy = 86.6667% (234/270) (classification),就说明大功告成了~Enjoy yourself~
0 0
- Mac上的Matlab编译添加Libsvm库
- Mac上Matlab库libsvm安装指南
- 数据挖掘-全面的MAC上matlab安装libsvm
- matlab 添加和检测libsvm库文件的方法
- LibLinear & LibSVM in MATLAB 编译安装 For Mac
- libsvm在MATLAB下的编译问题
- Mac上(Xcode7)使用Matlab调用libsvm库函数
- matlab添加libsvm
- 【libsvm】在matlab上的安装说明
- MAC 上安装LibSVM的python接口
- matlab上使用libsvm
- Mac OS环境下的libsvm在Matlab中安装
- MATLAB编译libsvm出现问题
- Matlab上使用LIBSVM 3.22
- Libsvm工具箱在matlab中使用的编译过程
- libsvm在matlab和Python上的探索
- windows平台上2014a以上的Matlab安装libsvm
- MAC上libsvm的使用详解[折腾好久]
- 一个样式转换的小功能 代码奉上
- wordpress音乐播放器插件–PoiPlayer
- Mysql笔记 (挖坑待填)
- AndroidStudio给Unity打jar包
- android fragment的回退栈
- Mac上的Matlab编译添加Libsvm库
- Chisel手册之Nodes
- 随记
- 编写函数fun(char *s),其功能是:把字符串中所有字符前移一个位置,串中的第1个字符移到最后。 例如,若输入字符串为:ABC123xyz ,则应输出字符串: BC123xyzA 。
- Java中单例设计模式
- ACdream 1000 A + B Problem
- NS 2.35 加入MAODV协议
- zoj-1203-Prim-C++
- Login