楼主: yuzhaoyu
2203 4

[有偿编程] 给定案例,求matlab代码。高额悬赏 [推广有奖]

  • 1关注
  • 81粉丝

院士

12%

还不是VIP/贵宾

-

威望
1
论坛币
2188 个
通用积分
1998.7097
学术水平
55 点
热心指数
82 点
信用等级
41 点
经验
285 点
帖子
3184
精华
0
在线时间
2394 小时
注册时间
2007-11-5
最后登录
2024-4-24

500论坛币
基于神经网络的农产品物流需求预测研究.pdf (434.31 KB) Bp的matlab实现语言-案例.txt (3.93 KB)   给了一个pdf是论文  txt有代码 但是报错 数据都弄好了  大师来试试   能在matlab7   运行就行  谢谢了

关键词:matlab代码 MATLAB atlab matla 高额悬赏 matlab

回帖推荐

enxizheng 发表于5楼  查看完整内容

% BP 神经网络用于函数拟合  % 使用平台 - Matlab6.5 %--------------------------------------------------- clc clear close all %--------------------------------------------------- % 产生训练样本与测试样本 P1 = [4885.8 8157 43529.3 708.6 347.57 5523.4 904.7 44265.8 784 376.02 5237.2 10995.5 45648.8 921.6 440.45 6603.5 15750.5 44510.1 1221 532.98 8243.3 20340.9 46661.8 1577.7 574.93 ...

本帖被以下文库推荐

沙发
yuzhaoyu 发表于 2015-1-5 07:37:55 |只看作者 |坛友微信交流群
meiyou

使用道具

藤椅
yisongtang 发表于 2015-3-25 11:17:53 |只看作者 |坛友微信交流群
matlab7.5 运行不了 说有个函数过时。这是6.5的代码。试试matlab6.5

使用道具

板凳
yuzhaoyu 发表于 2015-3-28 16:26:14 |只看作者 |坛友微信交流群
yisongtang 发表于 2015-3-25 11:17
matlab7.5 运行不了 说有个函数过时。这是6.5的代码。试试matlab6.5
6.5也运行不了  你能把7.5以上的代码给出吗?

使用道具

报纸
enxizheng 发表于 2015-4-24 12:13:31 |只看作者 |坛友微信交流群
% BP 神经网络用于函数拟合 
% 使用平台 - Matlab6.5
%---------------------------------------------------

clc
clear
close all

%---------------------------------------------------
% 产生训练样本与测试样本

P1 = [4885.8        8157        43529.3        708.6        347.57
5523.4        904.7        44265.8        784        376.02
5237.2        10995.5        45648.8        921.6        440.45
6603.5        15750.5        44510.1        1221        532.98
8243.3        20340.9        46661.8        1577.7        574.93
9822.9        22353.7        50453.5        1926.1        700.43
10648.5        23788.4        49417.1        2090.1        766.39
11327.3        24541.9        51229.5        2162        1154.76
12043.1        24519.1        50838.6        2210.3        1085.76
13042.3        24915.8        46217.5        2253.4        1231.54
14051.8        26179.6        45263.7        2366.4        1456.73
15041        27390        45705.8        2475.6        1580.76
16065        29691        43069.5        2622.2        1754.45
]     % 训练样本,每一列为一个样本
T1 = [3252
3335
4281
6104
7951
8618
8996
9160
9138
9634
10291
10986
11261
]
% 训练目标

P2 = [19805        36239        46946.9        2936.4        2337.63
22082        39450.9        48402.2        3254.9        2450.31
]    % 测试样本,每一列为一个样本
T2 = [11970
12748
]    % 测试目标

%---------------------------------------------------
% 归一化

[PN1,minp,maxp,TN1,mint,maxt] = premnmx(P1',T1');
PN2 = tramnmx(P2',minp,maxp);
TN2 = tramnmx(T2',mint,maxt);

%---------------------------------------------------
% 设置网络参数

NodeNum = 20;                   % 隐层节点数
TypeNum = 1;                    % 输出维数

TF1 = 'tansig';TF2 = 'purelin'; % 判别函数(缺省值)
%TF1 = 'tansig';TF2 = 'logsig';
%TF1 = 'logsig';TF2 = 'purelin';
%TF1 = 'tansig';TF2 = 'tansig';
%TF1 = 'logsig';TF2 = 'logsig';
%TF1 = 'purelin';TF2 = 'purelin';

net = newff(minmax(PN1),[NodeNum TypeNum],{TF1 TF2});

%---------------------------------------------------
% 指定训练参数

% net.trainFcn = 'traingd';  % 梯度下降算法
% net.trainFcn = 'traingdm'; % 动量梯度下降算法
%
% net.trainFcn = 'traingda'; % 变学习率梯度下降算法
% net.trainFcn = 'traingdx'; % 变学习率动量梯度下降算法
%
% (大型网络的首选算法)
% net.trainFcn = 'trainrp';  % RPROP(弹性BP)算法,内存需求最小
%
% 共轭梯度算法
% net.trainFcn = 'traincgf'; % Fletcher-Reeves修正算法
% net.trainFcn = 'traincgp'; % Polak-Ribiere修正算法,内存需求比Fletcher-Reeves修正算法略大
% net.trainFcn = 'traincgb'; % Powell-Beal复位算法,内存需求比Polak-Ribiere修正算法略大
% (大型网络的首选算法)
%net.trainFcn = 'trainscg'; % Scaled Conjugate Gradient算法,内存需求与Fletcher-Reeves修正算法相同,计算量比上面三种算法都小很多
%
% net.trainFcn = 'trainbfg'; % Quasi-Newton Algorithms - BFGS Algorithm,计算量和内存需求均比共轭梯度算法大,但收敛比较快
% net.trainFcn = 'trainoss'; % One Step Secant Algorithm,计算量和内存需求均比BFGS算法小,比共轭梯度算法略大
%
% (中型网络的首选算法)
net.trainFcn = 'trainlm';  % Levenberg-Marquardt算法,内存需求最大,收敛速度最快
%
% net.trainFcn = 'trainbr';  % 贝叶斯正则化算法
%
% 有代表性的五种算法为:'traingdx','trainrp','trainscg','trainoss', 'trainlm'

%---------------------%

net.trainParam.show = 20;          % 训练显示间隔
net.trainParam.lr = 0.3;            % 学习步长 - traingd,traingdm
net.trainParam.mc = 0.95;           % 动量项系数 - traingdm,traingdx
net.trainParam.mem_reduc = 1;      % 分块计算Hessian矩阵(仅对Levenberg-Marquardt算法有效)
net.trainParam.epochs = 1000;       % 最大训练次数
net.trainParam.goal = 1e-8;         % 最小均方误差
net.trainParam.min_grad = 1e-20;    % 最小梯度
net.trainParam.time = inf;          % 最大训练时间

%---------------------------------------------------
% 训练

net = train(net,PN1,TN1);     % 训练

%---------------------------------------------------
% 测试

YN1 = sim(net,PN1);             % 训练样本实际输出
YN2 = sim(net,PN2);             % 测试样本实际输出

MSE1 = mean((TN1-YN1).^2)       % 训练均方误差
MSE2 = mean((TN2-YN2).^2)       % 测试均方误差

%---------------------------------------------------
% 反归一化

Y2 = postmnmx(YN2,mint,maxt);

%---------------------------------------------------
% 结果作图

plot(1:length(T2),T2,'r+:',1:length(Y2),Y2,'bo:')
title('+为真实值,o为预测值')
结果1 结果2
由于对神经网络不甚了解, 我是单从程序能运行的角度调整的代码(只是添加了几个转置). 上述代码在Matlab R2014a中运行通过.

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-5 15:25