求助!在simulink中如何用粒子群算法优化模糊控制器的量化因子? 10
以下是粒子群程序:N=30;%粒子数目:w=0.9%惯性权重:c1=2;c2=2%学习因子:M=1000;%最大迭代次数:D=3;%问题的维数:fori=1:Nforj=...
以下是粒子群程序:
N=30;%粒子数目:
w=0.9%惯性权重:
c1=2;c2=2%学习因子:
M=1000;%最大迭代次数:
D=3;%问题的维数:
for i=1:N
for j=1:D
x(i,j)=randn;
v(i,j)=randn;
end
end
for i=1:N
p(i)=fitness(x(i,:));
y(i,:)=x(i,:);
end
pg=x(N,:);
for i=1:(N-1)
if fitness(x(i,:))<fitness(pg)
pg=x(i,:);
end
end
for t=1:M
for i=1:N
v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));
x(i,:)=x(i,:)+v(i,:);
if fitness(x(i,:))<p(i)
p(i)=fitness(x(i,:));
y(i,:)=x(i,:);
end
if p(i)<fitness(x(i,:))
pg=y(i,:);
end
end
fgbest(t)=fitness(pg);
end
xm=pg';
fv=fitness(pg);
simulink图,子系统图在附件中
如何将此PSO算法编成S函数来优化图中的ke,kec,ku
目标函数中K=ku/(ke*kec) 展开
N=30;%粒子数目:
w=0.9%惯性权重:
c1=2;c2=2%学习因子:
M=1000;%最大迭代次数:
D=3;%问题的维数:
for i=1:N
for j=1:D
x(i,j)=randn;
v(i,j)=randn;
end
end
for i=1:N
p(i)=fitness(x(i,:));
y(i,:)=x(i,:);
end
pg=x(N,:);
for i=1:(N-1)
if fitness(x(i,:))<fitness(pg)
pg=x(i,:);
end
end
for t=1:M
for i=1:N
v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));
x(i,:)=x(i,:)+v(i,:);
if fitness(x(i,:))<p(i)
p(i)=fitness(x(i,:));
y(i,:)=x(i,:);
end
if p(i)<fitness(x(i,:))
pg=y(i,:);
end
end
fgbest(t)=fitness(pg);
end
xm=pg';
fv=fitness(pg);
simulink图,子系统图在附件中
如何将此PSO算法编成S函数来优化图中的ke,kec,ku
目标函数中K=ku/(ke*kec) 展开
2个回答
展开全部
你的图没看懂,说下图之外的东西吧
粒子群算法作为搜索算法,你想搜索的参数有三个ke,kec,ku,那就设定每个粒子的维数是3,分别代表ke,kec,ku。
其次是目标函数:K=ku/(ke*kec)
最后也是我不知道的是候选解的搜索域,即,你想在哪个区间或空间中搜索ke,kec,ku,题主弄清楚这个就可以进行优化了。
粒子群算法作为搜索算法,你想搜索的参数有三个ke,kec,ku,那就设定每个粒子的维数是3,分别代表ke,kec,ku。
其次是目标函数:K=ku/(ke*kec)
最后也是我不知道的是候选解的搜索域,即,你想在哪个区间或空间中搜索ke,kec,ku,题主弄清楚这个就可以进行优化了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
我去,这个真不会
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询