資源簡介
浙大智能控制大作業。不使用工具箱實現BP
代碼片段和文件信息
clc??????????????????????????
clear?all;?
close?all;
%定義相關參數
InputNum=1;??????????????%輸入個數
OutputNum=1;?????????????%輸出個數
TrainingSampleNum=9;?????%訓練樣本數量
TestSampleNum=361;???????%測試樣本數量
HiddenSomaNum=5;?????????%中間層隱節點數量
EpochsNum=500;???????????%最多訓練次數????????????????????????????????????
u1=0.57;?????????????????%學習速率1
u2=0.17;?????????????????%學習速率2
%生成訓練樣本和測試樣本
TrainingSample=0:pi/4:2*pi;??????????????
TestSample=0:pi/180:2*pi;????????????
DesiredOutput=sin(TrainingSample);
DesiredOutput2=sin(TestSample);
ErrorMatrix=[];??????????%誤差矩陣
OutlayerOut=[];??????????%測試輸出矩陣
%對訓練樣本和測試樣本進行歸一化處理,區間為[-11]
[TestSamModips]=mapminmax(TrainingSample);?????????
[TraingSamModips]=mapminmax(TestSample);
%生成各層權值和閾值
Weight1=0.5*rands(HiddenSomaNumInputNum);???????%隱藏層權重????
ThresholdValue1=0.5*rands(HiddenSomaNum1);??????%隱藏層閾值
Weight2=0.5*rands(OutputNumHiddenSomaNum);??????%輸出層權重
ThresholdValue2=0.5*rands(OutputNum1);??????????%輸出層閾值
for?i=1:EpochsNum
????ErrorHistory=[];
????for?j=1:TrainingSampleNum
????????HiddenOutput=logsig(Weight1*TestSamModi(j)+ThresholdValue1);?????%?隱含層網絡輸出?
????????OutlayerOut=Weight2*HiddenOut
- 上一篇:MIMO多用戶預編碼
- 下一篇:MATLAB海雜波模型仿真
評論
共有 條評論