单目标应用:麻雀搜索算法(SSA)画爱心

作品简介

一、麻雀搜索算法SSA

二、爱心函数拟合

爱心函数可由一组余弦正交函数基构成,因此SSA优化该正交函数基的系数即可获得爱心函数。加大迭代次数效果更好。

点击查看:麻雀搜索算法(SSA)画爱心视频

2.1求解结果

2.2最后函数

x=linspace(-2,2,400);
%X为麻雀搜索算法求解得到的最终参数
X=[1.31019428548365,-0.648540409755690,-0.236997783455681,0.273117721603233,-0.251058335967004,-0.0492080470377230,0.133258526786096,-0.166543382966308,0.0252460095350893,0.0547239628984658,-0.121881402188698,0.0892019918525742,-0.0611438846127992,0.0178480834260963,-0.00796651829449292,-2.98773516366229,0.789574927467657,-0.202926905467625,-0.385710433099510,0.265895049915549,-0.175362709395008,-0.00154250110061306,-0.0614727635025854,0.0849598904656790,-0.119366274191529,0.0117415022417509,0.0713647215457548,-0.139056677011055,0.0993588848209280,-0.0517882809293093];
len=size(X,2);
ypredata=zeros(size(x));
zpredata=zeros(size(x));
for i=1:size(x,2)
    for j=1:len/2
        ypredata(i)=ypredata(i)+X(j).*cos(j*x(i));%采用余弦正交函数基拟合
        zpredata(i)=zpredata(i)+X(j+len/2).*cos(j*x(i));%采用余弦正交函数基拟合
    end
end
figure  
plot(x,ypredata,'r',x,zpredata,'r');
%去除上右边框刻度
box off  
%移除坐标轴边框
set(gca,'Visible','off');
%设置背景为白色
set(gcf,'color','w');

三、源代码



创作时间: