⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 change.m

📁 该文件主要包括了matlab的一些主要应用例程!对学习matlab很有帮助
💻 M
字号:
function x_r=change(x)
% produce new solution
[m,n]=size(x);
clear m;

%choose i rondom
ki=rand;
ki=ki*n;
kri=round(ki);
ki=ki-kri;
if ki>0
   ki=kri+1;    
else
   ki=kri;
end
%*****************************************************
%choose j rondom
kj=rand;
kj=kj*n;
krj=round(kj);
kj=kj-krj;
if kj>0
   kj=krj+1;    
else
   kj=krj;
end

while kj==ki
      kj=rand;
      kj=kj*n;
      krj=round(kj);
      kj=kj-krj;
      if kj>0
        kj=krj+1;    
      else
        kj=krj;
      end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if x(ki)==0  %put i into the bag
   x(ki)=1-x(ki);
   if x(kj)==1 % if j in bag take it out from the bag
      x(kj)=1-x(kj);
   end
else          % take i from the bag
   x(ki)=1-x(ki);
   if x(kj)==0  % if j is not in the bag put it into the bag
      x(kj)=1-x(kj);
   else
      t=0;
      for k=1:n
          t=x(k)+t;   
      end
      if t<n-1
        while x(kj)==1
          kj=rand;
          kj=kj*n;
          krj=round(kj);
          kj=kj-krj;
          if kj>0
             kj=krj+1;    
          else
           kj=krj;
          end
           
          while kj==ki
             kj=rand;
             kj=kj*n;
             krj=round(kj);
             kj=kj-krj;
             if kj>0
                kj=krj+1;    
             else
               kj=krj;
             end
          end
          
        end
        x(kj)=1;
      end   
   end
end
x_r=x;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -