当前位置:首页 » 软件设计 » 解耦设计

解耦设计

发布时间: 2020-12-02 18:46:47

A. 程序设计中,为什么要解耦

此文转载的。觉得非常精辟。希望对正在学面向对像设计的你有所帮助,总的说来。有这么多设计模式,要用面向对像。都是为了解耦。力在降低各模块的依赖,提高重用。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 在程序设计过程中,最头痛的不是逻辑的编写过程,更不是算法的设计,最头痛的是如何设计出一个容易维护,扩展性好的东西。而耦合问题是最令人烦躁的,它的存在很多人发现不了,所以往往无从入手,真是有苦自己知了,呵呵。以下是我的经验之谈。我通过例子来体现耦合问题的影响。第一个例子: 在开发游戏的时候,有很多实体类,通常属于一条相同的生产线,如地形:土地,石块,草地,雪地,沼泽,等,具有相同特征而功能不同的对象,新手们,一般是在程序的某个地方,默默地new出这些应用到的对象,恩,一个,两个,三个,慢慢你会发现程序中不断出现新对象,如果存在10对象实体,而对象的提供了5个接口函数,也就是,读写操作,在程序中出现了几十次,这时,我不要这个对象了,换成其他了,那你是不是要改几十处地方?恩,问题就是这里了,没有一个抽象层面,必然会导致维护困难,当对象扩大化到100个,这是一个维护噩梦,当然,单单一个抽象层面是无法解决new实体对象的事实的,这个是令人头痛的问题,管理对象的生产是一个很重要的模块,这里对于某些高级语言,如C++,唯一比较好缓解的是工厂模式中的工厂方法,我比较喜欢用这个模式去管理对象,简单工厂就不要学了,没什么实际意义,而我可以很明确告诉你,第一个带你入门,第一个让你打开眼界的模式绝对是工厂方法模式,如果真想学学模式,请先研究工厂方法,其使用的意义在于把对象的生成延迟到子类,而统一使用接口去管理对象的初始化,把变化点分离出调用端,这里我只能告诉你为什么要用设计模式,什么情况下要用,理不理解就靠你自己的实际经验和悟性了,本人悟性不高,当时在学习设计模式的时候,看了很多次依然没有领悟到工厂模式的奥妙,直至代码量和项目经验不断地增加才顿悟出过中道理,确实是很难用文字来表达,不过以上的例子足够证明它的意义,根源都是为了解耦。第二个例子: 由于我一直都在开发游戏,所以所举得例子不免都和游戏有关,这个例子,如果你写过一个完整的游戏,必然有所了解,游戏总会有界面,而其中比较典型的界面是,菜单界面,菜单里有按钮,对吧?恩,这个问题,我当时设计就考虑,菜单类和按钮类究竟是分开还是合在一起?想来想去,由于当时设计观念没到家,最后把它们合在一起了,这种做法绝对是不好的,为什么呢?我们不要从概念上入手解释,通俗的讲法就是,菜单和按钮的对应关系是一对多,对吧?没有一种固定的关系,有可能1对2,1对3,1对10等等,所以把它们写在一起,是很僵化的,就单凭这种证明就可以发现,它们要分开,而它们最后的表现是合在一起,通过组合的方式,把按钮的抽象层面注入到菜单里面,就可以动态地生成完整的菜单,所谓的组合方式,不就是,菜单里面有一个存放按钮引用的集合,希望你明白我所说的,具体我就不解释了。 结语:我认为这里是全篇文章最重要的,比任何所谓的分层理论都重要,因为它更通俗,更实际,很多人,并不是面向对象学得不好,但总觉得差什么,我也经历过,面向对象,封装,多态,继承,学过的人都知道,都认为自己了解了,其实不然,很多很奇妙的因素,让你误解了,大部分的人认为封装很简单,其实大错特错了,封装是最奇妙的,也是最难用好的。只要你记住以下原则,必然能很好地用好封装,成员尽量使用protected和private,不要去使用public.尽量不要提供给外部对成员属性getter的接口,意思就是不要暴露成员,为什么要这样呢?很简单,暴露成员属性必然会导致自身业务的外泄,业务外泄,会导致,类之间的无谓耦合,如A类有成员a,而程序需要对a数据改变,而你提供一个B类可以访问a成员的getter接口,B类在其自身对a修改,看上去没什么,实际上,就是类耦合,对a的修改是类A的职务,由于习惯的提供getter,导致了,在写类B的时候错误地添加了修改业务,使类A内聚能力降低,程序逐步庞大必然会越发明显,真所谓牵一发动全身,小程序确实是很难看出问题所在。就写那么多,本人愚见,希望对你有帮助。

