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

举报
简简单单做算法 发表于 2024/10/17 01:00:22 2024/10/17
【摘要】 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'...

1.算法运行效果图预览

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

 

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

1.jpeg

2.jpeg

3.jpeg

4.jpeg

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.算法理论概述

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

 

5.png

 

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

 

6.png

 

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

 

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

 

苦瓜生长含水量预测模型

 

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

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

 

 

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。