首页 > 其他分享 >农作物虫情预测的matlab实现

农作物虫情预测的matlab实现

时间:2024-08-16 20:24:53浏览次数:12  
标签:预测 虫情 发生量 虫害 农作物 BP matlab 神经元

 

农作物虫情预测

农作物的主要害虫常年对作物造成严重危害,使农业经济遭受严重损失。根据害虫的发生、发展规律,以及作物的物侯和气象预报等资料,进行全面分析,作出其未来的发生期、发生量和危害程度等估计,预测害虫的未来发展动态,这项工作就叫做农作物虫情预测。

虫情预测的必要性

虫情预测工作是进行害虫综合防治的必要前提,只有对害虫发生危害的预测做得及时准确,才可以正确地拟定综合防治计划,及时采取必要的措施,经济有效地压低害虫的发生数量,保证农作物的高产和稳产。

虫情预测分类

1. 按照预测内容来划分,虫情预测可以分为发生期预测、发生量预测、迁飞害虫预测和灾害程度预测,以及操作估计。

2. 按照预测时间长短划分,可以分为短期预测、中期预测和长期预测。

基于神经网络的虫情预测原理

     众所周知,虫害的发生和自然因素之间有着密切的联系,它同时受气温、日照和降雨量等因素的影响。影响虫害发生量的各个因子之间存在复杂的相互作用。由于自身的缺点,利用传统方法很难建立起一个精确和完善的预测莫测。而BP神经网络具有对非线性复杂系统预测的良好特性,可以有效地描述其本身具有的不确定、多输入等复杂的非线性特性。

    从影响虫害发生量的气候因子角度来说,虫害发生量主要受以下3中因素制约。

☻温度    昆虫是变温动物,体温基本上是随着外界温度的变化而变化的。而外界温度的变化直接影响着昆虫代谢率的高低,从而直接影响昆虫生长发育、繁殖和生存等生命活动行为。

☻湿度和降雨    湿度和降雨可以直接影响昆虫的生长发育和生存。

☻光     对于昆虫来说,光并不是一种生存条件,但外界光因素与昆虫的趋向性、活动行为和生活方式等都有着直接或间接的联系。

BP网络设计

BP网络的输入层和输出层的神经元数目是由输入向量和输出向量的维数确定的。输入向量的维数也就是影响因素的个数,这里综合考虑了影响虫情的各种因素,选取了平均气温、最低气温、日照时间和降雨量等4个因素,所以输入层的神经元个数为4。为了细化虫害的等级,这里将虫害发生量分为4级,目标输出模式为(0 0 01)、(0 0 1 0)、(0 1 0 0 )和(1 0 0 0 ),分别对应1级、2级、3级、4级。因此,输出层神经元的个数也为4。由于输出向量的元素为0-1值,因此,输出层神经元的传递函数可选用S型对数函数logsig()。

实践表明,隐含层数目的增加可以提高BP网络的非线性映射能力,但是隐含层数目超过一定值,网路性能反而会降低。而单隐层的BP网络可以逼近一个任意的连续非线性函数。因此,这里采用单隐层的BP网络。隐含层的神经元个数直接影响着网络的非线性预测性能。这里根据kolmogorve定理,设定网络的隐含层神经元个数为9,按照一般的设计原则,隐含层神经元的传递函数为S型正切函数tansig()。

网络结构确定后,需要利用样本数据通过一定的学习规则进行训练,提高网络的适应能力。学习速率是训练过程的重要因子,它决定每一次循环中的权值变化量。在一般情况下,倾向于选择较小的学习速率保证学习的稳定性,这里取学习速率为0.05.

%构建训练样本中的输入向量P

p1=[-0.0909 0.4825 0.9580 0.6643 0.0350 -0.6224;

    -0.1408 0.3844 0.9718 0.7183 0.0423 -0.6620;

    -0.2500 0.1250 0.9688 0.5000 0.0000 -0.0625;

    -0.2984 0.3037 -0.7801 0.0419 -0.3665 -0.8796];

p2=[-0.2727 -0.909 0.9580 0.8601 0.0909 -0.9860;

    -0.7324 0.0000 1.0000 0.9296 0.0141 -1.0000;

    0.5625 0.8125 0.6875 0.2812 0.1563 -0.5625;

    -0.7277 -0.6073 0.0733 -0.3979 -0.4660 -0.4241];

p3=[0.1189 0.3706 0.6923 0.6643 -0.0350 -0.4266;

    -0.1127 0.3521 0.7324 0.7324 0.0423 -0.5070;

    0.6250 0.0313 -0.3125 -0.0625 -0.5313 -0.125;

    -0.6021 -0.6073 0.2670 0.1361 -0.8482 -0.8586];

P=[p1 p2 p3];

%构建训练样本中的目标向量t

t1=[0 0 1 1 0 0;

    0 0 0 0 0 0;

    0 0 0 0 0 0;

    1 1 0 0 1 1];

t2=[0 0 1 1 1 0;

    0 1 0 0 0 0;

    0 0 0 0 0 0;

    1 0 0 0 0 1];

t3=[0 0 0 1 1 0;

    0 0 0 0 0 1;

    0 0 1 0 0 0;

    1 1 0 0 0 0];

t=[t1 t2 t3];

%创建一个BP网络,隐含层有9个神经元,传递函数为tansig

%中间层有4个神经元,传递函数为logsig,训练函数为trainlm

net=newff(minmax(P),[9,4],{'tansig','logsig'},'trainlm');

%训练步数为50

%目标误差为0.01

s=50;

=0.01;

[net,tr]=train(net,P,t);

%预测2003年的虫情

P_test=[0.0490 0.2587 0.7203 0.9301 0.3287 -0.6084;

      -0.0937 -0.5313 -0.1875 0.9688 0.2813 -0.2813;

        -0.0995 1.0000 0.4346 -0.8691 -0.6702 -0.4346];

y=sim(net,P_test)

训练结果

标签:预测,虫情,发生量,虫害,农作物,BP,matlab,神经元
From: https://blog.csdn.net/2401_86539719/article/details/141268854

相关文章

  • 利用matlab求解方程和方程组
    本章会介绍如何利用matlab的内置函数求解方程与方程组目录一、solve函数求解方程1.求解单变量方程2.求解周期函数的解3.求解多变量方程4.求解方程组二、vpasolve函数求解方程1.solve函数的缺点2.vpasolve函数的用法(1)用vpasolve函数指定求范围上的解(2)用vpasolve函数给定搜索的起始......
  • 基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
    目录1.算法运行效果图预览2.算法运行软件版本3.部分程序4.算法理论概述5.算法完整程序工程1.算法运行效果图预览(完整程序运行后无水印)将FPGA的仿真结果导入到MATLAB中,分别得到MATLAB的结果和FPGA的结果:2.算法运行软件版本vivado2019.2matlab2022a3.部分程序......
  • 蚁群求TSP问题 MATLAB程序
    蚁群算法被广泛应用于解决旅行商问题(TravelingSalesmanProblem,简称TSP)。TSP是一个经典的组合优化问题,目标是找到一条最短的路径,使得旅行商可以经过所有城市恰好一次,最后回到出发城市。下面是蚁群算法处理TSP问题的步骤:初始化:生成一群蚂蚁,并随机分配每只蚂蚁的初始位置......
  • 7次多项式对若干个点进行拟合,并生成图像|MATLAB实现
    文章目录拟合运行结果完整代码拟合MATLAB对数据进行拟合的意义是通过数学模型和统计方法对实际数据进行分析和预测。拟合可以帮助我们理解数据背后的规律和趋势,从而做出科学决策。拟合的意义揭示数据的规律预测未来趋势数据修正和异常检测数据分析......
  • 混合策略改进的蜣螂算法(IDBO)优化长短期记忆神经网络原理及matlab代码
    目录0引言1数学模型2模型对比3matlab代码3.1改进的主代码3.2IDBO-LSTM4视频讲解0引言针对DBO算法全局探索能力不足、易陷入局部最优以及收敛精度不理想等问题,多为学者提出了混合多策略改进的蜣螂优化算法(IDBO)。主要混合策略改进首先是采用混沌映射结合随机反......
  • 混合策略改进的蜣螂算法(IDBO)优化支持向量机原理及matlab代码
    目录0引言1数学模型2模型对比3matlab代码3.1改进的主代码3.2IDBO-SVM4视频讲解0引言针对DBO算法全局探索能力不足、易陷入局部最优以及收敛精度不理想等问题,多为学者提出了混合多策略改进的蜣螂优化算法(IDBO)。主要混合策略改进首先是采用混沌映射结合随机反向......
  • MATLAB人体行为检测系统
    MATLAB人体行为检测系统是利用MATLAB编程语言和相关工具实现的一种系统,用于对人体行为进行实时监测和识别。该系统的主要功能包括人体姿态估计、行为识别和行为分析。人体姿态估计是指通过分析人体图像或视频,获取人体的关节位置和姿势信息。这一过程通常涉及到计算机视觉和图......
  • MATLAB运动目标跟踪系统
    MATLAB提供了一些函数和工具箱,可以用于运动目标的跟踪和检测。以下是一些常用的方法:前景提取:使用图像处理方法,如基于帧差法、基于背景建模等,提取视频中的前景目标。可以使用MATLAB的图像处理工具箱中的函数,如imabsdiff()和vision.ForegroundDetector()。特征提取和匹配:使用......
  • 回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含
    回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序多特征输入单输出含基础模型文章目录前言回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序多特征输入单输出含基础模型一、HGS-CNN-LSTM-Attention模型1.模型组件概述1.1.海鸥优化算......
  • matlab对不定积分和定积分的计算
    在高等数学中,对这两种积分的计算是一种常见的考题,而matlab有内置的函数能够直接帮助我们解决这个计算问题目录一、matlab求解不定积分1.int函数求解不定积分2.int函数求解不定积分的常见问题二、matlab求解定积分1.求具体数值的定积分2.求具体带参数的定积分3.求瑕积分三、求数值......