B. 《c#程序设计》中的“解耦”是什么意思

就是程序的各个部分之间不必互相依赖,可以独立开发、编译、测试。这样有利于程序的多人合作开发、扩展重用、修改维护等

C. 自动控制的解耦设计

但是解耦设计是个什么概念?解耦设计实际上要求输入输出之间的关系,我1控制1,2控制2,用我们的术语来说这是响应特性,并不表示我的反馈系统有些什么特点,有些什么要求。但是,我看到国内有些杂志,有人对这个观点还不太同意,大家可能以后会接触到。你用的时候要跟下面的一个实际物理系统是连接,实际物理系统跟你数学模型总有点不一样。假如我只允许你只能在我这样的数学方程式下,系统是好的,那你没用的,你做出来系统不能用。我们的设计要允许这两个有差别,这个允许差别就叫有鲁棒性,所以鲁棒性不是我们一般数学上的问题。就是实际上提出来的问题,就是解决你这个设计到底能不能用的问题。所谓我有鲁棒性,就是你的设计允许有这个差别,允许有不确定性,你在纸面上设计的系统做成控制器以后,到实际上用,照样有这个性能,这才叫你的设计具有鲁棒性。所以这个鲁棒性的概念就是80年代提出来的,逐渐形成了我们现在说的现代后控制理论。一个经典控制理论,现代控制理论,后边现代后控制理论,这个里边研究对象不一样,一个传递函数,一个状态空间模型。研究内容呢,我们讲现在我们谈的是奇异值、鲁棒稳定性的问题,在前面的经典的控制理论里边,是讲带宽、讲裕度,现代控制理论里边是特征值、方差和范数,这些是在LQG,都是属于现代控制理论的范畴,用的实际计算工具呢,就伯德(Bode)图、奈奎斯特图、尼可尔斯图。
他在那本1947年麻省理工学院出的教材里边,提出来介绍这个尼可尔斯图,这个尼可尔斯图从40年代到现在,也是有50年了。尼可尔斯50年前提出来的PID整定表,提出来设计用的尼可尔斯图。50年后的今天还在用,还在用它来做设计,可见到他这个人的水平。为了纪念这个尼可尔斯,从1996年开始,世界自动控制联合会,就是IFAC(国际自动控制联合会),专门设立了一个尼可尔斯奖,专门奖给设计上做出贡献的人。1996年给过一个奖,1999年给过奖。每三年IFAC开会的时候评审一次,就知道这个尼可尔斯这个作用了。所以大家再要有机会的话,能看到他最早的这本书实际上是经典著作。
现代控制理论用黎卡提方程。我们现在用的,现代后控制理论里用的是线性矩阵不等式,线性矩阵不等式的解法都是用MATLAB的软件来解的,所以整个计算工具,就是我们考虑的对象、研究内容等等都出现了变化。所以有人把它叫做现代后控制理论,我们今天主要把这个过程,怎么从个别的技术最后形成一门学科?这个学科分成几个阶段?给大家介绍了一下。
这个就是我主要介绍的一些内容,我这里要说的就是这里边包括一些年份,有些事实。譬如说他做了梦,这个都是有据可查的,不是我瞎说的。但是这里边对人的评论,一些观点可能就是我的,所以假如有说错的希望大家批评指正。我主要介绍的内容就这些,谢谢大家。
提问:听了您刚才的介绍,我有几个地方想向您请问一下,请问王教授,您刚才介绍的是自动控制发展的历程,那么就您个人的意见和看法,那么咱们自动控制的未来的发展方向,有可能是哪个方向?就培养我们这些学生而言,我们怎么样提高自己自身素质来向这个方向来靠拢。
答:自动控制我比较是有这么一个观点:你不能光从搞控制的人来说,我能想出一些方向,我就指给你往前走,我能解决你好多问题。我举例子来说,瓦特的离心调速器,这个控制系统是先有调速器,先有调节系统,为了提高精度,把这个球做大,做大了以后,系统不稳定了,出了问题去解决它。就是说首先是技术推进它的,这是一个大方向,大家可能现在学理论,就是一些新的理论里边,可能是最优控制吧,Pontryagin,中文叫庞特里亚金,庞特里亚金(Pontryagin)的那个极大值原理,到底怎么产生的,我倒想说说这个过程,所以就可能知道,我搞控制的人怎么搞。
庞特里亚金(Pontryagin)的那个
极大值原理,首先在1953年,前苏联开了一个自动控制会议,当时是一些搞工程技术的人员,提出最优控制,就是我们现在说的Bang-Bang(开关)控制。这个是有名的人,是费尔德鲍曼(A.A.Feldbaum)他提出的。庞特里亚金(Pontryagin)是数学家,他在控制会议上听出点门道来了,他是数学所的,完了开完会以后,他把费尔德鲍曼请到他们数学所做讲座,讲他的最优控制。讲座完了以后,1956年庞特里亚金(Pontryagin)的那个极大值原理就出来了。我就说他数学家先能把问题抽象出来,也跟刚才瓦特的离心调速器一样,受到当时很多技术的影响,受到好多的一些知识的积累,各方面的知识积累,受到启发,才出来那个极大值原理。

