%%(1)画出3*2栅格型SOFM的特征映射图
%T8.6
pos=gridtop(5,6);
plotsom(pos)
%%(2)创建和训练SOFM神经网络的MATLAB程序设计
%Example81Tr
clear all;
%创建SOFM网络
net=newsom([0 2;0 1],[5 6],'gridtop');
%定义输入向量
P=xlsread('shujv.xls');
P=P';
%绘制输入向量
for i=1:59
plot(P(i,:), '.g', 'markersize', 20);
end
%训练SOFM网络
net.trainParam.epochs=1; %设置训练的最大步长
net=train(net,P);
%绘制训练后的SOFM神经网络特征映射图
hold on;
plotsom(net.iw{1,1}, net.layers{1}.distances);
hold off
%存储训练后的SOFM神经网络
save net81 net;
%%(3)SOFM神经网络的MATLAB仿真程序设计
%Example81Sim
clear all
%加载训练好的SOFM网络
load net81 net;
%定义输入向量
%P=[0.1 0.3 1.2 1.1 1.8 1.7 0.1 0.3 1.2 1.1 1.8 1.7; 0.2 0.1 0.3 0.1 0.3 0.2 0.8 0.8 0.9 0.9 0.7 0.8];
%网络仿真
y=sim(net,P);
yc=vec2ind(y) %输出仿真结果
评论0