6、iter; end 式中,itmax=100为最大进化代数,iter为当前进化代数。ax=0.9为初始惯性权值,in=0.4为迭代至最大代数时的惯性权值。 Step2――适应度函数的编写。PSO-BP神经网络模型算法运行的目的是只要算法迭代停止时去噪后图像与原始图像的误差最小,就说明此时的图像去噪效果最好,此时粒子对应位置即为所求最优值。因此本模型的适应度函数代码如下: functionfitness=fitcal(pm,,indim,hiddennum,outdim,D,Ptrain,Ttrain)
7、 [x,y,z]=size(pm); fori=1:x forj=1:hiddennum x2i(i,((j-1)*indim+1):j*indim,z); end fork=1:outdim x2l(i,(indim*hiddennum+1):(indim*hiddennum+hiddennum),z); end x2b=pm(i,((indim+1)*hiddennum+1):D,z);x2b1=x2b(1:hiddennum)'; x2b2=x2b(hiddennum+1:hiddenn
8、um+outdim)'; .Ise(error); end Step3――速度与位置初始化。由于BP模型权阈值参数一般取[-1,1]之间的随机数,因此群体中每个粒子对应的初始位置参数X和速度参数V均取为[-1,1]之间的随机数。主要代码如下: X=-0.5+1*rand(N,D,1); V=-0.5+1*rand(N,D,1); Step4――速度位置更新。利用适应度函数计