D. 如何实现控制解耦,怎么进行电路设计和参数配置

解耦就是用数学方法将两种运动分离开来处理问题逆变器中一个控制参数或信号可能会被不同控制系统调用解耦使多耦合系统某个参数独立出来易于控制

E. 常用的解耦设计方法有哪几种

C)(见线性系统理论),往往使系统难于控制,C化成为解耦规范形,取di=n-1。[1] [编辑本段]相关解法 选择适当的控制规律将一个多变量系统化为多个独立的单变量系统的控制问题,i=1,x为状态向量,C戁AB=0时.吉尔伯特比较深入和系统地加以解决,就称系统实现了完全解耦,2,这是上述方法的主要缺陷。这种基于精确对消的解耦方法,C戁AB=0…,使构成的多变量控制系统的每个输出变量仅由一个输入变量完全控制。解耦控制是多变量系统控制的有效手段。利用结构指数可组成解耦性判别矩阵,B,基本目标是设计一个控制装置。其一是围绕Morgan问题的一系列状态空间方法,每一个输出又只受到一个控制的作用:首先,静态解耦控制要比完全解耦控制优越,将输出矩阵C表示为 C戁为C的第i个行向量,这就构成了“耦合”系统。在解耦控制问题中。随后、B,基于特征结构配置的解耦控制和基于H_∞的解耦控制理论。给定n维多输入多输出线性定常系统(A。由于耦合关系。 在过去的几十年中,…。在对系统参数变动的敏感方面:基于Morgan问题的解耦控制,但直到1969年才由E。解耦控制是一个既古老又极富生命力的话题,N=0,其闭环控制系统的传递函数矩阵G(s)当s=0时为非奇异对角矩阵,di取为使CiAB≠0的最小正整数 N。这里,m为输出向量的维数,并且它的闭环传递函数矩阵G(s)当s=0时即等于D,其设计目标是被控对象的对角优势化而非对角化,都会导致解耦性的破坏,m;但当s≠0时,早在30年代末就已提出,不确定性是工程实际中普遍存在的棘手现象,系统可用状态反馈和输入变换、性能很差:当C戁B=0、C满足关于秩的关系式,G(s)不是对角矩阵,…,L为输入变换矩阵,式中D为非奇异对角矩阵。由这样选取的K和L所构成的控制系统必定是稳定的,即互不影响的控制,u为输入向量,通过将它的系数矩阵A,这是一种近似解耦方法。其二是以Rosenbrock为代表的现代频域法。再规定一组结构指数di(i=1,这种方法属于全解耦方法,也可采用输出反馈结合补偿装置的形式,其各对角线上元的值可根据其他性能指标来选取,B;否则、锅炉调节等工业控制系统中,C),不断出现一些较复杂的设备或装置,使控制系统的传递函数矩阵为非奇异对角矩阵: 已证明,有两大系列的解耦方法占据了主导地位,n-1。[3] [编辑本段]工程背景 在现代化的工业生产中,选取输入变换矩阵 。在实现解耦以后,如果系统可用状态反馈来稳定,已经应用在发动机控制,一个多输入多输出控制系统就解除了输入,选择K使闭环系统矩阵(A-BK)的特征值均具有负实部。互不影响的控制方式,这些设备或装置的本身所要求的被控制参数往往较多,它对系统参数的变动很敏感,且不同的输出由不同的输入控制,使其实现静态解耦的状态反馈矩阵K和输入变换矩阵L可按如下方式选择。使多变量系统实现完全解耦的控制器,系统参数的不准确或者在运行中的某种漂移都会破坏完全解耦,因此,从而实现自治控制。对于满足可解耦性条件的多变量系统,也即系统中每一个控制回路的输入信号对所有回路的输出都会有影响,则系统可通过引入状态反馈和输入变换来实现静态解耦,K为状态反馈矩阵,如果引入适当的控制规律,…,既可采用状态反馈结合输入变换的形式。对于满足解耦条件的系统,必须设置多个控制回路对该种设备进行控制,v为参考输入向量。多变量系统在实现了静态解耦后。 完全解耦控制 对于输出和输入变量个数相同的系统。由于控制回路的增加,2。 静态解耦控制 一个多变量系统在单位阶跃函数(见过渡过程) 输入作用下能通过引入控制装置实现稳态解耦时,且系数矩阵A,往往会在它们之间造成相互影响的耦合作用,1,B,而每一个回路的输出又会受到所有输入的作用、输出变量间的交叉耦合。完全解耦控制方式的主要缺点是。对于线性定常系统(A,因而更适宜于工程应用。要想一个输入只去控制一个输出几乎不可能,便可容易地求得所要求的状态反馈矩阵K和输入变换矩阵L。 [编辑本段]主要分类 三种解耦理论分别是.G,遇到被控对象的任何一点摄动,实现完全解耦的充分必要条件是矩阵E为非奇异,即通过引入控制规律u=-Kx+Lv,m),从而可以在很大程度上避免全解耦方法的缺陷。多变量系统的解耦控制问题,2,使每一个输入只控制相应的一个输出基本解释 所谓解耦控制系统,就称实现了静态解耦控制,就是采用某种结构,寻找合适的控制规律来消除系统种各控制回路之间的相互耦合关系

F. 什么是解耦以及常用的解耦方法

1、耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。 解耦就是用数学方法将两种运动分离开来处理问题,常用解耦方法就是忽略或简化对所研究问题影响较小的一种运动,只分析主要的运动。

2、常用的解耦方法:

完全解耦控制:对于输出和输入变量个数相同的系统,如果引入适当的控制规律,使控制系统的传递函数矩阵为非奇异对角矩阵,就称系统实现了完全解耦。

静态解耦控制:一个多变量系统在单位阶跃函数(见过渡过程) 输入作用下能通过引入控制装置实现稳态解耦时,就称实现了静态解耦控制。

软件解耦:说起软件的解耦必然需要谈论耦合度,降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些现有的方法将耦合度降至最低。

(6)解耦设计扩展阅读:

三种解耦理论分别是:基于Morgan问题的解耦控制,基于特征结构配置的解耦控制和基于H_∞的解耦控制理论。

在过去的几十年中,有两大系列的解耦方法占据了主导地位。

其一是围绕Morgan问题的一系列状态空间方法,这种方法属于全解耦方法。这种基于精确对消的解耦方法,遇到被控对象的任何一点摄动,都会导致解耦性的破坏,这是上述方法的主要缺陷。

其二是以Rosenbrock为代表的现代频域法,其设计目标是被控对象的对角优势化而非对角化,从而可以在很大程度上避免全解耦方法的缺陷,这是一种近似解耦方法。

G. 解耦的简介

数学中解耦来是指使含源有多个变量的数学方程变成能够用单个变量表示的方程组,即变量不再同时共同直接影响一个方程的结果,从而简化分析计算。通过适当的控制量的选取,坐标变换等手段将一个多变量系统化为多个独立的单变量系统的数学模型,即解除各个变量之间的耦合。最常见的有发电机控制,锅炉调节等系统。软件开发中的耦合偏向于两者或多者的彼此影响,解耦就是要解除这种影响,增强各自的独立存在能力,可以无限降低存在的耦合度,但不能根除,否则就失去了彼此的关联,失去了存在意义。 三种解耦理论分别是:基于Morgan问题的解耦控制,基于特征结构配置的解耦控制和基于H_∞的解耦控制理论。
在过去的几十年中,有两大系列的解耦方法占据了主导地位。其一是围绕Morgan问题的一系列状态空间方法,这种方法属于全解耦方法。这种基于精确对消的解耦方法,遇到被控对象的任何一点摄动,都会导致解耦性的破坏,这是上述方法的主要缺陷。其二是以Rosenbrock为代表的现代频域法,其设计目标是被控对象的对角优势化而非对角化,从而可以在很大程度上避免全解耦方法的缺陷,这是一种近似解耦方法。

H. 解耦控制系统有哪些典型的解耦方案,各方案有何特点

基本解释 所谓解耦控制系统,就是采用某种结构,寻找合适的控制规律来消除系统种各控制回路之间的相互耦合关系,使每一个输入只控制相应的一个输出,每一个输出又只受到一个控制的作用。 解耦控制是一个既古老又极富生命力的话题,不确定性是工程实际中普遍存在的棘手现象。解耦控制是多变量系统控制的有效手段。[3] [编辑本段]工程背景 在现代化的工业生产中,不断出现一些较复杂的设备或装置,这些设备或装置的本身所要求的被控制参数往往较多,因此,必须设置多个控制回路对该种设备进行控制。由于控制回路的增加,往往会在它们之间造成相互影响的耦合作用,也即系统中每一个控制回路的输入信号对所有回路的输出都会有影响,而每一个回路的输出又会受到所有输入的作用。要想一个输入只去控制一个输出几乎不可能,这就构成了“耦合”系统。由于耦合关系,往往使系统难于控制、性能很差。 [编辑本段]主要分类 三种解耦理论分别是:基于Morgan问题的解耦控制,基于特征结构配置的解耦控制和基于H_∞的解耦控制理论。 在过去的几十年中,有两大系列的解耦方法占据了主导地位。其一是围绕Morgan问题的一系列状态空间方法,这种方法属于全解耦方法。这种基于精确对消的解耦方法,遇到被控对象的任何一点摄动,都会导致解耦性的破坏,这是上述方法的主要缺陷。其二是以Rosenbrock为代表的现代频域法,其设计目标是被控对象的对角优势化而非对角化,从而可以在很大程度上避免全解耦方法的缺陷,这是一种近似解耦方法。[1] [编辑本段]相关解法 选择适当的控制规律将一个多变量系统化为多个独立的单变量系统的控制问题。在解耦控制问题中,基本目标是设计一个控制装置,使构成的多变量控制系统的每个输出变量仅由一个输入变量完全控制,且不同的输出由不同的输入控制。在实现解耦以后,一个多输入多输出控制系统就解除了输入、输出变量间的交叉耦合,从而实现自治控制,即互不影响的控制。互不影响的控制方式,已经应用在发动机控制、锅炉调节等工业控制系统中。多变量系统的解耦控制问题,早在30年代末就已提出,但直到1969年才由E.G.吉尔伯特比较深入和系统地加以解决。 完全解耦控制 对于输出和输入变量个数相同的系统,如果引入适当的控制规律,使控制系统的传递函数矩阵为非奇异对角矩阵,就称系统实现了完全解耦。使多变量系统实现完全解耦的控制器,既可采用状态反馈结合输入变换的形式,也可采用输出反馈结合补偿装置的形式。给定n维多输入多输出线性定常系统(A,B,C)(见线性系统理论),将输出矩阵C表示为 C戁为C的第i个行向量,i=1,2,…,m,m为输出向量的维数。再规定一组结构指数di(i=1,2,…,m):当C戁B=0,C戁AB=0…,C戁AB=0时,取di=n-1;否则,di取为使CiAB≠0的最小正整数 N,N=0,1,2,…,n-1。利用结构指数可组成解耦性判别矩阵: 已证明,系统可用状态反馈和输入变换,即通过引入控制规律u=-Kx+Lv,实现完全解耦的充分必要条件是矩阵E为非奇异。这里,u为输入向量,x为状态向量,v为参考输入向量,K为状态反馈矩阵,L为输入变换矩阵。对于满足可解耦性条件的多变量系统,通过将它的系数矩阵A,B,C化成为解耦规范形,便可容易地求得所要求的状态反馈矩阵K和输入变换矩阵L。完全解耦控制方式的主要缺点是,它对系统参数的变动很敏感,系统参数的不准确或者在运行中的某种漂移都会破坏完全解耦。 静态解耦控制 一个多变量系统在单位阶跃函数(见过渡过程) 输入作用下能通过引入控制装置实现稳态解耦时,就称实现了静态解耦控制。对于线性定常系统(A,B,C),如果系统可用状态反馈来稳定,且系数矩阵A、B、C满足关于秩的关系式,则系统可通过引入状态反馈和输入变换来实现静态解耦。多变量系统在实现了静态解耦后,其闭环控制系统的传递函数矩阵G(s)当s=0时为非奇异对角矩阵;但当s≠0时,G(s)不是对角矩阵。对于满足解耦条件的系统,使其实现静态解耦的状态反馈矩阵K和输入变换矩阵L可按如下方式选择:首先,选择K使闭环系统矩阵(A-BK)的特征值均具有负实部。随后,选取输入变换矩阵 ,式中D为非奇异对角矩阵,其各对角线上元的值可根据其他性能指标来选取。由这样选取的K和L所构成的控制系统必定是稳定的,并且它的闭环传递函数矩阵G(s)当s=0时即等于D。在对系统参数变动的敏感方面,静态解耦控制要比完全解耦控制优越,因而更适宜于工程应用。

I. "静态解耦"和"动态解耦"分别指什么

静态解耦就是系统各变量在稳态条件下进行解耦,动态解耦是系统进入动态后的解版耦。静态解耦比权较理想化,可以通过相对放大系数、不变性原理和对角线法实现解耦,动态解耦意味着耦合程度是时变的,有些情况下可以近似静态解耦来完成,有的情况不行。具体可以学习文献《自适应动态解耦的设计》

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837