• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            The Fourth Dimension Space

            枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            商人過河問題的Matlab實(shí)現(xiàn)(轉(zhuǎn))

            function foot=chouxiang 

              
            %%%%%%%%%%%%%%%%%%%%%%    程序開始需要知道商人數(shù),仆人數(shù),船的最大容量
            n
            =input('輸入商人數(shù)目:');
            nn
            =input('輸入仆人數(shù)目:');
            nnn
            =input('輸入船的最大容量:');
              
            if nn>n
            n
            =input('輸入商人數(shù)目:');
            nn
            =input('輸入仆人數(shù)目:');
            nnn
            =input('輸入船的最大容量:'); 
              end 
            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    決策生成
               jc
            =1;    % 決策向量存放在矩陣“d”中,jc為插入新元素的行標(biāo)初始為1
             
            for i=0:nnn                     
                  
                  
            for j=0:nnn                      
                    
            if (i+j<=nnn)&(i+j>0)     % 滿足條件  D={(u,v)|1<=u+v<=nnn,u,v=0,1,2} 
                      d(jc,
            1:3)=[i,j 1];   %生成一個(gè)決策向量后立刻將他擴(kuò)充為三維(再末尾加“1”)
                      d(jc
            +1,1:3)=[-i,-j,-1];      %  同時(shí)生成他的負(fù)向量
                         jc
            =jc+2;         %  由于一氣生成兩個(gè)決策向量,jc指標(biāo)需要往下移動兩個(gè)單位
                     end
                  end
                     j
            =0;                                    
                 
            end
             
            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     狀態(tài)數(shù)組生成

              kx
            =1;              % 狀態(tài)數(shù)組存放在矩陣“A”中,生成方法同決策生成
            for  i=n:-1:0
               
                
            for j=nn:-1:0
                   
                   
                    
            if  ((i>=j)&((n-i)>=(nn-j)))|((i==0)|(i==n))  

                       
            %   (i>=j)&((n-i)>=(nn-j)))|((i==0)|(i==n))為可以存在的狀態(tài)的約束條件
                       
                        A(kx,
            1:3)=[i,j,1];                          % 生成狀態(tài)數(shù)組集合D`
                        A(kx
            +1,1:3)=[i,j,0];
                       
                        kx
            =kx+2;
                    end
                end
                 j
            =nn;
            end;
                   
            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  將狀態(tài)數(shù)組生成抽象矩陣     
               

            k
            =(1/2)*size(A,1);                                      
              CX
            =zeros(2*k,2*k);
            a
            =size(d,1);
                       
                
                
              
            for i=1:2*k                               
                    
            for j=1:a
                        
                           c
            =A(i,:)+d(j,:) ;                 
                           x
            =find((A(:,1)==c(1))&(A(:,2)==c(2))&(A(:,3)==c(3))) ;
                           
                           v(i,x)
            =1;          % x為空不會改變v的值
                          
                    end                                             
              end
              
            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dijstra方法
            x
            =1; y=size(A,1);
            m
            =size(v,1);
            T
            =zeros(m,1);    
            T
            =T.^-1;
            lmd
            =T;            
            P
            =T;               
            S
            =zeros(m,1);            
            S(x)
            =1;            
            P(x)
            =0; lmd(x)=0;
            k
            =x;

            while(1)
              a
            =find(S==0);
              aa
            =find(S==1);
                 
            if size(aa,1)==m   
                       
            break;
                 end
               
            for j=1:size(a,1)
                      pp
            =a(j,1); 
                    
            if  v(k,pp)~=0 
                          
            if T(pp)>(P(k)+v(k,pp))
                           T(pp)
            =(P(k)+v(k,pp));
                           lmd(pp)
            =k;
                          end   
                    end
               end       
               mi
            =min(T(a));
               
            if mi==inf          
                     
            break;
               
            else
                     d
            =find(T==mi);
                     d
            =d(1);
                     P(d)
            =mi; 
                     T(d)
            =inf;       
                     k
            =d;
                     S(d)
            =1;   
               end
            end
             


            if lmd(y)==inf
               foot
            ='can not reach';
               
            return;
            end

            foot(
            1)=y;
            g
            =2; h=y;
            while(1)        
                
            if h==x
                  
            break;
                end
                   foot(g)
            =lmd(h);
                   g
            =g+1;
                   h
            =lmd(h);
            end   
              
            foot
            =A(foot,:);
            foot(:,
            3)=[];


            這個(gè)代碼比我上回寫的C++代碼短很多。。。。。。看來還是Matlab強(qiáng)大丫 一定要盡快學(xué)會才行 :-)

            posted on 2009-03-21 01:09 abilitytao 閱讀(3567) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久亚洲熟女cc98cm| 久久青草国产精品一区| 亚洲国产精品无码久久久秋霞2 | 亚洲色欲久久久综合网| 午夜久久久久久禁播电影| 国产一区二区三区久久| 亚洲午夜久久影院| 热re99久久6国产精品免费| 国产午夜精品理论片久久 | 久久午夜福利无码1000合集| 久久精品九九亚洲精品| 亚洲国产成人精品女人久久久 | 国产成人AV综合久久| 99久久国产宗和精品1上映| 久久99精品九九九久久婷婷| 久久久久久国产精品无码超碰| 精品久久久久中文字| 国产精品久久久久久影院| av色综合久久天堂av色综合在| 久久国产福利免费| 国产精品激情综合久久| 99久久99这里只有免费费精品| 久久人人爽人人爽人人片AV不| 激情五月综合综合久久69| 99热成人精品免费久久| 久久久久免费精品国产| 99久久成人国产精品免费| 久久久久久无码Av成人影院| 亚洲色婷婷综合久久| 无码人妻久久久一区二区三区| 97久久婷婷五月综合色d啪蜜芽| 久久久久久免费视频| 久久国产欧美日韩精品| 777午夜精品久久av蜜臀| 亚洲欧美日韩中文久久| 欧美亚洲色综久久精品国产| 久久综合狠狠综合久久| 91久久精品91久久性色| 91超碰碰碰碰久久久久久综合| 国产呻吟久久久久久久92| 人妻丰满?V无码久久不卡|