在matlab中执行dos环境中命令,并其读取结果画图

clear
% http://www.peteryu.ca/tutorials/matlab/visualize_decision_boundaries % load RankData
% NumTrain =200; load RankData2 % X = [X, -ones(size(X,1),1)]; lambda = 20;
rho = 2;
c1 =10;
c2 =10;
epsilon = 0.2;
result=[];
ker = 'linear';
ker = 'rbf';
sigma = 1/200; method=4
contour_level1 = [-epsilon,0, epsilon];
contour_level2 = [-epsilon,0, epsilon];
xrange = [-5 5];
yrange = [-5 5];
% step size for how finely you want to visualize the decision boundary.
inc = 0.1;
% generate grid coordinates. this will be the basis of the decision
% boundary visualization.
[x1, x2] = meshgrid(xrange(1):inc:xrange(2), yrange(1):inc:yrange(2));
% size of the (x, y) image, which will also be the size of the
% decision boundary image that is used as the plot background.
image_size = size(x1) xy = [x1(:) x2(:)]; % make (x,y) pairs as a bunch of row vectors.
%xy = [reshape(x, image_size(1)*image_size(2),1) reshape(y, image_size(1)*image_size(2),1)] % loop through each class and calculate distance measure for each (x,y)
% from the class prototype. % calculate the city block distance between every (x,y) pair and
% the sample mean of the class.
% the sum is over the columns to produce a distance for each (x,y)
% pair. switch method
case 1
par = NonLinearDualSVORIM(X, y, c1, c2, epsilon, rho, ker, sigma);
f = TestPrecisionNonLinear(par,X, y,X, y, ker,epsilon,sigma);
% set up the domain over which you want to visualize the decision
% boundary
d = [];
for k=1:max(y)
d(:,k) = decisionfun(xy, par, X,y,k,epsilon, ker,sigma)';
end
[~,idx] = min(abs(d)/par.normw{k},[],2);
case 2
par = NonLinearDualBoundSVORIM(X, y, c1, c2, epsilon, rho, ker, sigma);
f = TestPrecisionNonLinear(par,X, y,X, y, ker,epsilon,sigma);
% set up the domain over which you want to visualize the decision
% boundary
d = [];
for k=1:max(y)
d(:,k) = decisionfun(xy, par, X,y,k,epsilon, ker,sigma)';
end
[~,idx] = min(abs(d)/par.normw{k},[],2);
contour_level=contour_level1;
case 3
% par = NewSVORIM(X, y, c1, c2, epsilon, rho);
par = LinearDualSVORIM(X,y, c1, c2, epsilon, rho); % ADMM for linear dual model
d = [];
for k=1:max(y)
w= par.w(:,k)';
d(:,k) = w*xy'-par.b(k);
end
[~,idx] = min(abs(d)/norm(par.w),[],2);
contour_level=contour_level1;
case 4
path='C:\Users\hd\Desktop\svorim\svorim\';
name='RankData2';
k=0;
fname1 = strcat(path, name,'_train.', num2str(k));
fname2 = strcat(path, name,'_targets.', num2str(k));
fname2 = strcat(path, name,'_test.', num2str(k));
Data=[X y];
save(fname1,'Data','-ascii');
save(fname2,'y','-ascii');
save(fname2,'X','-ascii');
command= strcat(path,'svorim -F 1 -Z 0 -Co 10 -p 0 -Ko 1 C:\Users\hd\Desktop\svorim\svorim\', name, '_train.', num2str(k));
% command= 'C:\Users\hd\Desktop\svorim\svorim\svorim -F 1 -Z 0 -Co 10 C:\Users\hd\Desktop\svorim\svorim\RankData2_train.0';
% command='C:\Users\hd\Desktop\svorim\svorim\svorim -F 1 -Z 0 -Co 10 G:\datasets-orreview\discretized-regression\5bins\X4058\matlab\mytask_train.0'
dos(command);
fname2 = strcat(fname1, '.svm.alpha');
alpha_bais = textread(fname2);
r=length(unique(y));
model.alpha=alpha_bais(1:end-r+1);
model.b=alpha_bais(end-r+2:end);
for k=1:r-1
d(:,k)=model.alpha'*Kernel(ker,X',xy',sigma)- model.b(k);
end
pretarget=[];idx=[];
for i=1:size(X,1)
idx(i) = min([find(d(i,:)<0,1,'first'),length(model.b)+1]);
end
contour_level=contour_level2;
end % % reshape the idx (which contains the class label) into an image.
% decisionmap = reshape(idx, image_size);
%
% figure(7); % %show the image
% imagesc(xrange,yrange,decisionmap);
% hold on;
% set(gca,'ydir','normal');
%
% % colormap for the classes:
% % class 1 = light red, 2 = light green, 3 = light blue
% cmap = [1 0.8 0.8; 0.95 1 0.95; 0.9 0.9 1];
% colormap(cmap);
%
% imagesc(xrange,yrange,decisionmap); % plot the class training data. color = {'r.','go','b*','r.','go','b*'}; for i=1:max(y)
plot(X(y==i,1),X(y==i,2), color{i});
hold on
end
% include legend
% legend('Class 1', 'Class 2', 'Class 3','Location','NorthOutside', ...
% 'Orientation', 'horizontal');
legend('Class 1', 'Class 2', 'Class 3');
set(gca,'ydir','normal');
hold on
for k = 1:max(y)-1
decisionmapk = reshape(d(:,k), image_size);
contour(x1,x2, decisionmapk, [contour_level(1) contour_level(1) ], color{k},'Fill','off');
contour(x1,x2, decisionmapk, [contour_level(2) contour_level(2) ], color{k},'Fill','off','LineWidth',2);
contour(x1,x2, decisionmapk, [contour_level(3) contour_level(3) ], color{k},'Fill','off');
% if k<max(y)
% contour(x1,x2, decisionmap, [k+1 k+1], color{k},'Fill','off');
% end
end hold off
%
% label the axes.
xlabel('x1');
ylabel('x2');
这里执行的是chu wei的支持向量顺序回归机模型SVORIM
在matlab中执行dos环境中命令,并其读取结果画图的更多相关文章
- appium自动化测试框架——在python脚本中执行dos命令
一般我们运行dos命令,会有两种需求,一种是需要收集执行结果,如ip.device等:一种是不需要收集结果,如杀死或开启某个服务. 对应的在python中就要封装两种方法,来分别实现这两种需求. 1. ...
- C#中执行Dos命令
//dosCommand Dos命令语句 public string Execute(string dosCommand) { ); } /// <summary> /// 执行DOS命令 ...
- 【Windows】Windows中解析DOS的for命令使用
目录结构: contents structure [+] 简介 for /d ... in ... 案例 案例:打印C://根目录下所有的文件夹名称 案例:打印当前路径下,只有1-3个字母的文件夹名 ...
- pycharm中在andconda环境中配置pyqt环境
一般在andconda环境中,自带pyqt5 在pip install pyqt5之后,需要安装pyqt5_tools. 对于pycharm需要配置pyqt Designer和pyqt UIC. De ...
- 在airflow的BashOperator中执行docker容器中的脚本容易忽略的问题
dag模板 from airflow import DAG from airflow.operators.bash_operator import BashOperator from airflow. ...
- 在c++程序中执行DOS命令
转自博客:http://blog.csdn.net/ypist/article/details/8485049 #1,system()方式 在C盘根目录下新建文件夹,名称为12: system(&qu ...
- 【Windows】Windows中解析DOS的DIR命令使用
总结一下cmd中的dir命令的用法 64位win10系统上,打印帮助文档. D:\test>dir /? 显示目录中的文件和子目录列表. DIR [drive:][path][filename] ...
- linux中执行java或者mvn命令提示没有权限解决办法
$ chmod a+x /var/jenkins_home/jdk1.8.0_191/bin/java $ chmod a+x /var/jenkins_home/apache-maven-3.3.9 ...
- 在vim中执行外部命令
11.7.5 在Vim编辑器中执行Shell命令 有时需要在Vim编辑器中执行Shell命令,例如需要验证一个Shell命令是否正确,以便写入脚本中:需要在文件中引用某个Shell命令的输入等.本小 ...
随机推荐
- SqlServer 存储过程分页
适用于2005以上版本 create procedure [dbo].[SP_GetPageList] ( @columns nvarchar(max), --查询字段 @tablename nvar ...
- CUBRID学习笔记 30 复制表结构 cubrid教程
语法 CREATE {TABLE | CLASS} <new_table_name> LIKE <old_table_name> 如下 CREATE TABLE a_tbl( ...
- 寻找Linux单机负载瓶颈
寻找Linux单机负载瓶颈 服务器性能上不去,是哪里出了问题?IO还是CPU?只有找到瓶颈点,才能对症下药: 如何寻找Linux单机负载瓶颈,遵循的原则是不要推测,我们要通过测量的数据说话: 负载分两 ...
- Object-c : block需要注意的几点问题
摘自:http://www.cnblogs.com/ltpblog/p/3684127.html Date : 2015-12-4 1. Block定义 1) 说明: a. Block是OC中的一种数 ...
- ubuntu14.04配置静态IP地址
1. 找到文件并作如下修改:vim /etc/network/interfaces修改如下部分:# interfaces(5) file used by ifup(8) and ifdown(8)au ...
- Maven中<dependencies>节点和<dependencyManagement>节点的区别 转
以前一直没有在意,今天建立maven工程的时候在<dependencyManagement>节点下加入了junit依赖,结果在dependency Graph中没有发现junit的依赖关系 ...
- NYOJ214
单调递增子序列(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长 ...
- 个人作业Week 2 ----------代码的规范和代码复审
1.是否需要有代码规范 从个人理解的角度出发,我认为代码规范还可以细分为代码的风格还有代码的结构设计(就好比排版一类的) 以前在上C语言课程的时候就看到过,老师会在打“{”的时候进行一个换行,但是有些 ...
- 2013/7/17 HNU_训练赛5
sgu 542 Gena vs Petya sgu 543 Cafe 题意:有N组人需要被分配到某些固定了人数的桌子上,其中ai表示第i组有多少个人,安排作为需要符合如下安排:某一组的人员不能够单独在 ...
- [转载] 分析Linux内核创建一个新进程的过程
http://blog.luoyuanhang.com/2015/07/27/%E5%88%86%E6%9E%90Linux%E5%86%85%E6%A0%B8%E5%88%9B%E5%BB%BA%E ...