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

news2024/9/22 11:38:34

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

5.算法完整程序工程


1.算法运行效果图预览

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

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

2.算法运行软件版本

matlab2022a

3.部分核心程序

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

..........................................................
for i = 1:13;
    figure;
    subplot(211);
    plot(y1{i},'ro');
    hold on
    plot(Train_output1{i},'b');
    xlabel('times');
    ylabel('水分比');
    legend('BP神经网络输出水分比','实际测量水分比');
    title(NAME{i});
    grid on
    subplot(212);
    plot(y1{i}-Train_output1{i}' ,'b-*');
    xlabel('times');
    ylabel('水分比误差');
    grid on
    ylim([-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等。
  • 输出:苦瓜的预测含水量。

5.算法完整程序工程

OOOOO

OOO

O

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

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

相关文章

RocketMQ5.0消费者负载均衡实战-顺序消息负载均衡

在看本篇文章之前可以看一下非顺序消息消息负载均衡相关 RocketMQ5.0消费者负载均衡实战-CSDN博客 顺序消息消息粒度负载均衡 顺序消息的负载均衡主要是针对顺序消息特性进行负载,强遵循顺序消息的特性 RocketMQ 非顺序消息粒度负载均衡 RocketMQ 顺序消息粒度负载…

开发笔记:uniapp+vue+微信小程序 picker +后端 省市区三级联动

写在前面 未采用: 前端放置js 或者 json文件进行 省市区三级联动 采用: 前端组件 后端接口实现三级联动 原因:首先微信小程序有大小限制,能省则省,其次:方便后台维护省市区数据,完整省市区每年更新好像…

HR招聘测评,什么样的候选人无法通过面试

当下企业招聘普遍采用在线人才测评的方式,比传统的面试更加深入,也更加全面的掌握候选人的各方面信息,尤其是综合素质方面,是传统面试所无法比拟的。 在线人才测评的环节,往往安排在面试前,或者是在面试后…

Canvas:二次贝塞曲线

目录 1. 含义2. 方法说明3. 绘制对号4. 绘制聊天框 1. 含义 二次贝塞尔曲线是从起始点开始,通过控制点影响,最终到达终点的平滑曲线。 控制点虽然不在曲线上,但它决定了曲线的形状。 通过调整控制点的位置,可以改变曲线的弯曲方向…

苍穹外卖项目DAY02

苍穹外卖项目Day02 1、员工管理 1.1、新增员工 1.1.1、需求分析和设计 产品原型: 接口设计: 数据库设计(employee表): 1.1.2、代码开发 根据新增员工接口设计对应的DTO: 注意:当前端提交的…

(javaweb)分层解耦

目录 一.三层架构 二.分层解耦 三.IOC&DI入门 四.IOC详解 五. DI详解 一.三层架构 复用性差,难以维护和管理 前端发起请求,先会到达controller,再调用service进行逻辑处理,逻辑处理的前提是先拿到数据,到dao…

模拟电子技术(上海交大 郑益慧)

概述 深入学习基础器件、然后基于基础器件做应用电路设计, 然后做放大电路设计,在这做多级放大电路 最后 构成了集成放大器 改善电路性能、让电路稳定,最终要的思想,就是引入反馈 如何学习 多练习、多实践增加感性(sumulink) 仿真 本征半导体与杂质半导体 二极管 单向导…

Java Facade 模式(外观模式)增强您的架构

通过我们的深入解释和实际示例揭示 Java Facade 模式的简单性 - 简化您的代码并增强您的架构。 您是否厌倦了让您头疼的乱七八糟的代码?您是否在为难以操作和维护的复杂软件而苦恼?那么让我们来谈谈外观 — — 不,不是建筑物的正面&#xff0…

Ceph分布式存储系统的搭建与使用

目录 一. 环境准备 二. 安装Docker 三. admin节点安装cephadm 四. admin节点给另外四个主机导入镜像 五. 向集群中添加节点 六. Ceph使用 列出可用设备 清除设备数据---针对有数据的设备 检查 OSD 状态 Ceph 集群中添加一个新的 OSD 查看集群的健康状态 指定MDS 列…

Javascript 基本引用类型

思维导图 Javascript基本引用类型思维导图 1:date的简单使用 let date new Date() // 获取当前的时间 年月日时分秒 获取时间 getTime() // 返回日期的毫秒表示;与 valueOf()相同 getFullYear() // 返回 4 位数年(即 2019 而不是 19) ge…

SD-WAN企业组网:与传统组网有何不同?

很多企业已经尝试过使用SD-WAN来进行组网。SD-WAN代表着一种新兴的网络连接技术,与传统的网络架构相比,它在许多方面都有明显的不同。 SD-WAN基于软件定义网络(SDN)的概念,提供集中化的网络控制和智能优化,…

软考:软件设计师 — 13.数据结构

十三. 数据结构 数据结构部分也可参考文章:Java数据结构知识点 — 5种常见数据结构 1. 线性结构 (1)线性表 顺序表 线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素…

仿RabbiteMq简易消息队列基础篇(future操作实现异步线程池)

TOC 介绍 std::future 是C11标准库中的一个模板类,他表示一个异步操作的结果,当我们在多线程编程中使用异步任务时,std::future可以帮助我们在需要的时候,获取任务的执行结果,std::future 的一个重要特性是能…

lvm知识终结

、什么是 LVM LVM 是 Linux 下对磁盘分区进行管理的一种工具,适合管理大存储设备,并允许用户动态调整文件系统的大小 lvm 常用的命令 功能 PV 管理命令 VG 管理命令 LV 管理命令 scan 扫描 pvscan vgscan lvscan create 创建 pvcreate v…

水仙花语:花中情诗,心灵低语

一、水仙花语的丰富内涵 水仙花的花语丰富多样,其中“纯洁”是其最为显著的象征之一。水仙花洁白无瑕的花瓣,宛如纯洁无暇的心灵,给人以清新、高雅之感。这种纯洁不仅体现在花朵的外观上,更蕴含着一种纯净、美好的精神内涵&#x…

【JS逆向学习】AES加密文本如何在python中进行调用js解密

对于上边的图片我们用F12找到我们就发现一个无限循环debugger , 我的解决方案是关闭调试 在一个currentitems中发现全是加密的数据 我通过ctrl + shift +f 搜索AES P 这就是解密的js函数,存到js中,进行处理 const crypto = require(crypto) var CryptoJS = require(crypt…

2.7单窗口中显示多幅图像

目录 1.实验原理 2.实验代码 3.运行结果 1.实验原理 在Opencv中,我们可以综合利用坐标变换与Rect区域提取来实现单窗口显示多幅图像。首先根据输入图像个数与尺寸确定输入源图像小窗口的构成形态,然后设定每个图像小窗口的具体构成,包括边…

超级外链工具,可发9600条优质外链

超级外链工具,是一款在线全自动化发外链的推广工具。使用本工具可免费为网站在线批量增加外链,大大提高外链发布工作效率,是广大草根站长们必备的站长工具。 外链工具只是网站推广的辅助工具,一般适用于短时间内无法建设大量外链…

stm32入门学习16-闪存

(一)闪存 在之前的学习中,已经学习过了W25Q64这个外挂闪存,在stm32内部也有一块闪存,其主要用于存放我们编译的代码,如果我们需要一些掉电不丢失的数据,但是又懒得外挂一块闪存,就可…