MATLAB 粒子群算法改错

问题描述:

MATLAB 粒子群算法改错
错误如下
In an assignment A(I) = B,the number of elements in B and
I must be the same.
Error in ==> liziqun at 43
J(i)=fitness(pid);
程序如下
clear all;
clc
m=10;
dim=2;
tmax=20000;
wmin=0.4;
wmax=1;
c1=2;c2=2;
for i=1:m
for j=1:dim
vmax(i,j)=0.02;
vmin(i,j)=-0.02;
xmin(:,1)=1e-12;
xmax(:,1)=1e-9;
xmin(:,2)=3.98;
xmax(:,2)=4;
end
end
for i=1:m
for j=1:dim
x(i,j)=rand(1)*(xmax(j)-xmin(j))+xmin(j);
end
end
for i=1:m
for j=1:dim
v(i,j)=rand(1)*vmax(j);
end
end
pbest_position=zeros(m,dim);
for i=1:m
pid=x(i,:);
J(i)=fitness(pid);
end
pbest=J;%每个粒子的当前最优适应值
pbest_position=x;%每个粒子的最佳位置值 %求初始位置下种群的最佳位置
[gbest,gind]=min(J);%全群取最小适应值
pg=x(gind,:);
ht=0;%计算次数
while htvmax(i,j)
v(i,j)=vmax(i,j);
end
if v(i,j)
1个回答 分类:英语 2014-11-25

问题解答:

我来补答
Y=abs(u2-U2)/abs(u2);
 
 
展开全文阅读
剩余:2000
上一页:弧度制96页