较优H圈matlab实现
大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang
%解决完备图中的较优H圈
clc
clear
w = [ inf 6 1 8 3 1 ;... %权赋矩阵
6 inf 1 1 6 9 ;...
1 1 inf 3 6 7 ;...
8 1 3 inf 1 2 ;...
3 6 6 1 inf 1 ;...
1 9 7 2 1 inf ] ;
v = [ 11 12 13 14 15 16 ;... %两点之间的路径,如25表示从点2到点5
21 22 23 24 25 26 ;...
31 32 33 34 35 36 ;...
41 42 43 44 45 46 ;...
51 52 53 54 55 56 ;...
61 62 63 64 65 66 ] ;
p = [ 12 23 34 45 56 61 ] %保存某个H圈的每两点间的路径,H圈便是由这些小的路径构成的
W = zeros(1,6) ;
S=0;
for h = 1 : 6
d= rem(p(h),10) ;
c= (p(h) - d)/10 ;
W(h) = w(c,d) ;
S= S + W(h) ;
end
S
for i=1:1000
x = randperm(6) ;
m = x(1) ;
n = x(2) ;
j = rem(p(m),10) ;
i = (p(m) - j)/10 ;
z = rem(p(n),10) ;
y = (p(n) - z)/10 ;
if ( w(i,j) + w(y,z) > w(i,y) + w(j,z) )
s = 0;
for b = 1 : 6
if ( p(b) == v(i,y) | p(b) == v(j,z) | p(b) == v(y,i)| p(b) == v(z,j) )
s = 1 ;
break ;
end
end
if s
i = i + 1 ;
break ;
end
p(m) = v(i,y) ;
p(n) = v(j,z) ;
end
end
W = zeros(1,6) ;
S=0;
for h = 1 : 6
d= rem(p(h),10) ;
c= (p(h) - d)/10 ;
W(h) = w(c,d) ;
S= S + W(h) ;
end
p
S
较优H圈matlab实现的更多相关文章
- Matlab 高斯_拉普拉斯滤波器处理医学图像
前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...
- python、matlab、c++的括号增加次序,以及图片存储方式
1 增加次序: python:(同c++多维数组) np.zeros([2,3,4]),先是按照内存空间均分为2份,每份又均分3份,最终再细分4份 2最大份,先按左分 例子:re ...
- Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(四)
利用Matlab与VC++联合编程,既可在C语言程序中打开Matlab引擎,调用Matlab的ToolBox函数和作图函数,也可在Matlab中调用C代码生成的动态链接库文件,用以加快执行速度.缩短开 ...
- python 和 matlab的caffe读数据细节
(1).prototxt中的输入表示一样,如 dim: 10 dim: 3 dim: 227 dim: 227 (2)代码喂入数据不一样: python: input_blob = np.ze ...
- 【MATLAB】matlabR2010a与vs2010联合编译设置
在matlab中编译C++程序,首先要配置编译器>> mex -setupPlease choose your compiler for building external interfa ...
- MATLAB画图符号标注
线型 说明 标记符 说明 颜色 说明 - 实线(默认) + 加号符 r 红色 -- 双划线 o 空心圆 g 绿色 : 虚线 * 星号 b 蓝色 :. 点划线 . 实心圆 c 青绿色 x 叉号符 m 洋 ...
- matlab和c++混合编程---matlab和vs的环境配置问题及方法和步骤(转载)
matlab和c++混合编程---方法和步骤 matlab和c++混合编程---matlab和vs的环境配置问题 摘要:Matlab具有很强的数值计算和分析等能力,而C/C++是目前最为流行的高级程序 ...
- matlab + c/c++ opencv 混合编程
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 辛苦原创所得,转载请注明出处 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- C++调用Matlab函数求特征值
最近需要用到C++和Matlab的混编,记录一下学习过程~ 要实现的是调用Matlab函数,求矩阵前k个最小的特征值及其特征向量. //C++ #include "engine.h" ...
随机推荐
- 体验Lua
想用之和NGINX结合,终结公司混乱的NGINX配置 玩起来先,感觉很精简,很实用哟. print("hello world") a={,} b=a print(a==b,a~=b ...
- QT中异形窗口的绘制(winEvent处理WM_NCHITTEST消息)
这里讨论的只是Windows平台上的实现. 在QT中绘制异形窗口,只要设定 windowFlag 为 CustomizeWindowHint,再结合setMask()就可以做出各种奇形怪状的窗口.相对 ...
- my dup2
#include <fcntl.h>#include <stdio.h>#include <unistd.h> int mydup(int i_OldFd, int ...
- C++与lua交互
项目开发的脚本层用的是Lua,引擎用的是C++.但是经理不给开放引擎层的代码.刚好最近项目空闲,安排了学习C++跟Lua的通信. 一.C++与Lua数据交互 数据交互主要是通过C API来实现 首先, ...
- Mac phpstorm破解版安装(简单,有效)
如果是公司作为商业用途的,还是希望你能购买正版的,如果是苦逼的穷学生,亦或是我这样的苦逼码农,那就往下看, 之前有个只需要在"License server address"里输入 ...
- Python操作Redis的5种数据类型
1.连接redis(两种方式) # decode_responses=True: 解决获取的值类型是bytes字节问题 r = redis.Redis(host=', db=0, decode_res ...
- C++ lambda 表达式传递的变量默认不可变
我遇到例如以下问题: int count=0; listener->onTouchMoved=[count](Touch* t,Event* e){ count++; log("onT ...
- 【BUG】Kewastunpackstats(): Bad Magic 1 (0x。。。。, 0)
Kewastunpackstats(): Bad Magic 1 (0x1108f7b87, 0) In Alert Logfile After Upgrading to 11.2.0.1 Appli ...
- CCArray(转)
http://blog.csdn.net/passtome/article/details/7966451 CCArray也是cocos2d-x自己写的类.它相当于是objc的NSArray.在coc ...
- Android--Service之绑定服务交互
前言 开篇名义,这篇博客介绍一下Android下使用绑定服务进行时数据交互的几种方法.关于Android下Service的内容,前面两篇博客已经介绍了,不清楚的可以移步过去先看看:Android--S ...