Ncut matlab 代码bug 修复(适用于R2014a)
来源:互联网 发布:淘宝曼妮芬内衣怎么样 编辑:程序博客网 时间:2024/06/07 00:41
1 源代码下载地址:
http://www.cis.upenn.edu/~jshi/software/
我的网盘中下载: http://pan.baidu.com/s/1i5no3fJ
2 运行方法
a) 当前路径指到下载的源文件
b) 在命令行中输入 mex -setup
根据指引选择。我用的是VS10 对就选择的是Microsoft Visual C++ 2010。(注:对于其他VS版本不保证能运行通过,因为没有亲测。)
c) 在命令行中输入 compileDir_simple
ReadMe.txt 里面也有涉及.
d) 试运行demo
3 试运行示例程序
3.1 按照教程做
地址:http://www.cis.upenn.edu/~jshi/software/demo1.html
按照教程在运行 [NcutDiscrete,NcutEigenvectors,NcutEigenvalues] = ncutW(W,nbCluster); 时后会报错.其定位应当是eig_new.m 的240行处.(如果不是,你有三种选择: 1 放弃, 2 重做前面的步骤, 3 下面的内容自己调试.)大致会是"arpackc(" 的参数有问题.将其修改为如下的形式就可以了.
[ido,info] = arpackc( aupdfun, ido, ...
bmat, intconvert(n), whch, nev, tol, resid, ncv, ...
v, ldv, iparam, ipntr, workd, workl, lworkl, info );
其他的错误也同样是这个问题.
但是到了319行,这样处理就行不通了, 需要修改成
if issymA
% [ido, info] = arpackc( eupdfun, rvec, 'A', select, ...
% d, v, ldv, sigma, ...
% bmat, intconvert(n), whch, nev, tol, resid, ncv, ...
% v, ldv, iparam, ipntr, workd, workl, lworkl, info );
% if strcmp(whch,'LM') || strcmp(whch,'LA')
% d = flipud(d);
% if (rvec == 1)
% v(:,1:k) = v(:,k:-1:1);
% end
% end
% if ((strcmp(whch,'SM') || strcmp(whch,'SA')) && (rvec == 0))
% d = flipud(d);
% end
else
% If sigma is complex, isrealprob=true and we use [c,z]neupd.
% So use sigmar=sigma and sigmai=0 here in dneupd.
没错,就是注释掉了这一部分. 这必然后引发别的问题,但是我在测试的时候发现他对我的程序几乎没有影响,运行demo1及demo2时效果与示例效果相同.
所以,暂时认为可以这样修改。如果您发现了这样修改带来的了什么样的坏的效果还请不吝赐教。
对于示例程序我只做了这些工作。我所有的处理均保存在了网盘的文件里。
3.2 使用网盘中的代码
如果下载的是网盘中的源码,可以直接运行demo_NcutClustering.m(demo1)或者demo_NcutImage.m(demo2).(注:b,c两步不可少)
4 示例的截图
4.1 Demo1 截图
demo1
4.2 Demo2 截图
demo2
5 参考文章
http://www.lxway.com/589116164.htm
http://www.cis.upenn.edu/~jshi/software/demo1.html
0 0
- Ncut matlab 代码bug 修复(适用于R2014a)
- Matlab R2014a 安装教程
- matlab R2014a添加路径
- Matlab R2014a @newff函数
- MATLAB r2014a 下载+安装+激活
- MATLAB R2014a Builder JA总结
- Matlab r2014a调用C程序
- Ubuntu1404下安装MATLAB R2014A
- vs2012和Matlab R2014a混合
- MATLAB R2014a Builder JA总结
- MATLAB R2014a 装 limsvm-3.17
- Matlab R2014a由.m文件产生C代码,在VS2010中运行
- Matlab R2014a 由.m文件产生C代码,并在VS2010中测试
- ncut
- Matlab R2014a libsvm-3.18的安装 总结
- 在 Linux 下安装 Matlab R2014a
- CentOS 6.6安装Matlab R2014a UNIX版
- MATLAB R2014a如何换回纯英文界面?
- Spring bean 生命周期
- ZOJ - 3875-Lunch Time
- Android 两个fragment之间数据传递
- leetcode题解日练--2016.6.22
- CMD常用命令
- Ncut matlab 代码bug 修复(适用于R2014a)
- Android网络请求代码封装
- 优秀程序员的博客有哪些?(转)
- Android Messenger 跨进程通信
- [c++]封装高精度运算
- BlockCanary — 轻松找出Android App界面卡顿元凶
- 离职前感悟
- TCP和UDP Socket
- 返回第N大的数--Mysql(学习)