当前位置:文档之家› 离散化方法介绍及其区别

离散化方法介绍及其区别

离散化方法介绍及其区别
离散化方法介绍及其区别

有限差分法、有限元法、有限体积法等离散方法介绍

https://www.doczj.com/doc/a615224327.html, & https://www.doczj.com/doc/a615224327.html, yjs808

一、有限差分方法(F inite D ifference M ethod, FDM)

有限差分方法是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以T aylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而 建立以网格节点上的值为未知数的代数方程组。该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法,较多用于求解双曲型和抛物型问题。用它求解边界条件复杂,尤其是椭圆型问题不如有限元法或有限体积法方便。

对于有限差分格式,从格式的精度来划分,有一阶格式、二阶格式和高阶格式。从差分的空间形式来考虑,可分为中心格式和迎风格式。考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。

构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。

二、有限元方法(F inite E lement M ethod, FEM)

有限元方法的基础是变分原理和加权余量法,其基本求解思想是:把计算域划分为有限个互不重叠的单元,在每个单元内,选择一些合适的节点作为求解函数的插值点,将微分方程中的变量改写成由各变量或其导数的节点值与所选用的插值函数组成的线性表达式,借助于变分原理或加权余量法,将微分方程离散求解。采用不同的权函数和插值函数形式,便构成不同的有限元方法。

有限元方法最早应用于结构力学,后来随着计算机的发展慢慢用于流体力学的数值模拟。在有限元方法中,把计算域离散剖分为有限个互不重叠且相互连接的单元,在每个单元内选择基函数,用单元基函数的线形组合来逼近单元中的真解,整个计算域上总体的基函数可以看为由每个单元基函数组成的,则整个计算域内的解可以看作是由所有单元上的近似解构成。

在数值模拟中,常见的有限元计算方法是由变分法和加权余量法发展而来的里兹法和伽辽金法、最小二乘法等。根据所采用的权函数和插值函数的不同,有限元方法也分为多种计算格式。从权函数的选择来说,有配置法、矩量法、最小二乘法和伽辽金法,从计算单元网格的形状来划分,有三角形网格、四边形网格和多边形网格,从插值函数的精度来划分,又分为线性插值函数和高次插值函数等。不同的组合同样构成不同的有限元计算格式。对于权函数,伽辽金(Galerkin)法是将权函数取为逼近函数中的基函数;最小二乘法是令权函数等于余量本身,而内

积的极小值则为对代求系数的平方误差最小;在配置法中,先在计算域 内选取N个配置点。令近似解在选定的N个配置点上严格满足微分方程,即在配置点上令方程余量为0。插值函数一般由不同次幂的多项式组成,但也有采用三角函数或指数函数组成的乘 积表示,但最常用的多项式插值函数。有限元插值函数分为两大类,一类只要求插值多项式本身在插值点取已知值,称为拉格朗日(Lagrange)多项式插值;另一种不仅要求插值多项式本身,还要求它的导数值在插值点取已知值,称为哈密特(Hermite)多项式插值 。单元坐标有笛卡尔直角坐标系和无因次自然坐标,有对称和不对称等。常采用的无因 次坐标是一种局部坐标系,它的定义取决于单元的几何形状,一维看作长度比,二维看作面积比,三维看作体积比。在二维有限元中,三角形单元应用的最早,近来四边形等 参元的应用也越来越广。对于二维三角形和四边形电源单元,常采用的插值函数为有Lagrange插值直角坐标系中的线性插值函数及二阶或更高阶插值函数、面积坐标系中的线性插值函数、二阶或更高阶插值函数等。

对于有限元方法,其基本思路和解题步骤可归纳为:(1) 建立积分方程,根据变分原理或方程余量与权函数正交化原理,建立与微分方程初边值问题等价的积分表达式,这是有限元法的出发点。(2) 区域单元剖分,根据求解区域的形状及实际问题的物理特点,将区域剖分为若干 相互连接、不重叠的单元。区域单元划分是采用有限元方法的前期准备工作,这部分工 作量比较大,除了给计算单元和节点进行编号和确定相互之间的关系之外,还要表示节 点的位置坐标,同时还需要列出自然边界和本质边界的节点序号和相应的边界值。 (3) 确定单元基函数,根据单元中节点数目及对近似解精度的要求,选择满足一定插值条 件的插值函数作为单元基函数。有限元方法中的基函数是在单元中选取的,由于各单元 具有规则的几何形状,在选取基函数时可遵循一定的法则。(4) 单元分析:将各个单元中的求解函数用单元基函数的线性组合表达式进行逼近;再将近似函数代入积分方程,并对单元区域进行积分,可获得含有待定系数(即单元中各节点 的参数值)的代数方程组,称为单元有限元方程。(5) 总体合成:在得出单元有限元方程之后,将区域中所有单元有限元方程按一定法则进 行累加,形成总体有限元方程。(6) 边界条件的处理:一般边界条件有三种形式,分为本质边界条件(狄里克雷边界条件 )、自然边界条件(黎曼边界条件)、混合边界条件(柯西边界条件)。对于自然边界条件,一般在积分表达式中可自动得到满足。对于本质边界条件和混合边界条件,需按一定法 则对总体有限元方程进行修正满足。

(7) 解有限元方程:根据边界条件修正的总体有限元方程组,是含所有待定未知量的封闭方程组,采用适当的数值计算方法求解,可求得各节点的函数值。

有限元法对椭圆型问题有很好的适应性。有限元法求解的速度比有限差分法和有限体积法慢,在商用CFD软件中应用并不广泛。目前的商用CFD软件中,FIDAP 采用的是有限元法。

三、有限体积法(F inite V olume M ethod, FVM)

有限体积法又称为控制体积法。其基本思路是:(1)将计算区域划分为一系列不重复的控制体积,并使每个网格点周围有一个控制体积;(2)将待解的微分方程对每一个控制体积积分,便得出一组离散方程。其中的未知数是网格点上的因变量的数值。为了求出控制体积的积分,必须假定值在网格点之间的变化规律,即假设值的分段分布的分布剖面。

从积分区域的选取方法看来,有限体积法属于加权剩余法中的子区域法;从未知解的近似方法看来,有限体积法属于采用局部近似的离散方法。简言之,子区域法属于有限体积发的基本方法。有限体积法的基本思路易于理解,并能得出直接的物理解释。离散方程的物理意义,就是因变量在有限大小的控制体积中的守恒原理,如同微分方程表示因变量在无限小的控制体积中的守恒原理一样。有限体积法得出的离散方程,要求因变量的积分守恒对任意一组控制体积都得到满足,对整个计算区域,自然也得到满足。这是有限体积法吸引人的优点。有一些离散方法,例如有限差分法,仅当网格极其细密时,离散方程才满足积分守恒;而有限体积法即使在粗网格情况下,也显示出准确的积分守恒。就离散方法而言,有限体积法可视作有限单元法和有限差分法的中间物。有限单元法必须假定值在网格点之间的变化规律(既插值函数),并将其作为近似解。有限差分法只考虑网格点上的数值而不考虑值在网格点之间如何变化。有限体积法只寻求网格点的结点值,这与有限差分法相类似;但有限体积法在寻求控制体积的积分时,必须假定值在网格点之间的分布,这又与有限单元法相类似。在有限体积法中,插值函数只用于计算控制体积的积分,得出离散方程之后,便可忘掉插值函数;如果需要的话,可以对微分方程中不同的项采取不同的插值函数。就离散方法而言,有限体积法可视作有限元法和有限差分法的中间产物。

四、有限分析法 ( F inite A nalysis M ethod, FAM )

有限分析法是由陈景仁于1981年提出的一种数值方法,对求解对流扩散型方程有较好的效果。该格式具有迎风性,并有希望与奇异摄动法配合求解高Re数问题。基本思想是:方程在整个求解域内一般难以找到解析解,但在局部区域内,当区域足够小,域内方程可由一常系数方程逼近时,可以近似地找到精确解,由此建立该解的中心点值和周围节点值的关系,即离散化方程,对于每一个小区域都建立这样的关系,就得到了一个大型方程组,求解后即可得到方程的数值解。

同有限差分法一样,用一系列网格线将区域离散,所不同的是每个节点与相邻8个邻点组成。在计算单元中把控制方程中的非线性项局部线性化,并对该单元上未知函数的变化作出假设,把所选定表达式中的系数和常数项用单元边界节点上未知的变量值来表示,这样该单元内的被求问题就转化为第一类边界条件下的一个定解问题,可以找出分析解;然后利用这一分析解,得出该单元中心点及边界上8个邻点上未知值间的代数方程,此即为单元中心点的离散方程。

五、边界元法 ( B oundary E lement M ethod, BEM )

上面四种方法都必须对整个区域作离散化处理,用分布在整个区域上的有限个节点上函数的近似值来代替连续问题的解。在边界元方法中应用格林函数公式,并通过选择适当的权函数把空间求解域的偏微分方程转换成为其边界上的积分方程,它把求解区中任一点的求解变量(如温度)与边界条件联系了起来。通过离散化处理,由积分方程导出边界节点上未知值的代数方程。解出边界上的未知值后就可以利用边界积分方程来获得内部任一点的被求函数之值。边界元法的最大优点是,可以使求解问题的空间维数降低一阶,从而使计算工作量及所需计算机容量大大减小。边界元法推广应用的一个最大限制是,需要已知所求解偏微分方程的格林函数基本解。虽然对不少偏微分方程这种基本解业已找出,但对

六、格子-玻尔兹幔方法 ( L attice-B oltzmann Method, LBM )

格子-玻尔兹幔方法是20世纪80年代中期出现并迅速发展起来的一种新的流体数值模拟方法。因其算法简单、计算效率高、并行性好以及能够模拟复杂边界条件等优点而受到广泛关注,并且已经在众多的领域取得了成功的运用,从简单的层流到复杂的湍流、多相流、热流动。

格子-玻尔兹幔方法是基于分子运动论的一种模拟流体流动的数值方法。在上述各种数值方法中,把本质上是离散的介质先假定是连续的,在此基础上建立起了N-S方程,然后又再把它离散化。在LMB中不再基于连续介质的假设,而是把流体看成是许多只有质量没有体积的微粒所组成,这些微粒可以向空间若干个方向任意运动。通过其质量、动量守恒的原理,建立起表征质点在给定的时刻位于空间某一个位置附近的概率密度函数。再通过统汁的方法来获得质点微粒的概率密度分布函数与宏观运动参数间的关系。

与以宏观连续方程的离散化为基础的传统数值方法不同,LBM是以分子运动论和统计力学为理论基础,从微观的粒子尺度出发,构造一个简化的运动论模型,此简化模型能够反映微观或细观过程的物理本质,并使其宏观统计特性遵循所期望的宏观守恒方程,如质量、动量和能量守恒方程。在宏观流体流动中应用这些简化运动论方法的基本前提是,流体的宏观动力学特性是众多微观粒子行为的统计平均的结果,并且宏观动力特性对微观物理特性的某些内在细节是不敏感的。通过简化的运动论方程,既可以避免求解如完整Boltzmann方程等复杂的动力学方程,又可避免对每个流体颗粒的分子动力学模化。

格子-玻尔兹幔方法在最近10年中发展得十分迅速。1991年Frisch撰文指出,格子-玻尔兹幔方法可以看成是Navier-Stokes方程差分法逼近的一种无限稳定的格式.至今,不仅稳态单相强制对流等温流动的领域已有许多成功的算例,而且还包括多相流,相界面及相变、多孔介质中的流动、自然对流换热等热交换现象、有自由表面的流动、流动的分歧、低Knudsen数的流动、互溶液体扩散系数的预测、非稳态流动,以及各向同性的湍流脉动等。另一方面这10年中格子-玻尔兹幔方法在数值计算处理的方法与技巧上也有相应的进展,这包括:不规则几何形状的处理、边界条件的处理、非均分格子及稳定性的分析等。

七、谱方法 ( S pectral M ethod, SM)

谱方法是一种高精度方法。当偏微分方程的解足够光滑时,谱方法给出的近似解将以很高的精度逼近微分方程的准确解,且收敛速度快。另一个特点是该方法所得到的近似解是对于整体计算域的近似,而不是局域的近似。这是区别于有限元法的重要特征。快速Fourier变换(FFT)的出现,进一步促进了谱方法的发展。谱方法有如下步骤:(1) 首先找到满足边界条件的函数族。这些函数之间应当是线性无关的;互相是正交的,即不同函数间相乘后在求解空间内积分为零;而且函数系应当是完备的,即任何域内逐段连续二次可积且满足边界条件的函数都可

以用函数族的线性组合无限一致逼近。(2) 任何函数可以用上述函数族中有限个函数的线性组合来近似。这一组合称作完备函数空间内一个子空间上的投影。其中线性组合的系数叫做在该“方向”上的“坐标”。(3) 将解的近似表达代入原方程,用函数族内的函数作为权函数做加权余量运算,可以得到关于“坐标”的微分方程。(4) 求解“坐标”微分方程后可得解的“坐标”,进而得到方程的解。谱方法的优点是精度高,但当解不够光滑时,特别是当有激波时,混淆误差极为严重。此外谱方法不宜用以计算带有复杂计算域和边界条件的问题。

另:多重网格方法(MultiGrid Method)

多重网格方法通过在疏密不同的网格层上进行迭代,以平滑不同频率的误差分量。具有收敛速度快,精度高等优点。

多重网格法基本原理:微分方程的误差分量可以分为两大类,一类是频率变化较缓慢的低频分量;另一类是频率高,摆动快的高频分量。一般的迭代方法可以迅速地将摆动误差衰减,但对那些低频分量,迭代法的效果不是很显著。高频分量和低频分量是相对的,与网格尺度有关,在细网格上被视为低频的分量,在粗网格上可能为高频分量。

多重网格方法作为一种快速计算方法,迭代求解由偏微分方程组离散以后组成的代数方程组,其基本原理在于一定的网格最容易消除波长与网格步长相对应的误差分量。该方法采用不同尺度的网格,不同疏密的网格消除不同波长的误差分量,首先在细网格上采用迭代法,当收敛速度变缓慢时暗示误差已经光滑,则转移到较粗的网格上消除与该层网格上相对应的较易消除的那些误差分量,这样逐层进行下去直到消除各种误差分量,再逐层返回到细网格上。

目前两层网格方法从理论上已证明是收敛的,并且其收敛速度与网格尺度无关(哈克布思,1988)。多重网格法是迭代法与粗网格修正的组合,经过证明迭代法可迅速地将那些高频分量去掉,粗网格修正则可以帮助消除那些光滑了的低频分量,而对那些高频分量基本不起作用。

在多重网格计算中,需要一些媒介把细网格上的信息传递到粗网格上去,同时还需要一些媒介把粗网格上的信息传递到细网格上去。限制算子是把细网格层上的残余限制到粗网格层上的算子,最简单的算子是平凡单射,另外还有特殊加权限制;插值算子是把粗网格层上的结果插值到细网格层上的算子,一般采用线性插值或完全加权限制算子。

近似求解的误差估计方法

共有三大类:单元余量法,通量投射法及外推法。

1. 单元余量法广泛地用于以FEM离散的误差估计之中,它主要是估计精确算子的余量,而不是整套控制方程的全局误差。这样就必须假定周围的单元误差并不相互耦合,误差计算采用逐节点算法进行。单元余量法的各种不同做法主要来自对单元误差方程的边界条件的不同处理办法。基于此,该方法能够有效处理局部的残余量,并能成功地用于网格优化程序。

2. 通量投射法的基本原理来自一个很简单的事实:精确求解偏微分方程不可能有不连续的微分,而近似求解却可以存在微分的不连续,这样产生的误差即来自微分本身,即误差为系统的光滑求解与不光滑求解之差。该方法与单元余量法一样,对节点误差采用能量范数,故也能成功地用于网格优化程序。

单元余量法及通量投射法都局限于局部的误差计算(采用能量范数),误差方程的全局特性没有考虑。另外计算的可行性(指误差估计方程的计算时间应小于近似求解计算时间)不能在这两种方法中体现,因为获得的误差方程数量,阶数与流场控制方程相同。

3. 外推法是指采用后向数值误差估计思想由精确解推出近似解的误差值。各类文献中较多地采用Richardson外推方法来估计截断误差。无论是低阶还是高阶格式,随着网格的加密数值计算结果都会趋近于准确解。但由于计算机内存与计算时间的限制,实际上不能采用这种网格无限加密的办法。由Richardson所发展起来的外推方法,可以利用在不同疏密网格上得出的结果估计相应的收敛解,可以估计所用离散方法截断误差的阶数,可以估计所得数值计算的截断误差。该方法有很大的局限性,不能简单地用于复杂湍流流动;并且在数值计算中数值解必须单调地趋近于其收敛值。而文献提出的单网格后向误差估计思想,在采用有限元法、有限体积法时均有应用,并且还用于网格优化程序,但该方法也不能用于复杂湍流流动的数值分析。

各种离散化方法之间的关系

研究表明,离散化方法是将微分方程变成等效的、近似的代数方程,这些方法原则上说都可以归结为加权余量法的一种。

设原待解的微分方程为

Lu f =

加权函数j W 与其余量相乘积分为零,即

