📄 change.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 + -