第一范文网 - 专业文章范例文档资料分享平台

数学建模实验四:Matlab神经网络以及应用于汽油辛烷值预测

来源:用户分享 时间:2025/5/29 4:11:05 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验四:Matlab神经网络以及应用于汽油辛烷值预测

专业年级: 2014级信息与计算科学1班 姓名: 黄志锐 学号:201430120110

一、实验目的

1. 掌握MATLAB创建BP神经网络并应用于拟合非线性函数 2. 掌握MATLAB创建REF神经网络并应用于拟合非线性函数 3. 掌握MATLAB创建BP神经网络和REF神经网络解决实际问题 4. 了解MATLAB神经网络并行运算

二、实验内容

1. 建立BP神经网络拟合非线性函数

2y?x12?x2

第一步 数据选择和归一化

根据非线性函数方程随机得到该函数的2000组数据,将数据存贮在data.mat文件中(下载后拷贝到Matlab当前目录),其中input是函数输入数据,output是函数输出数据。从输入输出数据中随机选取1900中数据作为网络训练数据,100组作为网络测试数据,并对数据进行归一化处理。 第二步 建立和训练BP神经网络

构建BP神经网络,用训练数据训练,使网络对非线性函数输出具有预测能力。

第三步 BP神经网络预测

用训练好的BP神经网络预测非线性函数输出。 第四步 结果分析

通过BP神经网络预测输出和期望输出分析BP神经网络的拟合能力。

详细MATLAB代码如下: BP.m: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 clc;clear %% 训练数据预测数据提取及归一化 % 载入输入输出数据 load data input output % 从1到2000间随机排序 k = rand(1, 2000); [m, n] = sort(k); % 找出训练数据和预测数据 input_train = input(n(1:1900), :)'; output_train = output(n(1:1900)); input_test = input(n(1901:2000), :)'; output_test = output(n(1901:2000)); %选连样本输入输出数据归一化 [inputn, inputps] = mapminmax(input_train); [outputn, outputps] = mapminmax(output_train); %% 构建和训练BP神经网络 % BP神经网络构建 net = newff(inputn, outputn, 5); % 网络参数配置(迭代次数,学习率,目标) net.trainParam.epochs = 100; net.trainParam.lr = 0.1; net.trainParam.goal = 0.00004; % 网络训练,并记录训练时间 tic; % start time record net = train(net, inputn, outputn); t1 = toc; % (end-start) time record 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

disp(['神经网络的训练时间为', num2str(t1), '秒']); %% BP网络预测 % 预测数据归一化

inputn_test = mapminmax('apply', input_test, inputps); % 网络预测输出

an = sim(net, inputn_test); % 网络输出反归一化

BPoutput = mapminmax('reverse', an, outputps); %% 结果分析 figure(1);

plot(BPoutput, ':og'); hold on;

plot(output_test, '-*'); legend('预测输出', '期望输出');

title(' BP网络预测输出', 'fontsize', 12); ylabel('函数输出', 'fontsize', 12); xlabel('样本', 'fontsize', 12); % 预测误差

error = BPoutput-output_test; figure(2);

plot(error, '-*');

title(' BP神经网络预测误差', 'fontsize', 12); ylabel('误差', 'fontsize', 12); xlabel('样本', 'fontsize', 12); figure(3);

plot((output_test-BPoutput)./BPoutput, '-*'); title(' BP神经网络预测误差百分比'); errorsum = sum(abs(error));

数学建模实验四:Matlab神经网络以及应用于汽油辛烷值预测.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c54swn5g2tn83hrt8bf1m52amw9lhy70084g_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top