基于BP神经网络的苦瓜生长含水量预测模型matlab仿真

news/2024/10/21 11:44:10

1.算法运行效果图预览

(完整程序运行后无水印)

 

T表示温度,v表示风速,h表示模型厚度

 

2.算法运行软件版本

matlab2022a

 

3.部分核心程序

(完整版代码包含详细中文注释和操作步骤视频)

 

for i = 1:13;figure;subplot(211);plot(y1{i},'ro');hold onplot(Train_output1{i},'b');xlabel('times');ylabel('水分比');legend('BP神经网络输出水分比','实际测量水分比');title(NAME{i});grid onsubplot(212);plot(y1{i}-Train_output1{i}' ,'b-*');xlabel('times');ylabel('水分比误差');grid onylim([-1,1]);
end
%风速变化显示
figure;
subplot(121);
plot(y1{1},'r-o');
hold on
plot(y1{2},'b-s');
hold on
plot(y1{3},'k-*');
hold on
plot(y1{4},'m-^');
hold on
xlabel('times');
ylabel('水分比');
legend('T=55,v=0.3,h=3','T=55,v=0.6,h=3','T=55,v=0.9,h=3','T=55,v=1.2,h=3');
grid on
title('BP神经网络输出');
ylim([0,1.2]);
subplot(122);
plot(Train_output1{1},'r-o');
hold on
plot(Train_output1{2},'b-s');
hold on
plot(Train_output1{3},'k-*');
hold on
plot(Train_output1{4},'m-^');
hold on
xlabel('times');
ylabel('水分比');
legend('T=55,v=0.3,h=3','T=55,v=0.6,h=3','T=55,v=0.9,h=3','T=55,v=1.2,h=3');
grid on
title('测量值');
grid on
ylim([0,1.2]);
%厚度变化显示
figure;
subplot(121);
plot(y1{5},'r-o');
hold on
plot(y1{6},'b-s');
hold on
plot(y1{7},'k-*');
hold on
plot(y1{8},'m-^');
hold on
xlabel('times');
ylabel('水分比');
legend('h=3,T=55,v=0.9','h=6,T=55,v=0.9','h=9,T=55,v=0.9','h=12,T=55,v=0.9');
grid on
title('BP神经网络输出');
ylim([0,1.2]);
subplot(122);
plot(Train_output1{5},'r-o');
hold on
plot(Train_output1{6},'b-s');
hold on
plot(Train_output1{7},'k-*');
hold on
plot(Train_output1{8},'m-^');
hold on
xlabel('times');
ylabel('水分比');
legend('h=3,T=55,v=0.9','h=6,T=55,v=0.9','h=9,T=55,v=0.9','h=12,T=55,v=0.9');
grid on
title('测量值');
grid on
ylim([0,1.2]);
%温度变化显示
figure;
subplot(121);
plot(y1{9},'r-o');
hold on
plot(y1{10},'b-s');
hold on
plot(y1{11},'k-*');
hold on
plot(y1{12},'m-^');
hold on
plot(y1{13},'c->');
hold on
xlabel('times');
ylabel('水分比');
legend('T=45,v=0.9,h=3','T=55,v=0.9,h=3','T=65,v=0.9,h=3','T=60,v=0.9,h=3','T=50,v=0.9,h=3');
grid on
title('BP神经网络输出');
ylim([0,1.2]);
subplot(122);
plot(Train_output1{9},'r-o');
hold on
plot(Train_output1{10},'b-s');
hold on
plot(Train_output1{11},'k-*');
hold on
plot(Train_output1{12},'m-^');
hold on
plot(Train_output1{13},'c->');
hold on
xlabel('times');
ylabel('水分比');
legend('T=45,v=0.9,h=3','T=55,v=0.9,h=3','T=65,v=0.9,h=3','T=60,v=0.9,h=3','T=50,v=0.9,h=3');
grid on
title('测量值');
grid on
ylim([0,1.2]);
05_060m

  

 

4.算法理论概述

       BP(Back Propagation)神经网络是一种常用的前馈神经网络,广泛应用于模式识别、数据拟合、分类等领域。其核心思想是利用梯度下降法调整网络权值,最小化预测输出与实际输出之间的误差。BP神经网络通常由输入层、一个或多个隐藏层和输出层组成。假设有一个单隐藏层的BP神经网络,其结构可以用以下公式表示:

 

 

 

       激活函数用于引入非线性特性,常见的激活函数包括Sigmoid函数、ReLU函数等。这里我们以Sigmoid函数为例:

 

 

 

       水分含量是农产品出售、贮藏及加工中考虑的重要因素。干燥是一个复杂的过程,通常涉及到热量和水分的转移,即是传热传质。为了对花椒的真空干燥过程进行直观的分析,通过绘制干燥曲线对干燥过程进行描述,能够较准确地预测干燥过程中水分变化规律,国内外学者对物料的干燥过程进行了建模分析,最先由Lewis在1921年提出了干燥理论,并建立了Lewis模型,后来的学者在此干燥理论基础上衍生了更多的干燥理论及模型,为实际生产提供理论基础。

 

       引用BP神经网络对试验样本数据对机器进行训练,能够对未知的样本的变化规律进行预测,避免了繁琐的数学建模。为了探究BP神经网络在花椒真空干燥过程中的应用效果,使用BP神经网络对花椒真空干燥过程中物料的水分比变化规律进行预测和模型的建立,验证BP神经网络模型的应用效果,为干燥理论的研究提供可靠的依据。

 

苦瓜生长含水量预测模型

 

输入特征:温度T、风速V、厚度H等。

输出:苦瓜的预测含水量。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

小车侧方位停车过程的动态模拟matlab仿真

1.课题概述小车侧方位停车过程的动态模拟matlab仿真。仿真得到小车的停车动画,小车移动的xy轴坐标以及角度变换。2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a%阶段3 %车轮 pause(1); for i=1:13ya1=ya1+0.5;yb1=yb1+0.5;ya2=ya2+0.5;yb2=yb2+0.5;cla; patch([Car…

实现dnmp中多站点多版本php并存

实现dnmp中多站点多版本php并存 PHP多版本部署之docker方式 背景 搞了一段时间Python,这两天又要开始做一些PHP相关的项目了,本地开发环境、测试环境、线上环境都需要重新弄了,为了开发方便还是决定用Docker方式来部署,自己又不想写Dockfile和compose文件啥的。于是找了下,…

数据采集实践第一次作业

目录作业①:定向爬取大学排名信息实验要求及结果心得体会作业②:商城商品比价定向爬虫实验要求及结果心得体会作业③:爬取网页中的JPEG和JPG格式图片实验要求及结果心得体会码云连接作业①:定向爬取大学排名信息 实验要求及结果要求 用requests和BeautifulSoup库方法定向爬…

mysql学习笔记3

通过Node-red对mysql数据库进行操作 1、环境配置 操作系统 宿主机:UBUNTU 虚拟环境:KVM 虚拟机1:Armbian 虚拟机2:Debian 网络 虚拟网络(默认的default配置): +-------------------+ +-------------------+ | | | …

这十年我与广告不共戴天练就的十八般武艺 #PC去广告 #手机去广告

背景大家应该都体会过广告的苦恼,比如看着好看的电视,突然给播放广告,这时候痛苦系数飙升。随着社会进步,广告的载体,还有形式也越来越多,比如手机端各种APP启动广告,PC端软件弹窗,网站Banner等,这些广告最主要的目的就是诱骗你误操作点击,然后陷入几乎无限弹窗的循环…

产品经理不会画架构图

在当今竞争激烈的科技行业中,产品经理扮演着至关重要的角色。他们是产品的灵魂人物,负责从概念提出到产品上线的整个过程。然而,有一个问题常常困扰着许多产品经理,那就是不会画架构图。在一些团队中,产品经理不会画架构图可能会遭到同事的质疑甚至群嘲。这不仅会影响产品…

CI/CD主流技术

软件持续集成/持续部署(CI/CD)阶段的主流技术1. 代码管理:Git(常用平台如 GitHub, GitLab, Bitbucket)SVN(Subversion)2. 单元测试:JUnit(Java)PyTest(Python)Jest(JavaScript/Node.js)NUnit(C#)3. 构建打包:Maven(Java)Gradle(Java、Kotlin)npm / Yarn(…

《使用Gin框架构建分布式应用》阅读笔记:p52-p76

《用Gin框架构建分布式应用》学习第4天,p32-p76总结,总计25页。 一、技术总结 1.Go知识点 (1)iouti 书上使用ioutil包读取JSON文件,但是从go 1.16 开始,不再推荐使用ioutil,应该使用os 包。 (2)json.Unmarshal() vs json.NewDecoder() 当数据已经被加载到内存中了(例如一个…