急求有约束的粒子群算法的适应度函数怎么写?
程序片段如下:......p(i,:)=x(i,:);%初始化时把粒子位置设为个体最优位置end%根据两个函数确定最优位置适应度函数Pbest=10^(-5);fori=...
程序片段如下: ...... p(i,:)=x(i,:); %初始化时把粒子位置设为个体最优位置end%根据两个函数确定最优位置适应度函数Pbest=10^(-5);for i=1:N if fitness(p(i,:),i)<Pbest Pbest=fitness(p(i,:)); Pg=p(i,:); endend上面的程序片段中,fitness为适应度函数函数,而我的适应度函数如下:function result=fitness(d(i,:))sum1=34584;sum2=8451.3;sum3=5672.1; sum1=sum1-d(i,1)*(443.15-d(i,2))/(d(i,3)+443.15-d(i,4)); sum2=sum2-d(i,1)*(443.15-d(i,2))/(d(i,3)+443.15-d(i,4)); sum3=sum3-d(i,1)*(443.15-d(i,2))/(d(i,3)+443.15-d(i,4));endresult=abs(sum1)+abs(sum2)+abs(sum3);程序运行提示:??? Error: File: fitness.m Line: 5 Column: 26Unbalanced or unexpected parenthesis or bracket.我在网上也查到说d(i,:)传值不对,请教各位大神解答。感激不尽
展开
若以下回答无法解决问题,邀请你更新回答
展开全部
function result=fitness(X)sum1=34584;sum2=8451.3;sum3=5672.1; sum1=sum1-X(1)*(443.15-X(2))/(X(3)+443.15-X(4)); sum2=sum2-X(1)*(443.15-X(2))/(X(3)+443.15-X(4)); sum3=sum3-X(1)*(443.15-X(2))/(X(3)+443.15-X(4));endresult=abs(sum1)+abs(sum2)+abs(sum3);就是改成这样试一下,我个人感觉的这样! 查看原帖>>
求采纳
求采纳
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询