• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: Matlab
  • 标签: 神经网络  

资源简介

使用神经网络的MG时间序列预测,matlab代码

资源截图

代码片段和文件信息

function Mackey_Glass0
%基本MLP算法
% 麦克-格拉斯(Mackey-Glass)混沌延迟微分方程
% Example:
%    Mackey_Glass;
N=60000;
t=zeros(N1);
x=zeros(N1);
a=0.2;b=0.1;
x(1)=1.2;
t(1)=0;
h=0.5;
tau=17;
for k=1:N-1;
   t(k+1)=t(k)+h;
   if t(k)       k1=-b*x(k);
       k2=-b*(x(k)+h*k1/2);
       k3=-b*(x(k)+k2*h/2);
       k4=-b*(x(k)+k3*h);
       x(k+1)=x(k)+(k1+2*k2+2*k3+k4)*h/6;
   else
       n=floor((t(k)-tau-t(1))/h+1);
       k1=Df(x(n))-b*x(k);
       k2=Df(x(n))-b*(x(k)+h*k1/2);
       k3=Df(x(n))-b*(x(k)+k2*h/2);
       k4=Df(x(n))-b*(x(k)+k3*h);
       x(k+1)=x(k)+(k1+2*k2+2*k3+k4)*h/6;
   end
end




SamNum=3000; %训练样本数
TestSamNum=500;%测试样本数
HiddenUnitNum=30;%隐节点数
InDim=4;%样本输入维数
OutDim=1;%样本输出维数
h=0.5;
%根据目标函数获得样本输入输出
rand(‘state‘sum(3000*clock));
NoiseVar=0.1;
Noise=NoiseVar*rand(1SamNum);
SamIn=rand(InDimSamNum);
SamOutNoNoise=rand(OutDimSamNum);
TestSamIn=rand(InDimTestSamNum);
TestSamOut=rand(OutDimTestSamNum);
for k=201:3200
    SamIn(1k-200)=x((k-18)/h+1);
    SamIn(2k-200)=x((k-12)/h+1);
    SamIn(3k-200)=x((k-6)/h+1);
    SamIn(4k-200)=x((k)/h+1);
    SamOutNoNoise(k-200)=x((k+85)/h+1);
end
SamOut=SamOutNoNoise+Noise;
for l=5001:5500
    TestSamIn(1l-5000)=x((l-18)/h+1);
    TestSamIn(2l-5000)=x((l-12)/h+1);
    TestSamIn(3l-5000)=x((l-6)/h+1);
    TestSamIn(4l-5000)=x((l)/h+1);
    TestSamOut(l-5000)=x((l+85)/h+1);
end


figure
hold on
grid
mm=201:1:3200;
plot(mmSamOut‘k-‘)
ll=5001:5500;
plot(llTestSamOut‘k--‘)


MaxEpochs=3000;%最大训练次

评论

共有 条评论