• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签:

资源简介

浙大智能控制大作业。不使用工具箱实现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

评论

共有 条评论