()0(1,2,,j W Lu f d j N Ω?Ω==∫")

这与原方程在近似的意义上是等价的,当,N →∞j W 是完备的,则就与原方程

等价了。事实上,选用不同的j W 函数空间就构成了不同的离散化方法。

(1)有限差分法

选()j j W x x δ=?,其中δ为狄拉克(Dirac )函数,即

()()()j j x x f x dx f x δ+∞

?∞?=∫

为了说明这种权函数的选用可以得到有限差分法,这里以下面的方程为例。

方程为

22001d u u x dx

?=<< 它的等效问题为

22()j d u W u dx dx +∞?∞0?=∫

由于j W 为Dirac 函数,故得

22()j x x d u u dx

=0?= 设11(,j j )x x ?+为一单元,在其上

111e

e e 1j j j j j u N u N u N u j ??+=+++

为简单起见,设,并选

11j j j j x x x x x +??=?=Δ=Δ12

212()2()()()2e j e j e j x x N x x x N x x x N x ?+Δ??=?

?Δ<<Δ?Δ?Δ?Δ+?=??Δ<<Δ?Δ?Δ+?=?Δ<<Δ?Δ?

故222112222212e e e j j j d N d N d N dx dx dx

?+==?ΔΔ21=Δ 因此代入等效方程中可得

21122

2()j j j j x x j u u u d u u u dx ?+=0?+?=?=Δ 这实际就是中心差分格式。

(2)有限解析法

这里的权函数也是Dirac 函数,但插值函数作了改变。如求解方程

222d u du A f dx dx

?= 引入02f u u x A

=?,则代入得(注意,A f 均为常数) 200220d u du A dx dx

?= 选形函数1,e

e j j N N ±如下

2212221122(2)/2(2)/1A e A j e A j A e A j e N x e D D D

N ch A D xsh A D e D e N x e D D D Δ?Δ+?Δ?Δ=?++x x x ??Δ?=ΔΔ+Δ????Δ?Δ=??+??

其中

22(1)A D e ?Δ=Δ?将它们代入

2002(2j x x d u du A dx dx

=0?= 可得

00w w e e p C u C u u 0+= 其中22112(2)2(2)

A A w e e e C C sh A sh A ΔΔ

??==ΔΔ 这就是有限解析法得到的离散化方程的形式。

(3)有限元法

由变分原理得到有限元法时权函数即为u δ(函数的变分)。

(4)谱方法

选得完备函数空间{}n ?后,其元素n ?就是权函数。在配置法中(伪谱法),权函数为(j )x x δ?,但测试函数为n ?。

(5)边界元法

这里的全函数为方程

0(|)Lu P P δ=

的基本解,而原方程为

0Lu f +=

总而言之,各种离散化方法可以归结为加权余量法的一种,有些可以明显看出,有些比较隐讳。

最后要指出,新的离散化方法的建立有赖于数学上或物理上的启示,成功与否在于它的有效性,特别要能解决某一方面的问题,这就有生命力。有些方法一

开始时并不要求数学上得到严格的证明,而往往通过使用时的有效性来验证,很多非线性问题的数值方法就是这样,至今尚未得到证明。

参考文献:苏德铭,黄素逸,计算流体力学基础,清华大学出版社,1997年。

机器学习处理数据为什么把连续性特征离散化

机器学习处理数据为什么把连续性特征离散化 在学习机器学习中,看过挺多案例,看到很多人在处理数据的时候,经常把连续性特征离散化。为此挺好奇,为什么要这么做,什么情况下才要做呢。 一、离散化原因 数据离散化是指将连续的数据进行分段,使其变为一段段离散化的区间。分段的原则有基于等距离、等频率或优化的方法。数据离散化的原因主要有以下几点: 1、算法需要 比如决策树、朴素贝叶斯等算法,都是基于离散型的数据展开的。如果要使用该类算法,必须将离散型的数据进行。有效的离散化能减小算法的时间和空间开销,提高系统对样本的分类聚类能力和抗噪声能力。 2、离散化的特征相对于连续型特征更易理解,更接近知识层面的表达 比如工资收入,月薪2000和月薪20000,从连续型特征来看高低薪的差异还要通过数值层面才能理解,但将其转换为离散型数据(底薪、高薪),则可以更加直观的表达出了我们心中所想的高薪和底薪。 3、可以有效的克服数据中隐藏的缺陷,使模型结果更加稳定 二、离散化的优势 在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点: 1. 离散特征的增加和减少都很容易,易于模型的快速迭代; 2. 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展; 3. 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰; 4. 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;

连续传递函数离散化的方法与原理

目录

第一章 模拟化设计基础 数字控制系统的设计有两条道路,一是模拟化设计,一是直接数字设计。如果已经有成熟的模拟控制器,可以节省很多时间和部分试验费用,只要将模拟控制器离散化即可投入应用。如果模拟控制器还不存在,可以利用已有的模拟系统的设计经验,先设计出模拟控制器,再进行离散化。 将模拟控制器离散化,如果用手工进行,计算量比较大。借助数学软件MATLAB 控制工具箱,可以轻松地完成所需要的全部计算步骤。如果需要的话,还可以使用MATLAB 的SIMULINK 工具箱,进行模拟仿真。 第一节 步骤 步骤1 模拟控制器的处理 在数字控制系统中,总是有传输特性为零阶保持器的数模转换器(DAC ),因此,如果模拟控制器尚未设计,则应以下 图的方式设计模拟控制器,即在对象前面加上一个零阶保持器,形成一个新对象Ts 1e G s s ()--,然后针对这个新对象求模拟 控制器D(s)。事实上,模拟控制器一般是已经设计好的,无法或不方便更改了,离散化后的系统只好作为近似设计了。 然而,按照上述思路,可否将已有的控制器除以一个零阶保持器再离散化呢?还没有这方面的实际经验。 以下假设选定的G(s),D(s)如下图,而且不对G(s)作添加保持器的预处理。 步骤2 离散化模拟控制器 离散化模拟控制器之前,先要确定离散化算法和采样时间。离散化算法有好几种,第二章中有详细的论述,现假定采用双线性变换法。确定采样时间,需要考虑被控对象的特性,计算机的性能,以及干扰信号的影响等,初步可按采样时间T<,Tp 为被控对象时间常数,或T=~τ,为被控对象的纯滞后,初步确定后再综合平衡其它因素,当然这需要一定的经验,现在假定取秒。 假设模拟控制器为s 2 D s 8s 15 +=?+(),在MATLAB 中,用c2d 函数进行离散化,过程为: 转换结果为: 步骤3 检验数字控制器的性能 数字控制器的性能项目比较多,我们仅以直流增益,频率特性,零极点分布说明。 直流增益 dcgain(dz) 返回直流增益 频率特性 bode(ds,'r',dz,'g') 伯德图,见下页左图 零极点分布 pzmap(dz) 零极点分布图,见下页右图 步骤4 离散化控制对象 为了进行模拟仿真,需要对控制对象进行离散化,由于步骤1所说的原因,应把被控对象视为零阶保持器与原对象的串连,即应对 Ts 1e G s s ()--进行离散化,这时可在c2d 函数中使用零阶保持器(zoh)方法,如果认为不需要添加零阶保持器,即直接对G(s)离散化,则应在c2d 函数中使用冲击响应不变法(imp )。 借用零阶保持器(zoh)方法,将对象20 G s s s 2()() =+带一阶保持器离散化的过程如下: 转换结果为: 步骤5 模拟仿真 求离散系统的闭环传递函数和连续系统的闭环传递函数。 ds=zpk(-2,-15,8) %建立模拟控制器的s 传递函数 dz=c2d(ds,,'tustin') %将模拟控制器按tustin 方法转换为z 传递函数的数字控制器 ...... %模拟控制器D(s)转换为D(z)的过程见前 gs=zpk([ ],[0,-2],20) %建立对象的s 传递函数 g1z=c2d(gs,,'zoh') %借用c2d 函数进行带零阶保持器的对象的离散化

连续系统离散化处理基本方法

在数字计算机上对连续系统进行仿真时,首先遇到的问题是如何解决数字计算机在数值及时间上的离散性与被仿真系统数值及时间上的连续性这一基本问题。 从根本意义上讲,数字计算机所进行的数值计算仅仅是“数字”计算,它表示数值的精度受限于字长,这将引入舍入误差;另一方面,这种计算是按指令一步一步进行的,因而,还必须将时间离散化,这样就只能得到离散时间点上系统性能。用数字仿真的方法对微分方程的数值积分是通过某种数值计算方法来实现的。任何一种计算方法都只能是原积分的一种近似。因此,连续系统仿真,从本质上是对原连续系统从时间、数值两个方面对原系统进行离散化,并选择合适的数值计算方法来近似积分运算,由此得到的离散模型来近似原连续模型。如何保证离散模型的计算结果从原理上确能代表原系统的行为,这是连续系统数字仿真首先必须解决的问题。 设系统模型为:),,(t u y f y =&,其中u (t )为输入变量,y (t )为系统变量;令仿真时间间隔为h ,离散化后的输入变量为)(?k t u ,系统变量为)(?k t y ,其中k t 表示t=kh 。如果)()(?k k t u t u ≈,)()(?k k t y t y ≈,即0)()(?)(≈-=k k k u t u t u t e ,0)()(?)(≈-=k k k y t y t y t e (对所有k=0,1,2,…),则可认为两模型等价,这称为相似 原理(参见图)。 实际上,要完全保证0)(,0)(==k y k u t e t e 是很困难的。进一步分析离散化引的误差,随着计算机技术的发展,由计算机字长引入的舍入误差可以忽略,关键是数值积分算法,也称为仿真建模方法。相似原理用于仿真时,对仿真建模方法有三个基本要求: (1)稳定性:若原连续系统是稳定的,则离散化后得到的仿真模型也应是稳定的。关于稳定性的详细讨论将在节中进行。 (2)准确性:有不同的准确性评价准则,最基本的准则是: 绝对误差准则:δ≤-=)()(?)(k k k y t y t y t e 相对误差准则:δ≤-= )(?)()(?)(k k k k y t y t y t y t e 其中 规定精度的误差量。 原连续模型 仿真模型 )(≈k y t e 图 相

计算机控制实验报告-离散化方法研究解析

东南大学自动化学院 实验报告 课程名称:计算机控制技术 第 2 次实验 实验名称:实验三离散化方法研究 院(系):自动化学院专业:自动化 姓名:学号: 实验室:416 实验组别: 同组人员:实验时间:2014年4月10日评定成绩:审阅教师:

一、实验目的 1.学习并掌握数字控制器的设计方法(按模拟系统设计方法与按离散设计方法); 2.熟悉将模拟控制器D(S)离散为数字控制器的原理与方法(按模拟系统设计方法); 3.通过数模混合实验,对D(S)的多种离散化方法作比较研究,并对D(S)离散化前后闭环系统的性能进行比较,以加深对计算机控制系统的理解。 二、实验设备 1.THBDC-1型 控制理论·计算机控制技术实验平台 2.PCI-1711数据采集卡一块 3.PC 机1台(安装软件“VC++”及“THJK_Server ”) 三、实验原理 由于计算机的发展,计算机及其相应的信号变换装置(A/D 和D/A )取代了常规的模拟控制。在对原有的连续控制系统进行改造时,最方便的办法是将原来的模拟控制器离散化。在介绍设计方法之前,首先应该分析计算机控制系统的特点。图3-1为计算机控制系统的原理框图。 图3-1 计算机控制系统原理框图 由图3-1可见,从虚线I 向左看,数字计算机的作用是一个数字控制器,其输入量和输出量都是离散的数字量,所以,这一系统具有离散系统的特性,分析的工具是z 变换。由虚线II 向右看,被控对象的输入和输出都是模拟量,所以该系统是连续变化的模拟系统,可以用拉氏变换进行分析。通过上面的分析可知,计算机控制系统实际上是一个混合系统,既可以在一定条件下近似地把它看成模拟系统,用连续变化的模拟系统的分析工具进行动态分析和设计,再将设计结果转变成数字计算机的控制算法。也可以把计算机控制系统经过适当变换,变成纯粹的离散系统,用z 变化等工具进行分析设计,直接设计出控制算法。 按模拟系统设计方法进行设计的基本思想是,当采样系统的采样频率足够高时,采样系统的特性接近于连续变化的模拟系统,此时忽略采样开关和保持器,将整个系统看成是连续变化的模拟系统,用s 域的方法设计校正装置D(s),再用s 域到z 域的离散化方法求得离散传递函数D(z)。为了校验计算结果是否满足系统要求,求得D(z)后可把整个系统闭合而成离散的闭环系统。用z 域分析法对系统的动态特性进行最终的检验,离散后的D(z)对D(s)的逼真度既取决于采样频率,也取决于所用的离散化方法。离散化方法虽然有许多,但各种离散化方法有一共同的特点:采样速率低,D(z)的精度和逼真度越低,系统的动态特性与预 数 字 计算机 D/A A/D 模 拟 控制对象 R Y I II

数据离散化和概念分层产生

数据离散化和概念分层产生 通过将属性值域划分为区间,数据离散化技术可以用来减少给定连续属性值的个数。区间的标记可以替代实际的数据值。用少数区间标记替换连续属性的数值,从而减少和简化了原来的数据。这导致挖掘结果的简洁、易于使用的、知识层面的表示。离散化技术可以根据如何进行离散化加以分类,如根据是否使用类信息或根据进行方向(即自顶向下或自底向上)分类。如果离散化过程使用类信息,则称它为监督离散化(supervised iscretization);否则是非监督的(unsupervised)。如果首先找出一点或几个点(称作分裂点或割点)来划分整个属性区间,然后在结果区间上递归地重复这一过程,则称它为自顶向下离散化或分裂。自底向上离散化或合并正好相反,首先将所有的连续值看作可能的分裂点,通过合并相邻域的值形成区间,然后递归地应用这一过程于结果区间。可以对一个属性递归地进行离散化,产生属性值的分层或多分辨率划分,称作概念分层。概念分层对于多个抽象层的挖掘是有用的。 对于给定的数值属性,概念分层定义了该属性的一个离散化。通过收集较高层的概念(如青年、中年或老年)并用它们替换较低层的概念(如年龄的数值),概念分层可以用来归约数据。通过这种数据泛化,尽管细节丢失了,但是泛化后的数据更有意义、更容易解释。 这有助于通常需要的多种挖掘任务的数据挖掘结果的一致表示。此外,与对大型未泛化的数据集挖掘相比,对归约的数据进行挖掘所需的I/O操作更少,并且更有效。正因为如此,离散化技术和概念分层作为预处理步骤,在数据挖掘之前而不是在挖掘过程进行。属性price的概念分层例子在图2-22给出。对于同一个属性可以定义多个概念分层,以适合不同用户的需要。 图1 属性price的一个概念分层,其中区间($X.$Y]表示从$X(不包括)到$Y (包括)的区间对于用户或领域专家,人工地定义概念分层可能是一项令人乏味、耗时的任务。幸而,可以使用一些离散化方法来自动地产生或动态地提炼数值属性的概念分层。此外,许多分类属性的分层结构蕴涵在数据库模式中,可以在模式定义级自动地定义。 我们来看看数值和分类数据的概念分层的产生。

离散化方法总结

离散化方法 1引言 2离散化方法 模拟调节器的离散化方法有许多种,下面介绍几种常用的离散化方法。 2.1差分变换法 当模拟调节器采用微分方程来表示时,其导数可以用差分方程近似。假设通过模拟化的设计方法得到了一个控制器的传递函数,首先将传递函数转化成相应的微分方程,然后通过常用的差分近似方法对导数进行离散化,常用的差分近似有前向差分和后向差分两种。为了便于编程,通常采用后向差分法。 (1) 一阶后向差分 一阶导数采用的近似算式如下 ()(1)du u k u k dt T --≈(1) (2) 二阶后向差分 二阶导数采用的近似算式如下 22 ()()2(1)(2)d u t u k u k u k dt T --+-≈(2) 其中 T 为采样周期。 2.2 零阶保持器法 零阶保持器法又称为阶跃响应不变法,其基本思想是:离散近似后的数字控制器的阶跃响应序列必须与模拟调节器的阶跃响应的采样值相等。其中采用的零阶保持器的传递函数为 1()Ts e H s s --=(3) 其中,T 为采样周期。 假设一个模拟控制器的传递函数为D (s),采用零阶保持器法对其进行离散化时,应将H(s)包含在内,即: ()[()()]D z Z H s D s = 2.3 双线性变换法(Tustin 变换法) 双线性变换法又称为Tustin 变换法,它是直接将s 域函数转化成z 域的一种近似方法。已知一个连续传递函数D (s),则D (z)为 211 ()()z s T z D z D s -=+= 其中,T 为采样周期。 3 计算机辅助设计 已知一个连续控制器的传递函数为2 0.5()(1)s D s s +=+,分别采用零阶保持器法和双线性变换

利用weka实现数据离散化处理

Using the Weka Discretize Filter 1.Start Weka – you get the Weka GUI chooser window. 2.Click on the Explorer button and you get the Weka Knowledge Explorer window. 3.Click on the “Open File..” button and open an ARFF file (try it first with an example supplied in Weka-3-4/data, e.g. weather.arff). You get the following:

the area right of the Choose button. You get the following:

You see here the default parameters of this filter. Click on More to get more information about these parameters. 5.Click on the Apply button to do the discretization. Then select one of the original numeric attributes (e.g. temperature) and see how it is discretized in the Selected attribute window.

离散化方法研究

东南大学自动化学院 实验报告课程名称:计算机控制技术 第二次实验 实验名称:离散化方法的研究 院(系):自动化专业:自动化 姓名:学号: 实验室:实验组别: 同组人员:实验时间:2012 年3月26日 评定成绩:审阅教师:

一、实验目的 1.学习并掌握数字控制器的设计方法(按模拟系统设计方法与按离散设计方法); 2.熟悉将模拟控制器D(S)离散为数字控制器的原理与方法(按模拟系统设计方法); 3.通过数模混合实验,对D(S)的多种离散化方法作比较研究,并对D(S)离散化前后闭环系统的性能进行比较,以加深对计算机控制系统的理解。 二、实验设备 1.THBDC-1型控制理论·计算机控制技术实验平台 2.PCI-1711数据采集卡一块 3.PC机1台(安装软件“VC++”及“THJK_Server”) 三、实验原理 由于计算机的发展,计算机及其相应的信号变换装置(A/D和D/A)取代了常规的模拟控制。在对原有的连续控制系统进行改造时,最方便的办法是将原来的模拟控制器离散化。在介绍设计方法之前,首先应该分析计算机控制系统的特点。图3-1为计算机控制系统的原理框图。 图3-1 计算机控制系统原理框图 由图3-1可见,从虚线I向左看,数字计算机的作用是一个数字控制器,其输入量和输出量都是离散的数字量,所以,这一系统具有离散系统的特性,分析的工具是z变换。由虚线II向右看,被控对象的输入和输出都是模拟量,所以该系统是连续变化的模拟系统,可以用拉氏变换进行分析。通过上面的分析可知,计算机控制系统实际上是一个混合系统,既可以在一定条件下近似地把它看成模拟系统,用连续变化的模拟系统的分析工具进行动态分析和设计,再将设计结果转变成数字计算机的控制算法。也可以把计算机控制系统经过适当变换,变成纯粹的离散系统,用z变化等工具进行分析设计,直接设计出控制算法。 按模拟系统设计方法进行设计的基本思想是,当采样系统的采样频率足够高时,采样系统的特性接近于连续变化的模拟系统,此时忽略采样开关和保持器,将整个系统看成是连续变化的模拟系统,用s域的方法设计校正装置D(s),再用s域到z域的离散化方法求得离散传递函数D(z)。为了校验计算结果是否满足系统要求,求得D(z)后可把整个系统闭合而成离散的闭环系统。用z域分析法对系统的动态特性进行最终的检验,离散后的D(z)对D(s)的逼真度既取决于采样频率,也取决于所用的离散化方法。离散化方法虽然有许多,但各种离散化方法有一共同的特点:采样速率低,D(z)的精度和逼真度越低,系统的动态特性与预定的要求相差就越大。由于在离散化的过程中动态特性总要变坏,人们将先设计D(s)再进行离散化的方法称为“近似方法”。

直方图进行数据离散化实验

实验题目: 直方图进行数据离散化 1 实验目的 直方图使用分箱来近似数据分布,是数据规约的一种形式。通过本实验,需要掌握不同直 方图的数学原理和构造方法。同时,掌握使用不同直方图对数据进行离散化的原理和方法。 最后,利用实验数据实现一种直方图并进行评估。 2 实验步骤 2.1 算法原理 首先,假设有N 个自然数的集合U={x | x ∈N },其中最大值为max N 。 (1)等宽度直方图 ?对数据进行分箱。假设按等宽度的方法进行分箱(宽度w=1),则对于N 个数据,按其值i v 分别放入到相应的箱中,箱子的数目max K N =。设每个箱中的统计数据为(1,2...,)i c i N =, 按照坐标值/频率对(/i i c v )表示在二维坐标上,则可以得到该组数据的单桶直方图。其 中, i c N =∑。 一般情况下,为了进一步压缩数据,通常进行数据分箱时,每一个桶代表的是连续的属 性值,即取宽度max (0)w q q N =<<。在这种分箱方法下,分箱数目max /K N q =。则按 照公式 **(1)q j j i i q j c c =-= ∑,其中1,2...,j K =,令max 0,*i c N i q j =<< 所得到的值/频率对((1)~/)j q j qj c -,1,2...,j K =的宽度为q 的直方图,即为常见 的等宽度直方图。 (2)等深度直方图 ?与等宽度直方图相比,等深度直方图仅仅是在创建数据桶时与其不同。等深度直方图的数据 桶的创建思想是:使得每个桶的频率粗略的为常数,即每个桶中包含大致相当的样本数据数 目。 设分箱的数目为K,则对于每一个桶,有max /i c N K =,其中1,2...,i K =。只有在这 种情况下,才满足max /i i P c N =大致相当。所要求的是每一个桶的边界i e ,1,2...,i K =。 ?求边界的过程:首先对该集合U 进行排序(由小到大),由于每桶的数目相等,所以每间隔c

离散化

数据数值离散化系统设计与实现 1 引言 当下,伴随着计算机的不断普及,以及网络通讯等信息技术的飞速发展,社会已经逐渐进入了网络信息时代。而随着计算机技术的迅速发展,包括存储技术、数据技术和网络技术在内的一系列信息处理方式,已经表现出人们对于计算机的认识和管理水平有了极大提高,并且随着存储设备的单位价格的不断下降和容量的急剧扩大,关系数据库、对象数据库以及多媒体数据库和地理信息数据库、空间数据库都在不断的成熟并且得到了广泛的应用,而数据库管理系统的日益普及也使得人们对于数据得积累越来越多,对于数据与信息系统中的不确定性也尤为显著。 在传统的机器语言中,我们把连续数据离散化技术当作边缘性课题,没有给予足够的重视,但是随着近年来数据挖掘技术的不断发展,数据离散化技术也逐渐在数据挖掘技术中表现出其不可替代的重要性,尤其在规则提取、特征分类等算法中,在应用粗集理论进行数据挖掘的研究时,一些连续属性数据必须要进行离散化处理,所以国内的一些专家和学者越来越关注对于连续数据的离散化[2]。而对于连续数据的离散化虽不是目前来说并不是什么研究热点,但是它是对数据信息进行预处理的一个相当重要的部分。实际的数据库中存在着比较多的连续型属性,然而现有的很多数据挖掘方法却只能处理一些离散型的属性,所以需要对连续属性进行离散化。所以连续数据得离散化方法也成为了数据挖掘领域的重要工作之一,直接影响着数据挖掘的质量。但是作为一种比较新兴的领域,它现有的算法还远远没有达到令人满意的程度。因此,对于连续数据的离散化研究已经成为当今国内的一个重要课题。

2 数据数值离散化的算法 2.1 离散化 2.1.1 离散化的概念 数据离散化本质上通过断点集合将连续的属性空间划分为若干区,并使同一区域的实例都取相同的属性值矢量。 连续值属性离散化方法的基本思想,设一个具有连续值属性的决策信息系统s=(U,AT ∪D),这里的U是有限非空的样本集合,称为对象空间或论域,AT为样本空间的非空属性集合,D是决策属性集合,对于每个连续值属性a,a∈AT,其值域就是样本空间U在属性a 上的取值范围,由实数域上的一段左闭右开的区间[Va,Wa)来表示。在每个连续值属性a 的值域Vɑ中应找到一个恰当的划分ɑ,在划分Pɑ下的系统与初始系统的过程中应具有相同的决策能力,划分属性值域为几个互不相交的子区间,同时对每个子区间赋值以符号的形式,就得到了一组屹上的离散化取值,这个过程其实就是在样本空间U的连续值属性离散化的结果。由于任何划分只是通过一组值域屹内的分割点序列(v.

数据离散化

1、分布一致性检验 1.1 连续分布 1.1.1 ks.test(x, y) #Kolmogorov-Smirnov分布一致性检验 #x是数字向量,y若为数字向量,则检验x与y是否分布一致 #y若为连续分布(!)的累积概率函数,则检验x是否与已知分布一致。 #注意累积概率函数还可以带参数 例: x=rnorm(100, 175, 10); ks.test(x, pnorm, 175, 10); y=runif(100, 100, 1000); ks.test(y, punif, 100, 1000); 1.1.2 shapiro.test(x) #Shapiro-Wilk正态性检验,样本含量在[3, 5000]之间 1.2离散分布 chisq.test(x, p) #p是与x等长的概率向量,缺省表示x取值概率相等 离散分布的一致性检验实际上是理论频数和实际频数的差别检验 步骤: 利用样本对分布进行参数的点估计 用估计的分布函数计算理论频数 对实际频数和理论频数进行卡方检验 2、离散一致性检验 2.1 非参数方法(基于秩) mood.test(x, y) #该检验假设两样本中位数相同,因此需要将两个中位数的差异消除再比较 #实际使用如下: diff=median(x)-median(y); y=y+diff; mood.test(x,y); ansari.test(x,y) #用于两样本,当数据中有结时会出现警告。也需要将两个中位数的差异消除再比较fligner.test(x) #x是一个列表(!),用于多样本,不需要消除中位数的差异 2.2 参数方法 var.test(x,y) #用于来自正态总体的两个样本 bartlett.test(x) #用于来自正态总体的多个样本

连续传递函数离散化的方法与原理

目录 第一章模拟化设计基础1第一节步骤1第二节在MATLAB中离散化3第三节延时e-Ts环节的处理5第四节控制函数分类6第二章离散化算法10摘要10比较11第一节冲击响应不变法(imp,无保持器直接z变换法) 11第二节阶跃响应不变法(zoh,零阶保持器z变换法) 11第三节斜坡响应不变法(foh,一阶保持器z变换法) 11第四节后向差分近似法12第五节前向差分近似法14第六节双线性近似法(tustin) 15第七节预畸双线性法(prevarp) 17第八节零极点匹配法(matched) 18第三章时域化算法19第一节直接算法1—双中间变量向后递推19第二节直接算法2—双中间变量向前递推20第三节直接算法3—单中间变量向后递推21第四节直接算法4—单中间变量向前递推(简约快速算法) 21第五节串联算法22第六节并联算法23第四章数字PID控制算法24第一节微分方程和差分方程25第二节不完全微分25第三节参数选择26第四节 c51框架27第五章保持器33第一节零阶保持器33第二节一阶保持器30附录两种一阶离散化方法的结果的比较31

第一章 模拟化设计基础 数字控制系统的设计有两条道路,一是模拟化设计,一是直接数字设计。如果已经有成熟的模拟控制器,可以节省很多时间和部分试验费用,只要将模拟控制器离散化即可投入应用。如果模拟控制器还不存在,可以利用已有的模拟系统的设计经验,先设计出模拟控制器,再进行离散化。 将模拟控制器离散化,如果用手工进行,计算量比较大。借助数学软件MATLAB 控制工具箱,可以轻松地完成所需要的全部计算步骤。如果需要的话,还可以使用MATLAB 的SIMULINK 工具箱,进行模拟仿真。 第一节 步骤 步骤1 模拟控制器的处理 在数字控制系统中,总是有传输特性为零阶保持器的数模转换器(DAC ),因此,如果模拟控制器尚未设计,则应以下图 的方式设计模拟控制器,即在对象前面加上一个零阶保持器,形成一个新对象Ts 1e G s s ()--,然后针对这个新对象求模拟控 制器D(s)。事实上,模拟控制器一般是已经设计好的,无法或不方便更改了,离散化后的系统只好作为近似设计了。 然而,按照上述思路,可否将已有的控制器除以一个零阶保持器再离散化呢还没有这方面的实际经验。 D(s)x u e -模拟控制器 1-e -Ts s G(s)对象 以下假设选定的G(s),D(s)如下图,而且不对G(s)作添加保持器的预处理。 x u e -D(s)=8s+2 s+15 .G(s)=20 s(s+2) 步骤2 离散化模拟控制器 离散化模拟控制器之前,先要确定离散化算法和采样时间。离散化算法有好几种,第二章中有详细的论述,现假定采用双线性变换法。确定采样时间,需要考虑被控对象的特性,计算机的性能,以及干扰信号的影响等,初步可按采样时间T<,Tp 为被控对象时间常数,或T=~τ,为被控对象的纯滞后,初步确定后再综合平衡其它因素,当然这需要一定的经验,现在假定取秒。 假设模拟控制器为s 2 D s 8s 15 +=?+(),在MATLAB 中,用c2d 函数进行离散化,过程为: 转换结果为: x u e -D(z)= 6.1091(z-0.9048) z-0.4545 D(s)=8s+2 s+15. G(s)= 20s(s+2) 步骤3 检验数字控制器的性能 数字控制器的性能项目比较多,我们仅以直流增益,频率特性,零极点分布说明。 ds=zpk(-2,-15,8) %建立模拟控制器的s 传递函数 dz=c2d(ds,,'tustin') %将模拟控制器按tustin 方法转换为z 传递函数的数字控

实验报告-使用直方图离散化数据

实验题目: 直方图进行数据离散化 1 实验目的 直方图使用分箱来近似数据分布,是数据规约的一种形式。通过本实验,需要掌握不同直方图的数学原理和构造方法。同时,掌握使用不同直方图对数据进行离散化的原理和方法。最后,利用实验数据实现一种直方图并进行评估。 2 实验步骤 2.1 算法原理 首先,假设有N 个自然数的集合U={x | x ∈N },其中最大值为m ax N 。 (1)等宽度直方图 对数据进行分箱。假设按等宽度的方法进行分箱(宽度w=1),则对于N 个数据,按其值i v 分别放入到相应的箱中,箱子的数目max K N =。设每个箱中的统计数据为 (1,2...,)i c i N =,按照坐标值/频率对(/i i c v )表示在二维坐标上,则可以得到该组数据的 单桶直方图。其中,i c N =∑。 一般情况下,为了进一步压缩数据,通常进行数据分箱时,每一个桶代表的是连续的属 性值,即取宽度m ax (0)w q q N =<<。在这种分箱方法下,分箱数目max /K N q =。则 按照公式 **(1) q j j i i q j c c =-= ∑ ,其中1,2...,j K =,令max 0,*i c N i q j =<< 所得到的值/频率对((1)~/)j q j qj c -,1,2...,j K =的宽度为q 的直方图,即为常见的等宽度直方图。 (2)等深度直方图 与等宽度直方图相比,等深度直方图仅仅是在创建数据桶时与其不同。等深度直方图的数据桶的创建思想是:使得每个桶的频率粗略的为常数,即每个桶中包含大致相当的样本数据数目。 设分箱的数目为K ,则对于每一个桶,有m ax /i c N K = ,其中1,2...,i K =。只有在 这种情况下,才满足m ax /i i P c N =大致相当。所要求的是每一个桶的边界i e ,1,2...,i K =。 求边界的过程:首先对该集合U 进行排序(由小到大),由于每桶的数目相等,所以每间隔c 个数据,取一次数据值,即为一个有效的边界值。对于排序后的序列,有

离散化

离散化探究 @潘帕斯雄鹰 离散的题目在OI界还是占有一定地位的,而很多的离散化题目有很大程度上是贪心,也有很多是动态规划。离散是将数据经过关键字排序后以NP类问题处理。离散化是程序设计中一个非常常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中“只考虑我需要用的值”。离散化可以改进一个低效的算法,甚至实现根本不可能实现的算法。要掌握这个思想,必须从大量的题目中理解此方法的特点。下面我从易到难选择了一些题目,希望对大家有所帮助。 离散化的定义如下:把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 其基本思想很简单,就是当输入数据的范围是无限空间,或者输入数据有很大量重复时,可以作一映射,从输入的无限空间到逻辑上的有限、有序的空间、同时避免重复。 声明:由于noip2005第二题river有很多版本的题解,故不在此篇中进行讲解。 本文章中有某些非原创部分,版权属于原作者。 锻炼计划(exercise.pas) noip普及组难度 身体是革命的本钱,OIers不要因为紧张的学习和整天在电脑前而忽视了健康问题。小x设计了自己的锻炼计划,但他不知道这个计划是否可行,换句话说如果计划不当可能会让他的体力超支,所以小x请你帮助他。 一天有1440分钟,所以小x列出的是这一整天第1至第1440分钟的计划。小x的体力用一个整数来表示,他会按照计划表进行锻炼,同时,每分钟小x的体力会自动增加1。如果某一分钟末小x的体力小于等于零,那么可怜的小x就累死了…… 输入(exercise.in) 第一行是用空格分开的两个整数n,m,分别表示小x的初始体力值和计划的项目数量。 从第二行开始的m行,每行描述一个锻炼项目:名称、开始时间a、结束时间b、每分钟耗费的体力(用空格分隔),表示此项目从第a分钟初开始,第b分钟末结束。锻炼项目按照开始时间递增顺序给出,不会出现两个项目时间冲突的情况。 输出(exercise.out) 输出包括两行,如果计划可行,第一行输出"Accepted",第二行输出这一天过后最后剩余的体力;否则在第一行输出"Runtime Error",第二行输出在第几分钟累死。 样例 约定 0

离散化方法

1.离散化方法 (1). 集中质量法 把结构的分布质量按一定的规则集中到结构的某个或某些位置上,成为一系列离散的质点或质量块 。 ? 适用于大部分质量集中在若干离散点上的结构。 ? 例如:房屋结构一般简化为层间剪切模型。 (2). 广义坐标法 假定具有分布质量的结构在振动时的位移曲线可用一系列规定的位移曲线的和来表示: ? 适用于质量分布比较均匀,形状规则且边界条件易于处理的结构。 ? 例如:右图简支梁的变形可以用三角函数的线性组合来表示。 假定具有分布质量的结构在振动时的位移曲线为 y (x ,t ),可用一系列位移 函数 的线性组合来表示: 则组合系数A k (t )称为体系的广义坐标。 ? 广义坐标表示相应位移函数的幅值,是随时间变化的函数。 ? 广义坐标确定后,可由给定的位移函数确定结构振动的位移曲线。 ? 以广义坐标作为自由度,将无限自由度体系转化为有限个自由度。 ? 所采用的广义坐标数代表了所考虑的自由度数。 (3). 有限单元法 —— 将有限元法的思想用于解决结构的动力计算问题。 ? 先把结构划分成适当(任意)数量的单元; ? 对每个单元施行广义坐标法,通常取单元的节点位移作为广义坐标; ? 对每个广义坐标取相应的位移函数 (插值函数); ? 由此提供了一种有效的、标准 化的、用一系列离散坐标表示无限自由度的结构体系。 ? 对分布质量的实际结构,体系的自由度数为单元节点可发生的独立位移未知量的总个数。 ? 综合了集中质量法和广义坐标法的某些特点,是最灵活有效的离散化方法,它提供了既方便又可靠的理想化模型,并特别适合于用电子计算机进行分析,是目前最为流行的方法。 ? 已有不少专用的或通用的程序(如SAP ,ANSYS 等)供结构分析之用。包括静力、动力 和稳定分析。 )(x k φ∑=φ=n k k k x t A t x y 1) ()(),(l x n b x n n πsin )(∑∞==1 ν

直方图进行数据离散化实

实验题目:直方图进行数据离散化 1实验目的 直方图使用分箱来近似数据分布,是数据规约的一种形式。通过本实验,需要掌握不同直方图的数学原理和构造方法。同时,掌握使用不同直方图对数据进行离散化的原理和方法。最后,利用实验数据实现一种直方图并进行评估。 2 实验步骤 2.1 算法原理 首先,假设有N 个自然数的集合U={x | x ∈N },其中最大值为max N 。 (1)等宽度直方图 对数据进行分箱。假设按等宽度的方法进行分箱(宽度w=1),则对于N 个数据,按其值i v 分别放入到相应的箱中,箱子的数目max K N =。设每个箱中的统计数据为(1,2...,)i c i N =,按照坐标值/频率对(/i i c v )表示在二维坐标上,则可以得到该组数据的单桶直方图。其中, i c N =∑。 一般情况下,为了进一步压缩数据,通常进行数据分箱时,每一个桶代表的是连续的属性值,即取宽度max (0)w q q N =<<。在这种分箱方法下,分箱数目max /K N q =。则按照公式 **(1)q j j i i q j c c =-= ∑,其中1,2...,j K =,令max 0,*i c N i q j =<< 所得到的值/频率对((1)~/)j q j qj c -,1,2...,j K =的宽度为q 的直方图,即为常见的等宽度直方图。 (2)等深度直方图 与等宽度直方图相比,等深度直方图仅仅是在创建数据桶时与其不同。等深度直方图的数据桶的创建思想是:使得每个桶的频率粗略的为常数,即每个桶中包含大致相当的样本数据数目。 设分箱的数目为K ,则对于每一个桶,有max /i c N K =,其中1,2...,i K =。只有在这种情况下,才满足max /i i P c N =大致相当。所要求的是每一个桶的边界i e ,1,2...,i K =。 求边界的过程:首先对该集合U 进行排序(由小到大),由于每桶的数目相等,所以每间隔c 个数据,取一次数据值,即为一个有效的边界值。对于排序后的序列,有

离散化方法介绍及其区别

有限差分法、有限元法、有限体积法等离散方法介绍 https://www.doczj.com/doc/a615224327.html, & https://www.doczj.com/doc/a615224327.html, yjs808 一、有限差分方法(F inite D ifference M ethod, FDM) 有限差分方法是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以T aylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而 建立以网格节点上的值为未知数的代数方程组。该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法,较多用于求解双曲型和抛物型问题。用它求解边界条件复杂,尤其是椭圆型问题不如有限元法或有限体积法方便。 对于有限差分格式,从格式的精度来划分,有一阶格式、二阶格式和高阶格式。从差分的空间形式来考虑,可分为中心格式和迎风格式。考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。 构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。 二、有限元方法(F inite E lement M ethod, FEM) 有限元方法的基础是变分原理和加权余量法,其基本求解思想是:把计算域划分为有限个互不重叠的单元,在每个单元内,选择一些合适的节点作为求解函数的插值点,将微分方程中的变量改写成由各变量或其导数的节点值与所选用的插值函数组成的线性表达式,借助于变分原理或加权余量法,将微分方程离散求解。采用不同的权函数和插值函数形式,便构成不同的有限元方法。 有限元方法最早应用于结构力学,后来随着计算机的发展慢慢用于流体力学的数值模拟。在有限元方法中,把计算域离散剖分为有限个互不重叠且相互连接的单元,在每个单元内选择基函数,用单元基函数的线形组合来逼近单元中的真解,整个计算域上总体的基函数可以看为由每个单元基函数组成的,则整个计算域内的解可以看作是由所有单元上的近似解构成。 在数值模拟中,常见的有限元计算方法是由变分法和加权余量法发展而来的里兹法和伽辽金法、最小二乘法等。根据所采用的权函数和插值函数的不同,有限元方法也分为多种计算格式。从权函数的选择来说,有配置法、矩量法、最小二乘法和伽辽金法,从计算单元网格的形状来划分,有三角形网格、四边形网格和多边形网格,从插值函数的精度来划分,又分为线性插值函数和高次插值函数等。不同的组合同样构成不同的有限元计算格式。对于权函数,伽辽金(Galerkin)法是将权函数取为逼近函数中的基函数;最小二乘法是令权函数等于余量本身,而内

连续系统离散化处理基本方法

连续系统离散化处理的基本方法 在数字计算机上对连续系统进行仿真时,首先遇到的问题就是如何解决数字计算机在数值及时间上的离散性与被仿真系统数值及时间上的连续性这一基本问题。 从根本意义上讲,数字计算机所进行的数值计算仅仅就是“数字”计算,它表示数值的精度受限于字长,这将引入舍入误差;另一方面,这种计算就是按指令一步一步进行的,因而,还必须将时间离散化,这样就只能得到离散时间点上系统性能。用数字仿真的方法对微分方程的数值积分就是通过某种数值计算方法来实现的。任何一种计算方法都只能就是原积分的一种近似。因此,连续系统仿真,从本质上就是对原连续系统从时间、数值两个方面对原系统进行离散化,并选择合适的数值计算方法来近似积分运算,由此得到的离散模型来近似原连续模型。如何保证离散模型的计算结果从原理上确能代表原系统的行为,这就是连续系统数字仿真首先必须解决的问题。 设系统模型为:),,(t u y f y =&,其中u (t )为输入变量,y (t )为系统变量;令仿真时间间隔为h ,离散化后的输入变量为)(?k t u ,系统变量为)(?k t y ,其中k t 表示t=kh 。如果)()(?k k t u t u ≈,)()(?k k t y t y ≈,即0)()(?)(≈-=k k k u t u t u t e ,0)()(?)(≈-=k k k y t y t y t e (对所有k=0,1,2,…),则可认为两模型等价,这称为相似原理(参见图2、1)。 ,随着计,也称为仿真建模关于稳定性的详细讨论将在2、4节中进行。 (2)准确性:有不同的准确性评价准则,最基本的准则就是: 绝对误差准则:δ≤-=)()(?)(k k k y t y t y t e 相对误差准则:δ≤-= )(?)()(?)(k k k k y t y t y t y t e 其中δ 规定精度的误差量。 (3)快速性:如前所述,数字仿真就是一步一步推进的,即由某一初始值)(0t y 出发,逐步计算,得到)(,),(),(21k t y t y t y Λ,每一步计算所需时间决定了仿真速度。若第k 步计算对应的系统时间间隔为,1k k k t t h -=+计算机由)(k t y 计算)(1+k t y 需要的时间为T k ,则,若T k =h k 称为实时仿真,T k h k ,对应于离线仿真。 &,已知系统变量y 的初始条件y t y ()00=,现 在要求y 随时间变化的过程y t ()。计算过 程可以这样考虑(参见图2、2):首先求出初始 点y t y ()00=的f t y ()00,,微分方程可以 )(≈k y t e 图2、1

相关主题
文本预览
相关文档 最新文档