:

for k=1:18 flag = false; for i=1:1000 [xopt, yopt, fopt] = PSO(@Shubert, np, maxiter, bounds); if abs( glob(k,1) - xopt) < eps && abs(glob(k,2) - yopt) < eps && abs(glob(k,3) - fopt) < eps continue; else glob(k,1)=xopt; glob(k,2)=yopt; glob(k,3)=fopt; flag = true; break; end end if ~flag error('Could not find unique solution for glob(%d,:)', k); end en

glob = zeros183; for i=11000 xopt yopt fopt = PSOShubert np maxiter bounds;上述循环没次产生三个数:xopt yopt fopt将每次产生的数不满足abs globk1 - xopt eps && absglobk2 - yopt eps && absglobk3 - fopt eps的三个数按globk1=x

原文地址: https://www.cveoy.top/t/topic/cfxa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录