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

📄 exchange_2.m

📁 该文件主要包括了matlab的一些主要应用例程!对学习matlab很有帮助
💻 M
字号:
function [d_f, pi_r]=exchange_2(pi0,d)
[m,n]=size(d);
clear m;
u=rand;

u=u*(n-2);
u=round(u);

if u<2
   u=2;   
end
if u>n-2
   u=n-2;   
end

v=rand;
v=v*(n-u+1);
v=round(v);
if v<1
   v=1;
end

v=u+v;

if v>n
   v=n;   
end
pi_1(u)=pi0(v);
pi_1(v)=pi0(u);
if u>1
  for k=1:(u-1)
    pi_1(k)=pi0(k);
  end
end


if v>(u+1)
   for k=1:(v-u-1)
      pi_1(u+k)=pi0(v-k);
   end
end
if v<n
   for k=(v+1):n
       pi_1(k)=pi0(k);   
   end
end
d_f=0;
if v<n
   d_f=d(pi0(u-1),pi0(v))+d(pi0(u),pi0(v+1));
   for k=(u+1):n
       d_f=d_f+d(pi0(k),pi0(k-1));   
   end
   d_f=d_f-d(pi0(u-1),pi0(u))-d(pi0(v),pi0(v+1));
   for k=(u+1):n
       d_f=d_f-d(pi0(k-1),pi0(k));   
   end
else
   d_f=d(pi0(u-1),pi0(v))+d(pi0(u),pi0(1))-d(pi0(u-1),pi0(u))-d(pi0(v),pi0(1));
   for k=(u+1):n
       d_f=d_f+d(pi0(k),pi0(k-1));   
   end
   for k=(u+1):n
       d_f=d_f-d(pi0(k-1),pi0(k));   
   end
end

pi_r=pi_1;





⌨️ 快捷键说明

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