较优H圈matlab实现

Posted 小鸭酱的书签

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了较优H圈matlab实现相关的知识,希望对你有一定的参考价值。

%解决完备图中的较优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图像加密

MATLAB教程案例69基于MATLAB编程实现H无穷控制器与性能分析

用matlab计算两个函数的卷积

竞赛圈MATLAB最短路径问题

matlab中filter和conv函数有啥区别?

对话MathWorks:解读MATLAB技术生态圈与未来趋势