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

资源简介

神经网络使用RBF网络的OLS算法,用MATLAB编写的MG时间序列问题。

资源截图

代码片段和文件信息

function main()
InDim = 4;                              %输入维数
OutDim = 1;                             %输出维数                   
SamNum = 3000;                          %训练样本数
TestSamNum = 500;                       %测试样本数
SP = 0.6;                               %隐节点扩展常数
ErrorLimit = 0.9;                       %目标误差
x(1) = 1.2;                             %初始值从1开始
%训练起始点
StartSamNum = 202;
% 训练终止点
EndSamNum = StartSamNum + SamNum -1;
%测试样本起始点
TestStartNum = 5002;
%测试样本终止点
EndTestNum = TestStartNum + TestSamNum - 1;
%Mackey-Glass 序列终止点
EndMG = 5600;
StartSamOutNum = StartSamNum + 85;                         %期望输出起始点
StartTestSamOutNum = TestStartNum +85;                     %测试期望输出起始点
EndSamOutNum = EndSamNum + 85;                             %期望输出终止点
EndTestSamOutNum = EndTestNum+85;                          %测试期望输出终止点
for t = 1:EndMG
if t <= 17
    x(t+1) = x(t) -0.1*x(t);
else
   x(t+1) = x(t) + (0.2 * x(t-17)/(1+x(t-17)^10)-0.1*x(t));
end
end
%figure
%plot(1:t+1x)
%SumIn =[x(t-18)x(t-12)x(t-6)x(t)] ; 
%TestSumIn = x(:5002:5501);
SamIn = [];
for t = StartSamNum:EndSamNum
     SamInOne = [x(t-18)x(t-12)x(t-6)x(t)]‘;
     SamIn = [SamIn SamInOne];                                         %训练样本输入4*3000;
end
TestSamIn=[];
for t = TestStartNum:EndTestNum
    TestSamInOne =  [x(t-18)x(t-12)x(t-6)x(t)]‘;
    TestSamIn = [TestSamIn TestSamInOne] ;                             %测试样本输入4*500
end
rand(‘state‘sum(100*clock))
NoiseVar = 0.1;
Noise = NoiseVar * randn(1SamNum);
SamOutNNoise = [];
for i = StartSamOutNum:EndSamOutNum                                      %无噪声期望输出
    SamOutNNoise = [SamOutNNoise x(i)];
end
SamOut =  SamOutNNoise + Noise;                                    %添加噪声的期望输出
TestSamOut = [];
for i

评论

共有 条评论