关于Matlab的神经网络的程序,在线等,急~ 10
是bp神经网络,输入是有四组(1,2,2)(2,3,3)(3,4,4)(4,5,5),输出是2,3,4,5四个,该怎么写程序?...
是bp神经网络,输入是有四组(1,2,2)(2,3,3)(3,4,4)(4,5,5),输出是2,3,4,5四个,该怎么写程序?
展开
1个回答
展开全部
给个例子给你参考
%% 原始数据
P =[2056 2395 2600;2395 2600 2298;2600 2298 1634;2298 1634 1600;...
1634 1600 1873;1600 1873 1478;1873 1478 1900;1478 1900 1500;...
1900 1500 2046;];
%% 目标数据
T = [2298 1634 1600 1873 1487 1900 1500 2046 1556];
%% 对原始数据和目标数据进行归一化处理
pmax = max(P);
pmax1 = max(pmax);
pmin = min(P);
pmin1 = min(pmin);
for i = 1 : 9
P1(i, :) = (P(i, :) - pmin1) / (pmax1 - pmin1);
T1(i) = (T(i) - pmin1) / (pmax1 - pmin1);
end
%% 建立BP网络
net = newff(P1', T1, [3 7], {'tansig' 'logsig'}, 'traingd');
%% 设置网络参数并进行训练
% for i = 1 : 9
net.trainParam.epochs = 15000;
net.trainParam.goal = 0.00001;
net.trainParam.lr = 0.1
net = train(net, P1(i,:)', T1(i));
% end
%% 将10-12月的数据输入网络进行预测来年一月的销售量(归一化后的数值)
y = sim(net, [1500 2046 1556]');
%% 反归一化求出来年一月份的销售量
y1 = y * (pmax1 - pmin1) + pmin1;
%% 原始数据
P =[2056 2395 2600;2395 2600 2298;2600 2298 1634;2298 1634 1600;...
1634 1600 1873;1600 1873 1478;1873 1478 1900;1478 1900 1500;...
1900 1500 2046;];
%% 目标数据
T = [2298 1634 1600 1873 1487 1900 1500 2046 1556];
%% 对原始数据和目标数据进行归一化处理
pmax = max(P);
pmax1 = max(pmax);
pmin = min(P);
pmin1 = min(pmin);
for i = 1 : 9
P1(i, :) = (P(i, :) - pmin1) / (pmax1 - pmin1);
T1(i) = (T(i) - pmin1) / (pmax1 - pmin1);
end
%% 建立BP网络
net = newff(P1', T1, [3 7], {'tansig' 'logsig'}, 'traingd');
%% 设置网络参数并进行训练
% for i = 1 : 9
net.trainParam.epochs = 15000;
net.trainParam.goal = 0.00001;
net.trainParam.lr = 0.1
net = train(net, P1(i,:)', T1(i));
% end
%% 将10-12月的数据输入网络进行预测来年一月的销售量(归一化后的数值)
y = sim(net, [1500 2046 1556]');
%% 反归一化求出来年一月份的销售量
y1 = y * (pmax1 - pmin1) + pmin1;
力控科技
2024-05-13 广告
2024-05-13 广告
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中...
点击进入详情页
本回答由力控科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询