rbf预测matlab编程,用matlab编程实现用RBF神经网络预测客流

ffd6ac8b64ae3ad2c6d02f2b36d5143f.png

baijiaotuo

新兵答主

11-30

TA获得超过4528个赞

%% 清空环境变量

clc

clear

close all

%%

a=load(''walk1.txt'');%读取数据 % xlsread(‘ ‘);读取execl文件

data=a(1:500,5);%样本数据和测试数据

order=5;%输入数据个数

snum=200;%训练样本数

step=3;%预测步数

input=data(1:snum);

output=data(1+order+step:snum+order+step);

delay=200;%训练样本与测试样本间时延

input1=data(1+delay:snum+delay);

output1=date(1+order+delay+step:snum+order+delay+step);

input_train=zeros(snum,order);input_test=zeros(snum,order);

for i=1:snum

input_train(i,:)=data(i:i+order-1);

input_test(i,:)=data(i+delay:i+delay+order-1);

end

%% RBF神经网络预测

%% 网络建立和训练

net=newrb(input_train'',output'',0.001,100,300,25);

% net=newrbe(input_train'',output'',100);

% net=newgrnn(input_train'',output'',10);

%% 网络验证

ty=sim(net,input_train'');

errR=abs(output-ty'');

ty1=sim(net,input_test'');

errR1=abs(output1-ty1'');

figure

plot(1:snum,output1,''r*-'');

hold on;

plot(1:snum,ty1'',''kx-'');

title(''三步RBF'');

xlabel(''数据序号'');

ylabel(''数据值'');

legend(''实际值'',''预测值'');

figure

subplot(2,1,1);

stem(1:snum,errR1,''r*'');

title(''三步RBF'');

xlabel(''数据序号'');

ylabel(''绝对误差值'');

rbfmean = mean(errR1)

subplot(2,1,2);

stem(1:snum,

abs(errR1./output1),''r*'');

title(''三步RBF'');

xlabel(''数据序号'');

ylabel(''绝对误差率'');

rbfpmean = mean(abs(errR1./output1))*100%%

自己对着改一下。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值