我是靠谱客的博主 超级银耳汤,最近开发中收集的这篇文章主要介绍matlab在sin处出现解析错误,第一行function处出现解析错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本帖最后由 望舒_mMMD1 于 2019-7-29 12:22 编辑

function

[ParSwarm,OptSwarm]=BaseStepPso(ParSwarm,OptSwarm,ParticleScope,MaxW,MinW,LoopCount,CurCount);

if nargin~=7 %输入容错

error('error' )

end

if nargout~=2 %输出容错

error('error')

end

%线形递减策略

w=MaxW-CurCount*((MaxW-MinW)/Loopcount);

%得到粒子群群体大小和一个粒子维数的信息

[ParRow,~]=size(ParSwarm);

%得到粒子的维数

ParCol=(PalCol-1)/2;

SubTract1=OptSwarm(1:ParRow,:)-ParSwarm(:,1:ParCol);%求解出历史最优值与当前位置的差值

c1=2;

c2=2;

%完成一次粒子位置速度最优值的更新迭代

for row=1: ParRow

SubTract2=OptSwarm(ParRow+1,:)-ParSwarm(row,1:ParCol);%计算出全局最优值与当前该粒子位置的差值

%速度更新公式

TempV=w.*ParSwarm(row,ParCol+1:2*ParCol)+c1*unifrnd(0,1).*SubTract1(row,:)+c2*unifrnd(0,1).*SubTract2;

%各限制速度的代码

for h=1:ParCol

if TempV(:,h)>ParticleScope(h,2)

TempV(:,h)=ParticleScope(h,2) ;

end

if TempV(:,h)

TempV(:,h)=-ParticleScope(h,2)+1e-10;%加1e-10防止适应度函数被零除

end

end

%更新该粒子速度值

ParSwarm(row,1:ParCol)=TempPos;%计算每个粒子的新的适应度

ParSwarm(row,2*ParCol+1)=AdaptFunc(ParSwarm(row,1:ParCol));

if ParSwarm(row,2*ParCol+1)>AdaptFunc(OptSwarm(row,1:ParCol))

OptSwarm(row,1:ParCol)=ParSwarm(row,1:ParCol);

end

end

%for循环结束

%寻找适应度函数值最大的解在矩阵中的位置(行数),进行全局最优值的改变

[maxValue,row]=max(ParSwarm(:,2*ParCo1+1));

if AdaptFunc(ParSwarm(row,1:ParCol))>AdaptFunc(OptSwarm(ParRow+1,:))

OptSwarm(ParRow+1,:)=ParSwarm(row,1:ParCol);

end

出现解析错误,运行结果是表达式或语句不完整或不正确,请问大佬应该怎么修改

最后

以上就是超级银耳汤为你收集整理的matlab在sin处出现解析错误,第一行function处出现解析错误的全部内容,希望文章能够帮你解决matlab在sin处出现解析错误,第一行function处出现解析错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部