SOMtest.m
上传用户:sdcdgc2008
上传日期:2014-04-13
资源大小:365k
文件大小:1k
开发平台:

Matlab

  1. %------  SOM test --------
  2. close all
  3. clf reset
  4. figure(gcf)
  5. echo on
  6. clc
  7. % NEWSOM ---- 创建自组织网络
  8. % TRAIN ----- 训练
  9. % SIM------仿真
  10. clc
  11. % 产生样本数据 P
  12. angles = 0:0.5*pi/99:0.5*pi;
  13. P=[cos(angles);sin(angles)];
  14. % pause
  15. clc
  16. % 画第一幅图: 样本数据分布图
  17. plot(P(1,:),P(2,:),'*');
  18. axis([0 1 0 1]);
  19. title('Input data');
  20. % pause
  21. clc
  22. % 建立自组织网络
  23. % 样本分为九类
  24. net = newsom([0 1;0 1],[9]);
  25. % pause
  26. clc
  27. % 对网络训练
  28. net.trainParam.epochs = 10;
  29. [net,tr,Y,E,Pf,Af] = train(net,P);
  30. % pause
  31. clc
  32. a = sim(net,[0.6;0.8])
  33. % 画第二幅图: 权值
  34. figure;
  35. w = net.IW{1};
  36. plotsom(net.IW{1,1},net.layers{1}.distances);
  37. pause
  38. clcI
  39. % 利用一组新的数据测内容
  40. a = sim(net,[0.6;0.8])
  41. echo off