📄 simulate.m
字号:
clear
%%%%%%%%%%训练模糊神经网络%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%神经网络训练信号
Temp=[6 6 6 6 6 6 6 6 7 7 7 7 7 7 8 8 9 8 8 8];
Smog=[0 0 0 0 0 1 1 1 1 1 2 3 4 5 6 8 9 8 7 7];
x= [Temp;Smog]';
D= [0 0 0 0 0 1 1 1 2 2 3 3 4 4 4 5 5 5 5 5]';
%D信号意义
%0:非火灾
%1:火灾可能性小
%2:火灾可能性较小
%3:火灾可能性中等
%4:火灾可能性较大
%5:火灾可能性大
Wnum=2*6+2*6+6*6; %%权值数60
%%%%生成遗传算法初始种群
NIND=200; %%个体数目(Number of individuals)
WmaX=10.0; %%权值最大范围[-WmaX WmaX]
chrom=zeros(NIND,Wnum); %%权值矩阵
for i=1:NIND
for j=1:Wnum
chrom(i,j)=WmaX*rand; %%十进制编码
if rand<0.5 %%符号设置
chrom(i,j)=-1* chrom(i,j);
end
end
end
ec2=0.002; %%GA算法 控制相对二范数误差
%此段代码训练时打开
a=zeros(2,6); %隶属函数中心值和宽度
b=zeros(2,6);
d=zeros(6,6); %输出层权值
%%遗传算法训练 求得模糊网络参数[a,b,d]
[a,b,d]=GA_new(x,D,Wnum,NIND,chrom,WmaX,a,b,d,ec2);
%%%%%%%%%训练结束%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%经G=20000次训练后
a =[-8.4585 2.1548 8.8663 8.5884 2.6502 5.6492;
8.9133 -0.5494 -1.4952 3.9948 -3.6516 -7.2817]
b =[-3.5260 -8.2207 -0.0846 2.0039 -1.1635 1.3539;
3.2318 -4.9416 3.0783 4.9866 2.1025 -2.1942]
d =[-0.7835 -1.1723 -3.3601 1.2951 5.0638 -0.9356;
0.1228 8.9258 1.7120 8.1333 -5.1922 -4.2122;
-2.0356 -3.3353 -2.8342 -4.1974 0.0113 -2.7504;
8.8987 -8.1162 8.6731 2.9589 -2.1538 -1.8003;
-2.6432 -2.3875 -3.5363 -3.2036 -2.0587 -0.2651;
2.7479 -8.4928 -8.5451 5.8389 -2.8470 -6.0390]
%%神经网络计算出结果
y=net_new(x,a,b,d);
ee=D-y;
(ee'*ee)/(D'*D) %相对二范数误差
=0.0028
%y值与目标D相差很小,相对二范数误差0.0028
y =
0.0107
0.0107
0.0107
0.0107
0.0107
0.9835
0.9835
0.9835
2.0158
2.0158
2.6038
3.2456
3.8314
4.2467
4.3505
4.9989
5.0131
4.9989
4.7488
4.7488
%%模糊输出判决结果测试%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%训练样本
xx=[7 1]; %输入信号 2维行向量
net_fuzzy(xx,a,b,d)
%输出
ans =
2.0158
Result =
火灾可能性较小
%测试样本
xx=[6 3]; %输入信号 2维行向量
net_fuzzy(xx,a,b,d)
ans =
3.1072
Result =
火灾可能性中等
%测试样本
xx=[10 10]; %输入信号 2维行向量
net_fuzzy(xx,a,b,d)
ans =
5.2648
Result =
火灾可能性大
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -