迪克逊准则matlab,浙江科技学院学报

引言

传统的农业栽培需要遵循季节性及周期性的栽培规律,受外界环境的影响较大,相应的栽培技术无法得到良好的栽培结果[1]。而温室大棚通过环境控制器调节温室环境,为作物提供了合适的生长环境。因此,它在农业领域的应用越来越广泛,温室环境控制系统的研究成为人们关注的热点[2-5]。韩毅[6]提出了一种温湿度变结构模糊控制方法,将控制过程分为“快速控制”和“精细调节”两个过程,以改善控制系统稳态性能; 左志宇等[7]提出了一种基于光照的温室加热系统模糊PID控制(proportional-integral-derivative conrtol,比例-积分-微分控制)方法,利用自然光对温度进行调节,以提高控制系统的动静态性能。但温室各环境因子相互影响,以上两种对单一对象的控制方法均无法达到最优的控制效果。王宪磊等[8]提出了一种基于模糊控制专家系统的智能温室控制方法,结合多信息融合的原理,提高温室环境参数测控的决策准确性; 邢希君等[9]提出了一种基于双模糊控制器的智能控制方法,加入分段控制以实现温室内全天候自适应智能控制。但这两种方法中的传感器在采集数据时存在故障及数据失真等问题,而系统并未对采集数据进行处理,易影响控制的效果。在上述研究的基础上,本文采用狄克逊准则(Dixon Criterion)及改进型自适应加权融合算法对采集的环境因子数据进行预处理,利用模糊控制方法,以温室内环境因子偏差值作为输入,温室环境控制器信号作为输出,研究数据融合及模糊控制方法在温室大棚中的应用,以提高数据的可靠性、稳定性及系统的响应速度。1 系统整体设计

1c3a612e817994d74439ab346dfd2815.png

图1 温室大棚控制系统整体结构

Fig.1 Architecture of greenhouse control system

温室大棚控制系统主要由数据采集、数据传输及数据决策3个部分组成,其整体结构如图1所示。系统由终端传感器采集温室内温度、湿度、光照强度3个环境因子的数据,并无线发送至ZigBee协调器; ZigBee协调器通过WiFi将采集到的数据上传到控制中心; 控制中心采用数据融合及模糊控制方法对3个环境因子数据进行融合判断,若3个环境因子数据不在设定值范围内,则向环境控制器发送控制命令,以达到调节温室环境的目的。2 数据融合

温室环境受多种因素影响,单一传感器测量数据存在监测不全面、准确度低等问题[10],多传感器数据融合对待测的多源信息进行融合,与单一传感器的测量结果相比,能获得更高的检测精度[11]。因此,本研究采用2级数据融合方案:第1级采用狄克逊准则,克服粗大误差(即出现明显超出规定条件下预期的误差),提高数据的可靠性; 第2级采用改进型自适应加权的融合算法,提高数据的准确度。2.1 狄克逊准则

在测量过程中,疏忽误差的存在将使得数据可靠性降低,导致控制出现偏差。格拉布斯准则(Grubbs Criterion)适合测量次数偏小的情况,一次只能剔除一个误差,拉伊达准则(Pauta Criterion)适合测量次数趋于无穷大的情况,而狄克逊准则通过极差比判定、剔除异常数据,不用计算均值与方差,可一次性剔除多个异常值,方法更为简便[12],具体过程如下。

将采样数据v(n)按值的大小排成顺序统计量,n(3≤n≤7)为采样点个数。当v(n)服从正态分布时,统计量

γ10=(v(n)-v(n-1))/(v(n)-v(1));

γ'10=(v(2)-v(1))/(v(n)-v(1))。

设D(α,n)为狄克逊检验的临界值,取显著水平α为0.01,当γ10>γ'10、γ10>D(α,n)时,v(n)为异常值; 当γ10D(α,n)时,则v(1)为异常值; 否则没有异常值。重复以上过程,直到没有异常值。剔除异常值后对余下数据进行算术平均法融合,融合后的数据作为此次采集的最终结果。2.2 改进型自适应加权融合算法

将某时刻的采样数据平均分为6组,一共有n个数据,其中第k组为Xk1,Xk2,…,Xknk(k=1,2,…,6,∑6k=1nk=n),分为以下2个步骤:

1)计算每组的算术平均值Xk和标准误差σk,得

a089fc38c29ed484ccabe62bdfe45dc3.png

根据统计学中分批估计理论[13-14],将6组数据平均分为3组,其中第j组的融合值方差Dj、数据融合值Tj分别为

Dj=(σ22jσ22j-1)/(σ22j-1+σ22j)(j=1,2,3);(1)

Tj=(σ22jX2j-1+σ22j-1X2j)/(σ22j+σ22j-1)。(2)

2)因不同分批数据融合值对应不同的权值,以权值最优分配原则对式(1)~(2)所得出的方差Dj、融合值Tj进行自适应加权,得到最小总均方差,以提高数据融合精度。

引入加权因子wk(∑3k=1wk=1,k=1,2,3),计算数据融合值

X=∑3k=1wkTk。

计算总均方误差

σ2=∑3k=1w2kσ2k。

由多元函数求极值理论,计算得

w'k=1/(δ2k∑nk=11/(δ2k)),

取得最小值,此时最优的融合结果

X=w'kTk。2.3 数据采集及分析

记录温室大棚内某次由温度传感器采集并上传的温度值,采用狄克逊准则进行第1级数据处理并分成6组,每组4个数据,结果见表1。

9d338d691feeb7767612ca004bf70ab8.png

表1 温室大棚6组温度采集数据

Table 1 Six sets of temperature data collected in greenhouse

3b9d58d0957025e0962f0cf0ae843eb6.png

表2 3种算法融合结果对比

Table 2 Comparison of fusion results of three algorithms

对表1中的数据进行第2级融合,此时对应的融合值X=26.23,方差σ2=0.001。分别用算术平均法、自适应加权算法及本文算法对表1数据进行处理,得到的融合值及方差见表2。

由表2可知,本文所使用的数据融合算法方差最小,因此准确度最高。3 模糊控制

利用MATLAB软件的模糊逻辑工具箱设计模糊控制器,将传感器采集的环境因子值与设定的目标值进行比较,得出差值后经过模糊化转换成模糊量,通过模糊规则将模糊输入量进行模糊推理后,得出模糊输出控制量,最后对模糊输出控制量进行反模糊化处理得到精确量并发送至环境控制器,以达到控制温室环境的目的。温室环境控制模型如图2所示,系统以温室内的温度、湿度、光照度3个环境因子作为输入量,以对输入量影响程度较大的遮光帘、加热器、天窗、加湿器、LED补光灯及通风机作为输出量,建立3输入、6输出的模糊控制系统。

9087862d6790663562099fb8ccabea9d.png

图2 温室环境控制模型

Fig.2 Model of greenhouse environmental control

3.1 模糊化

记温度、湿度、光照度的设定值与检测值的相对误差分别为eT、eH、eL,定义eT、eL的论域为[-5,5],eH的论域为[-10,10],eT、eH的语言变量选择为NB(极小)、NS(偏小)、ZO(适中)、PS(偏大)、PB(极大),选择三角形隶属函数,eL的语言变量选择为N(暗)、ZO(适中)、P(亮),选择三角形和梯形相结合的隶属函数。

温室环境控制器的输出通过控制相应设备的运行时间来实现开度的控制。定义遮光帘(U1)、加热器(U2)、天窗(U3)、加湿器(U4)、LED补光灯(U5)及通风机(U6)的论域为[0,3],语言变量为A(全开)、B(半开)、C(关闭),选择三角形隶属函数。以温度和遮光帘为例,隶属函数图像如图3所示。

9ebbc6e8c60c1771ecbb18938ab5eb39.png

图3 隶属度函数

Fig.3 Membership function

3.2 模糊规则

模糊规则一般为专家及工作人员经过长时间总结的实践经验形成的模糊条件语句,结合本文系统控制的要求,我们将环境控制器对环境因子的影响程度进行合理度划分,制定模糊控制规则。模糊语句共有5×5×3=75条,其中部分模糊规则控制见表3。

e11b7d810d77f79bb6102770f9e80bb4.png

表3 部分模糊规则控制表

Table 3 Partial fuzzy rule control table

3.3 模糊推理

模糊推理根据模糊控制器的输入和模糊控制规则,得到输出变量加热器、通风机及补光灯等多个环境控制器模糊控制的结果,由于环境控制设备可调节,因此本文使用Mamdani型推理方法[15-16]。对多输入、多输出系统的模糊推理转化为多输入、单输出系统的模糊推理,即对每个环境设备控制器的输出单独进行分析[17]。

通过模糊推理得到的结果为一个模糊向量,不能直接使用,需要进行解模糊,转化为实际值。本文采用加权平均法以得到实际输出值

U=(∑ni=1u(Ui)Ui)/(∑ni=1u(Ui))。4 试验及分析

根据实际温室大棚的特点,我们设计了温室试验模型。首先对无线通信模块供电,传感器采集节点合理布置,然后对室内的温度、湿度和光照强度等参数值进行采集。为了验证本文方法的有效性,设定温室目标温度为25 ℃、湿度为60 RH%、光照度为1 500 lx,每隔1 min采集1次数据,采用2级数据融合对数据进行预处理后,利用模糊控制算法进行决策控制,控制过程中,将3个环境参数的变化值用MATLAB软件绘制成相应曲线,如图4所示。

1409a49216d55343909d8dab11a419ca.png

图4 温室环境因子变化曲线

Fig.4 Curve of changes in environmental factors in greenhouse

由图4可知,3个环境因子均在10 min内接近设定值,其中,温度的相对最大波动值为2.1%,湿度的相对最大波动值为2.54%,光照强度的相对最大波动值为2.36%,数据处于稳定时波动范围较小。由此可见,相比较于文献[9]中使用的方法,本文采用的2级数据融合处理方法测量数据的准确度更高,因此更能反映温室内的真实环境状况,更有利于提高控制精度。5 结 语

温室环境具有参数多、滞后性强、外界干扰大等特点,难以对其建立精确的数学模型进行控制[18]。本文针对当前温室大棚控制系统存在的不足提出了数据融合及模糊控制方法,试验结果表明,采用2级数据融合算法对数据进行预处理提高了数据的可靠性及数据融合的精度; 采用模糊控制方法能使温室环境快速接近设定值并维持在稳定状态,可满足温室环境的控制要求。

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

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

相关文章

使用FlexDeploy对融合中间件应用程序进行自动化软件测试

自动化软件测试是任何软件组织都应执行的强制性活动之一,以保证其产品质量。 但是,此过程通常变得非常复杂,尤其是涉及由多个不同部分组成的现代复杂系统的自动化测试时。 所有这些部分都基于不同的技术,显然,应该使用…

java 反编译项目_Java 7 –反编译项目硬币

java 反编译项目大家好,该是从2012年开始写作的时候了。正如您在其他博客中可能已经看到的那样,有一些更改可以使您使用Java编程时的开发人员生活变得更加轻松:Diamond运算符,Switchs中的Strings,尝试使用资源&#xf…

Java 9代码工具:使用Java微型基准测试工具的实践会话

用肉眼看,基准测试似乎只是确定执行某些代码需要花费多长时间的简单问题。 但是通常,这是幼稚的方法。 提供具有准确和可重复结果的有意义的基准并非易事。 在本文中,我们想向您介绍OpenJDK代码工具项目,尤其是JMH。 Java Microb…

vaadin_在Vaadin和JSF之间选择

vaadin随着最新版本的Primefaces 3.0的发布,JSF终于达到了前所未有的成熟度和实用性,使其与其他流行的Rich Internet Applications(RIA)选项面对面,例如Google Web Toolkit(GWT),Ext…

windows server 2008 oracle 10g,一次不太愉快的Windows Server 2008 R2 SP1上安装ORACLE 10G经历...

华为服务器型号RH5885 V3,安装windows server 2008 r2, oracle 10g1、安装包要使用10204_vista_w2k8_x64_production_db.zip,不用102010_win64_x64_database.zip;2、DBCA创建数据库之前,关闭BIOS中Hyper-Threading [ALL] - [Disab…

通过OmniFaces缓存组件以编程方式缓存PrimeFaces图表

在这篇文章中&#xff0c;您将看到如何结合PrimeFaces和OmniFaces获得可缓存的图表。 为了使事情变得简单&#xff0c;我们将使用PrimeFaces 折线图。 对于这种图表&#xff0c;我们可以在页面中使用<p&#xff1a;chart />标记和一个简单的托管bean。 因此&#xff0c;在…

ReactNative——打包发布

1、生成一个签名密钥 ‘ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 ’ 生成一个my-release-key.keystore的密钥库文件 2、找到路径/android/app/src/main,并在该目录下新建assets文件夹 3、在工程…

oracle版本说明,Oracle版本说明

Oracle 的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a; 注意&#xff1a; 在Oracle 9.2 版本之后&#xff0c; oracle 的maintenance release number 是在Oracle的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a;注意&#xff1a;在Oracle 9.2版本之…

Opserver配置Redis、SqlServer监控

简介 Opserver是Stack Overflow的开源监控解决方案&#xff0c;由Stack Exchange发布&#xff0c;基于.NET框架构建。开源地址&#xff1a;https://github.com/opserver/Opserver 使用 github下载源代码编译后&#xff0c;发布至IIS&#xff0c;需要先修改Opserver/Config目录下…

Linux挂载多个文件夹读不出,FTP不显示Linux挂载文件夹怎么办?-处理FTP不显示Linux挂载文件夹的方案 - 河东软件园...

最近有位用户向小编反映&#xff0c;声称自己在Linux中使用vsftpd启FTP服务&#xff0c;并在FTP用户下挂载一个Windows的共享盘&#xff0c;但是登陆FTP后却无法显示该挂载的共享盘。出现这种问题真是令人十分头疼呢&#xff0c;想要快速解决这个问题又找不到合适的方法。该怎么…

以太坊智能合约Hello World示例程序

简介 以太坊(Ethereum)是一提供个智能合约(smart contract)功能的公共区块链(BlockChain)平台. 本文介绍了一个简单的以太坊智能合约的开发过程. 开发环境 在以太坊上开发应用&#xff0c;首先需要安装其客户端&#xff0c;本文使用基于Go语言的Geth, 其官网为https://github.c…

Java到LDAP教程(包括如何安装LDAP服务器/客户端)

本教程将向您展示如何编写Java代码以与LDAP交互。 但是在执行此操作之前&#xff0c;我们需要在计算机上设置LDAP服务器和客户端。 如果此时您不确定到底是什么LDAP&#xff0c;建议您参考这篇文章&#xff0c;其中提供了一个很好的定义示例。 &#xff08;简而言之&#xff0…

在linux下赋予000权限,【linux】对于文件权限的理解

本篇博文旨在介绍linux下的权限问题&#xff1b;介绍了Linux下&#xff0c;查看权限、修改权限等方法&#xff1b;并通过分别在超级用户(root)和普通用户下进行测试&#xff0c;探索不同等级的用户进入目录需要的权限&#xff0c;以及进入后&#xff0c;显示和创建文件需要的权…

手把手教你制作简易计算器

实现过程&#xff1a; HTMLCssJS 具体通过标签实现计算器整个的框架 通过Css样式实现计算器页面布局及框架优化 通过JavaScript算法实现计算器计算过程 次实验过程&#xff1a; 背景图片背景音乐&#xff08;看个人意愿加&#xff01;&#xff09; 安排&#xff1a; <!--HT…

安装tron_具有Tron效果的JavaFX 2 Form

安装tron这是一个具有TRON效果的简单JavaFX登录表单。 在此示例中&#xff0c;我使用CSS设置TextField和Button的样式。 这是CSS和Effect代码的片段&#xff1a; .text-field{-fx-background-color: transparent;-fx-border-color: #00CCFF;-fx-text-fill: white; }.password-f…

在Spring 4.2中更简单地处理异步事务绑定事件

介绍 如您可能已经知道的&#xff08;例如&#xff0c;从我以前的博客文章中 &#xff09;&#xff0c;不再需要创建一个单独的类&#xff0c;该类使用onApplicationEvent方法实现ApplicationListener以便能够对应用程序事件做出响应&#xff08;包括来自Spring Framework本身和…

linux chattr 无权限,从零开始学习Linux(二十八):文件权限之chattr权限

1、chattr命令命令格式&#xff1a; chattr [-] [选项] 文件名或者目录名&#xff1b;参数说明&#xff1a;&#xff1a;增加权限&#xff1b;-&#xff1a;删除权限&#xff1b; 等于某权限&#xff1b;选项说明&#xff1a;i&#xff1a;如果对文件设置i属性&#xff0c;则不…

初等数论及其应用——中国剩余定理

在线性代数中&#xff0c;我们用高斯消元解决多元的线性方程组&#xff0c;而在数论中&#xff0c;面对一元变量的线性模方程组&#xff0c;我们利用中国剩余定理去求解x。 转载于:https://www.cnblogs.com/rhythmic/p/5928483.html

linux c 11 运行库,11.1.3 运行库与I/O

11.1.3 运行库与I/O在了解了glibc和MSVC的入口函数的基本思路之后&#xff0c;让我们来深入了解各个初始化部分的具体实现。但在具体了解初始化之前&#xff0c;我们要先了解一个重要的概念&#xff1a;I/O。IO(或I/O)的全称是Input/Output&#xff0c;即输入和输出。对于计算…

linux windows 丢失,Win10预览版9879硬盘丢失的Linux解决方案

IT之家讯 12月3日消息&#xff0c;最近IT之家论坛网友九仙仙总结了Win10预览版9879硬盘问题的解决方法&#xff0c;并在论坛中发布出来。经测试&#xff0c;此为快速有效的解决方法&#xff0c;故公之于众供朋友们参考。以下为作者原文。开头说明两点&#xff1a;1、这是我个人…