生活随笔
收集整理的這篇文章主要介紹了
                                
MATLAB----模糊神经网络
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                             
 
 
 
function f=bpfun
()
%Neural Network—bpfun.m
%輸入矩陣的范圍
(數據源
)
P=[20 3000;1400 3500;500 3500;];
%創建網絡
net=newff
(P,
[6 1],
{'tansig' 'purelin'});
%初始化神經網絡
net=init
(net
);
%兩次顯示之間的訓練步數 默認為25
net.trainParam.show
=50;
%lr不能選擇太大 太大了會造成算法不收斂 太小了會使訓練時間太長
%一般選擇0.1~0.01之間
%訓練速度
net.trainParam.lr
=0.05;
%訓練次數 默認為100
net.trainParam.epochs
=2000;
%訓練時間 默認為inf,表示訓練時間不限
net.trainParam.time
=5000;
%訓練的目標 默認為0
net.trainParam.goal
=0.001;
%建立源數據的矩陣
SourceDataConvert=importdata
('bp_train_sample_data.dat');
SourceData=SourceDataConvert
'
TargetConvert=importdata('bp_train_target_data.dat
');
Target=TargetConvert'
%神經網絡訓練
net=train
(net,SourceData,Target
)
%顯示訓練后的各層權重
mat1=cell2mat
(net.IW
(1,1))
mat2=cell2mat
(net.LW
(2,1))
%mat3
=cell2mat
(net.LW
(3,2))
%讀取仿真文件數據
simulate_data_convert=importdata
('bp_simulate_data.dat');
simulate_data=simulate_data_convert
';
result=sim(net,simulate_data)
result=result'
grid
;
title
('bp神經網絡:訓練次數-輸出誤差對應關系圖');
xlabel
('訓練次數');
ylabel
('誤差值');
%打開存儲仿真結果的文件  a 追加結果  w+ 清除原有內容后讀或寫
fid=fopen
('result.dat',
'w+');
if fid==-1disp
('file open error')fclosed
(fid
);return;
else;
end
%仿真的樣本數
simulate_num=30;
%存儲結果到文件中
for i=1:1:simulate_numfprintf
(fid,
'%f',result
(i
));fprintf
(fid,
'%s',
'    ');
end
%換行輸入
fprintf
(fid,
'%s\r\n',
'');
%fprintf
(fid,
'%f',20
);%關閉文件
fclose
(fid
);%可以把結果文件的數據讀出進行操作
matrix=importdata
('result.dat');
                            總結
                            
                                以上是生活随笔為你收集整理的MATLAB----模糊神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。