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

📄 climber算法.txt

📁 提取小波脊线的crazy climber算法
💻 TXT
字号:
%crazy climber算法
function out=ridge ( c )
%c是要提取脊线的时频矩阵
[B,A]=size;
N=floor(A*B/4);
%生成N个Climber
temp=zeros(B,A);
for i=1:1:A*B
if mod(i,4)==0
temp(i)=1;
end
end
T=max(max)-min(min);%系统初始化温度
Tt=T; %系统当前温度
t=2; %系统当前时间
while Tt>=T/1000 %对时间t做循环
for i=4:4:A*B %对每个climber做移动
if mod(i,B)==0
heng=mod(i,B)+B;
else
heng=mod(i,B);
end %计算climber的横坐标
zong=ceil(i/B) %计算climber的纵坐标
p=sign(2*rand-1); %横坐标以0.5的等概率分别向左和右移动
if heng==1
p=1;
elseif heng==A
p=-1;
end %排除边界条件
heng_new=heng+p;

%纵坐标按规则移动
p=sign(2*rand-1);
if zong==1
p=1;
elseif zong==A
p=-1;
end %排除边界条件
zong_new=zong+p;
if c(heng_new,zong_new)>c(heng_new,zong)
temp(heng,zong)=0;
temp(heng_new,zong_new)=1;
else
pt=exp((c(heng_new,zong_new)-c(heng_new,zong))/Tt);
if(rand<=pt)
zong_new=zong+p;
temp(heng,zong)=0;
temp(heng_new,zong_new)=1;
else
zong_new=zong;
temp(heng,zong)=0;
temp(heng_new,zong_new)=1;
end 
end
end
Tt=T/log2(t);
t=t+1;
end

⌨️ 快捷键说明

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