資源簡(jiǎn)介
MATLAB優(yōu)化算法案例分析與應(yīng)用-配書(shū)代碼,只有代碼。
代碼片段和文件信息
%模糊逼近
clc?%?清屏
clear?all;?%?刪除workplace變量
close?all;?%?關(guān)掉顯示圖形窗口
L1=-3;L2=3;?%?U范圍
L=L2-L1;?%?模糊集變化范圍長(zhǎng)度
h=0.2;??%?逼近精度
N=L/h+1;?%模糊集的個(gè)數(shù)
T=0.01;?%步長(zhǎng)
x=L1:T:L2;?%?模糊集變化范圍
for?i=1:N
????e(i)=L1+L/(N-1)*(i-1);?%?模糊集的邊界值
end
c=0;d=0;?%初始值
for?j=1:N
???%?隸屬度函數(shù)
???if?j==1
u=trimf(x[e(1)e(1)e(2)]);????%The?first?MF
???elseif?j==N
u=trimf(x[e(N-1)e(N)e(N)]);??%The?last?MF
???else
????u=trimf(x[e(j-1)e(j)e(j+1)]);?
???end
???hold?on;
???plot(xu‘r‘‘LineWidth‘2);
???c=c+sin(e(j))*u;??%?分子
???d=d+u;???%?分母
end
xlabel(‘x‘);ylabel(‘隸屬函數(shù)模糊集‘);
for?k=1:L/T+1
????f(k)=c(k)/d(k);?%?模糊系統(tǒng)
end
????
y=sin(x);
figure(2);
plot(xf‘r‘xy‘k‘);
xlabel(‘x‘);ylabel(‘模糊逼近‘);
grid?on%網(wǎng)格化
title(‘模糊逼近‘)
figure(3);
plot(xf-y‘k‘‘LineWidth‘2);?
grid?on%網(wǎng)格化
xlabel(‘x‘);ylabel(‘模糊逼近誤差‘);
title(‘模糊逼近誤差‘)
評(píng)論
共有 條評(píng)論