%输入矢量p
p=[52 50 0.5;
56 55 1;
55 59 1;
57 55 1;
35 33 0.1;
32 34 0.1;
57 56 1;
58 56 1;
59 58 1;
59 58 1;
56 55 1;
58 57 1;
59 57 1;
59 58 1;
55 56 1;
51 50 0.5;
52 53 0.5;
51 50 0.5;
60 59 1;
55 54 1;
57 57 1;
35 31 0.1;
58 59 1;
56 56 1;
59 59 1;
30 30 0.1;
50 49 0.5;
53 50 0.5;
57 56 1;
58 58 1]';
%目标矢量
t=[35 31 20 36 35 39 ;
48 40 28 49 40 48 ;
55 48 31 55 42 60;
58 45 32 57 44 59 ;
51 42 32 50 48 50 ;
30 28 23 33 31 32 ;
32 29 22 30 29 35 ;
53 43 33 51 42 52;
52 43 29 56 45 51 ;
50 45 29 55 39 51 ;
50 50 32 50 41 54 ;
55 43 29 56 41 51 ;
53 50 30 54 43 51 ;
52 43 35 49 40 55 ;
52 52 32 47 41 50 ;
54 52 28 47 42 55;
46 49 30 48 46 49 ;
47 48 35 50 38 45 ;
48 45 30 48 39 48 ;
56 44 28 53 41 58 ;
54 50 31 52 45 50 ;
29 25 30 35 28 28 ;
52 45 32 51 46 55 ;
54 50 32 50 41 57;
51 48 29 48 42 52;
30 27 20 31 29 32 ;
49 41 29 41 40 49 ;
47 43 30 40 39 48 ;
50 48 30 40 40 53;
51 47 32 48 43 52 ];
%归一化
u_test=[ t(:,28) t(:,29) t(:,30)];
%创建一个新的前向神经网络
%带动量的批处理梯度下降法(TRAINGDM)
net=newff(minmax(P),[20,1],{'logsig','purelin'},'traingdm')%minmax(p)是说p输入的最大值和最小值;[20,1]:Size of ith layer, for Nl layers;'traingdm':训练功能;
%{'logsig','purelin'}:转移函数
%当前输入层权值和阀值
%inputWeights=net.IW{1,1}
inputWeights=-2.5+5*rand(20)
inputbias=net.b{1}
%当前网络层权值和阀值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
%设置训练参数
net.trainParam.show=200;%每隔50次显示一次
net.trainParam.lr=0.15;%lr表示学习速率
net.trainParam.mc=0.8;%mc表示动量系数
net.trainParam.epochs=100000;
net.trainParam.goal=1e-15;
%调用traingdm算法训练BP网络
[net,tr]=train(net,P,T);
%对BP网络进行仿真
A=sim(net,P)
%计算仿真误差
E=T-A;
MSE=mse(E)
Y=[1 2 2.5 3];
X=sim(net,Y)
%plot(P,A,Y,X,'o')
echo off
--------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------
%我写了个径向基函数神经网络试一下,不知行不行呀
close all
clf reset
figure(gcf);
echo on
clc
% NEWRB 设计径向基函数神经网络
% SIM 对径向基函数网络进行仿真
pause
clc
x=[-1:0.05:-0.05 0.05:0.05:1];% 扣除‘0’的不可除
y=sin(pi*x)./(pi*x);
% 画出待逼近函数的图形
aa=length(x);
for i=1:aa
for j=1:aa
z(i,j)=y(i).*y(j);
end
end
mesh(z)
pause
clc
% 设计径向基函数网络,对函数进行逼近
goal=1e-10; % 误差指标
sp=1; % 扩展常数
mn=20; % 神经元的最多个数
df=1; %训练过程的显示频率
net=newrb(x,z,goal,sp,mn,df);
pause
clc
% 对网络进行仿真,并画出样本数据和网络输出图形
Y=sim(net,x);
figure;
mesh(z);
pause
figure;
mesh(Y);
E=z-Y
echo off
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的BP神经网络预测用于交通流量预测的程序+使用说明文档.zip
共2个文件
md:1个
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 184 浏览量
2024-05-22
16:23:51
上传
评论
收藏 14KB ZIP 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的BP神经网络预测用于交通流量预测的程序+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB实现的BP神经网络预测用于交通流量预测的程序+使用说明文档.zip (2个子文件)
使用说明文档.md 13KB
fuping.m 3KB
共 2 条
- 1
资源评论
IT狂飙
- 粉丝: 4812
- 资源: 2655
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功