×î½üÏëÓÃÉñ¾ÍøÂç×öÔ¤²â£¬ÔÚÍøÉÏÕÒÁ˸öÀý×Ó×öÐ޸쬵«ÊÇ·¢ÏֱƽüЧ¹û²¢²»ºÃ£¬ÎªÊ²Ã´£¿²»ÊÇ˵Éñ¾ÍøÂç±Æ½üЧ¹û·Ç³£ºÃÂ𣿻¹ÊÇÎҵijÌÐòÄÄÀï³öÎÊÌâÁË£¬¸ÃÈçºÎÐ޸ģ¿ÎÒÏëÓÃѵÁ·ºÃµÄÉñ¾ÍøÂçÔ¤²â¡£Ð»Ð»
%% Çå¿Õ»·¾³±äÁ¿
clc
clear
%% ѵÁ·Êý¾ÝÔ¤²âÊý¾ÝÌáÈ¡¼°¹éÒ»»¯
%ÕÒ³öѵÁ·Êý¾ÝºÍÔ¤²âÊý¾Ý
input_train=[3 4 5 6 7 8 9 10 11 12];
output_train=[31.73 40.582 46.496 48.734 52.205 53.988 55.985 57.873 61.066 65.49];
%Ñ¡Á¬Ñù±¾ÊäÈëÊä³öÊý¾Ý¹éÒ»»¯
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BPÍøÂçѵÁ·
% %³õʼ»¯ÍøÂç½á¹¹
net=newff(inputn,outputn,20);
net.trainParam.epochs=5000;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;
%ÍøÂçѵÁ·
net=train(net,inputn,outputn);
%ÍøÂç±Æ½üÊä³ö
bijin=sim(net,inputn);
%ÍøÂçÊä³ö·´¹éÒ»»¯
BP_bijin=mapminmax('reverse',bijin,outputps);
%% ½á¹û·ÖÎö
figure(1)
plot(input_train,output_train,'-*',input_train,BP_bijin,'o');
title('Éñ¾ÍøÂç±Æ½üÄ£ÐÍ')
![ÓÃÉñ¾ÍøÂç±Æ½üЧ¹ûºÜ²î£¬ÎªÊ²Ã´£¿°ïæ¿´¿´³ÌÐòÓÐʲôÎÊÌâÂ¼±¼±¼±]()
±Æ½üͼÐÎ.png |