- 机电液一体化系统建模与仿真技术
- 高钦和 龙勇 马长林 管文良编著
- 5036字
- 2020-08-28 09:27:03
2.1 数学建模与仿真算法
数学建型本质上是一种基于“系统”概念的关于现实世界一小部分或几个方面的抽象。这个系统允许在不同详尽的程序上对现实世界中的过程进行数学描述,这样便可将各种不同的模型彼此联系起来,并可将相互间的关系隐含于数学之中。
算法是指从一些已知的数据出发,按照某种规定的顺序进行运算的一个有限的运算序列。所谓仿真算法,从狭义上讲,是指实际运行的数字仿真模型中所用的算法;而从广义上讲,是指进行数字仿真过程中为了建立数字仿真模型,进行仿真实验,以及实验结果的分析所需要的一切算法。
2.1.1 数学模型的作用
数学模型,无论在纯科学领域还是在工程上,都有其广泛应用。
1.深化认识
数学模型可帮助人们不断加深对现象的认识,并启发人们进行有可能获得满意结果的实验。
从提高认识能力这方面考虑,为了加强这种影响的作用,提高通信、思考和理解3个层次的水平,需要满足以下几个方面的要求:
(1)一个数学描述要提供一个准确、易于理解的通信模式,即当信息传递给别人时,这种模式可减小引起误解的概率;
(2)在研究系统的各种不同问题或选择假设时,还需要一个相当规模的辅助思考过程;
(3)一旦某模型被综合成为一组公理和定律,这样的模型就能更好地帮助人们理解现实水平。
2.提高决策能力
数学模型的研究,能够提高人们的决策能力和干预能力。
同样,为了提高决策能力,也可划分为三个不同水平的层次:管理、控制和设计。管理是一种很有限的干预方式,通过它可确定目标和决定行动的大致过程。但由于这种策略无法制订得十分详细,因此它的具体实施必须委托给下一层次,并在下一层次被翻译理解。因此,在意图和实施之间的联系就变得模糊不清。在控制这一级,动作和策略之间的关系是确定的,但由于控制级中动作仅限于在某个固定范围内加以选择,所以仍然限制了干预的范围。与此相反,在实施决策的设计级,设计者能在较大程度上进行选择,扩大或替代部分真实系统,以满足设计要求。相对其他两级,实现一种设计所花费的代价更高,而且不常进行。但是,控制和管理这两级却是一种连续的“在线”活动。
真实系统及其分解并不是一成不变的,它依赖于主观因素(人们的理解力和看法)和客观条件。观测及干预二者必须相应地限制在系统的能观测部分和控制部分。由于不能观测及不能控制部分的存在,因此,推测或控制的结果将是不确定的,对这些部分的认识越深入,对于估计的理解和干预的成功把握程度也就越大。
数学模型具有目标上的二元性,具有特殊的意义。虽然在一个给定的环境中,建模可能是为了加深对事物的认识程度,但同时也将在同一水平上提供干预的可能。同样,为了控制而建立的模型,也将有助于人们对系统的认识。模型对知识进行编码,其主要条件是将互不关联的关系结合成一个整体的能力,否则,这些关系之间的隐含点将难以刻画。这一点,对于推测现已掌握的数据之外的数据有着特殊的用途。
虽然数学模型的建立可为许多目标服务,但一个数学特殊的描述程序却无法适用于所有目标。
2.1.2 数学建模的原则
在模型建立时,一般应遵循以下4条原则。
1.清晰性
一个复杂系统通常是由许多子系统组成的,因此对应的系统模型也是由许多子模型组成的。为了使模型简单明了,便于分析与研究,在子模型和子模型之间除了为了研究目的所必要的信息联系外,相互耦合尽可能少,结构要尽可能清晰。
2.切题性
模型中只就包括与研究目的有用的方面,对于同一个系统,模型不是唯一的,研究目的不同,模型也不同。
3.精密性
同一系统的模型按其精度等级可分为多级,对于不同的工程,其精密度要求也各不相同。
4.集合性
对于一个系统实体的分割,并不是分得越细越好,相反,为了方便研究,可能要尽量合并为大的实体,即集合性要高。
2.1.3 数学建模的途径
1.演绎法
演绎法是一种运用先验信息的十分经典的建模方法。假若在理论上有些不足,则要求在某些假设和原理的基础上,通过数学的逻辑演绎来建立有效而清晰的数学描述。这种方法是从一般到特殊,并且将模型看做是从一组前提下经过演绎而得出的结果。此时,实验数据只被用来进一步证实或否定原始的原理。依赖先验知识,采用演绎方法进行推导的建模,通常称为“白盒箱模”。
演绎法有它存在的问题,一组完整的公理将导致一个唯一的模型,前提的选择可能成为一个有争议的问题。演绎法面临的一个基本问题,即实质不同的一组公理,可能导致一组非常类似的模型。爱因斯坦曾经遇到过这个问题,牛顿定理与相对论是有区别的,然而,对于当前大多数的实验条件来讲,两者将会导致极其类似的结果。
2.归纳法
归纳法从观测到的行为出发,试图推导出与观测结果相一致的更高一级的知识。因此,这是一个从特殊到一般的过程。
归纳法从系统描述分类中最低一级水平开始,试图推导出较高水平的信息。一般来说,这样的选择不是唯一的,这是由于有效的数据集合经常是有限的,且经常是不充分的。实际上,当模型所给出的数据在模型结构方面并非有效时,任何一种表示都是一种对数据的外推。要完成这种外推,需要附加信息。
在有些场合,先验知识的影响已降低到最低程度。如所谓的“黑箱建模”中仅知道模型的框架,而没有任何有关结构的先验信息可利用。在用于得到模型结构的信息中,只有实验数据,而且实际上这些数据集合通常是有限的,有无穷多个模型能够与这一组数据相吻合。即基于有限数据集合来描述结构特性的问题是没有唯一解的。需要做的是,从有限的数据集合信息中,主动寻找一个最合适的模型。
3.目标法
注重实用的建模者基于工程观点,着眼于建模的目的,认为:模型意味着通向一个终点,模型的目的可暗示出一些有关结构选择的要求,程序将直接面向建模的特定目标。这种目标法由于不容易将研究对象引入建模过程,而且往往因目标特殊而使所得的模型非常局限,因此没有普遍意义。
2.1.4 连续系统的数学模型
连续系统的数学模型通常可分为时间连续模型(微分方程、传递函数、状态空间表达式等)、时间离散模型(差分方程、z传递函数、离散状态、空间表达式等)及连续-离散混合模型。通常采用时间连续模型,即微分方程、传递函数、状态空间表达式等来描述机电液系统。
1.微分方程
一个连续系统的动态模型可以表示成高阶微分方程,其一般形式为
式中 y——系统的输出量;
u——系统的输入量。
初始条件:y(t0)=y0,,…,u(t0)=u0,。
系数a1、a2、…an是系统参数,它们可以随时间变化,也可以不随时间变化,这完全由系统中实体的性质来决定。前者称为线性时变系统,后者称为线性时不变系统。
若引进算子p,且
则有
若定义
则有
2.传递函数
设系统输出y和输入u的各阶导数的初值为零,即在t=0之前系统处于一个平稳状态,对式(2.1)两边取拉普拉斯变换,可得
式中 Y(s)——输出量y(t)的拉普拉斯变换;
U(s)——输出量u(t)的拉普拉斯变换。
定义
为系统的传递函数,则有
可见,此时p与s等价。
3.状态空间表达式
对于一个连续系统,式(2.1)和式(2.8)仅描述了它们的外部特性,即仅仅确定了输入u(t)与输出y(t)之间的关系,所以,称为系统的外部模型。为描述一个连续系统的内部结构,需要引进系统的内部变量,这个变量称为状态变量。
线性定常系统的状态空间表达式包括下列两个矩阵方程,它们分别为
式中——n维的状态向量;
u(t)——m维的控制向量;
y(t)——k维的输出量;
A——n×n的状态矩阵,由控制对象的参数决定;
B——n×m维得控制矩阵;
C——k×n维的输出矩阵;
D——l×n维的直接传输矩阵。
式(2.9)由n个一阶微分方程组组成,称为状态方程;式(2.10)由k个线性代数方程组成,称为输出方程。
2.1.5 仿真算法
算法是指从一些已知的数据出发,按照某种规定的顺序进行运算的、一个有限的运算序列。所谓仿真算法,从狭义上讲,是指实际运行的数字仿真模型中所用的算法;而从广义上讲,是指进行数字仿真过程中为了建立数字仿真模型,进行仿真实验,以及实验结果的分析所需要的一切算法。其中,有些仿真算法是基本的,如计算一个算术表达式;有些仿真算法是由一些基本的仿真算法组合而成的。正常情况下一个基本的仿真算法的输出是另一个基本的仿真算法的输入,一系列有关的仿真算法以各种模式连接成一个复杂的仿真算法。例如,为了求一个函数的导数或者求一个函数的积分,首先要构造计算函数的算法,然后构造求导或积分的算法。前一个算法被嵌入到后一个算法中作为子算法,组成更复杂的算法。这样逐级组合,最后形成一个数字仿真模型。因此,仿真算法是数字仿真的有机组成部分,它把仿真模型的输入信息加工成输出信息。仿真算法在数字仿真中起核心和关键作用。
有了仿真算法,就可以利用计算机进行数字仿真。其一般需要经过以下5个阶段。
1.确定仿真任务
明确对系统进行仿真的目的、要求,制订实施方案,即弄清楚通过仿真要解决的问题。
2.建立系统的数学模型
对实际系统进行简化或抽象,用数学公式的形式对系统的行为、特征等进行描述,保持模型的运动规律和信息传递与原系统的一致性和相似性。这一过程称为系统的一次建模。它是数字仿真的重要依据,也是数字仿真的基础。
3.建立数字仿真模型
将数学模型通过某种数字仿真算法转换成能在计算机上实现和运行的数字模型,称其为数字仿真模型,或称为系统的二次建模。因数学模型有着不同的种类,因而涉及的仿真算法也有不同的类型。能否将数学模型转换成能准确地反映其运动特性和规律的数字仿真模型,仿真算法是核心及关键。
4.设计数字仿真软件
设计数字仿真模型的软件,并进行调试、运行,这是数字仿真的目的、要求、方法、方案、策略的具体实现,是仿真研究成果的重要表现,它是数字仿真的支撑。
5.数字仿真模型的校验和确认
校验是指数字仿真模型与数学模型的一致性检验,即检验数字仿真模型是否达到在计算机上实现数学模型的目的与要求。确认是指数字仿真模型与实际系统的一致性检验,检验是否真实地反映了实际系统运动过程的特性,也就是要检验在数字计算机上正确实现的数字仿真模型以何种程度充分接近于被仿真的实际系统。
校验包含以下工作内容。
(1)静态检查。检查推导的公式是否正确,设计的软件是否正确,即所谓程序检查工作。
(2)动态调试。动态调试是指在计算机上上机调试,从运行情况及输出的中间结果来检查数字仿真模型的结果是否正确,分析、检查运算是否按预先设定的方式进行。例如,用线路追踪检查程序运行路线是否与预想的一致,用赋值追踪检查中间结果是否正确。当中途停机时,用溯源追踪检查停机的原因。
(3)人工校对。人工校对,即用人工计算结果与计算机输出的结果进行比较。若在允许的精度范围内相符,说明程序正确地实现了给定的计算步骤(或公式);若不相符,则说明程序有问题。这种校对实际上是通过对输入数据集的某个子集,用人工复算的简单过程来验证设计的程序。只要选取的子集具有充分的一般性和人工复算过程与程序设计之间充分独立,这种验证过程是比较可靠的。一般多数软件设计人员不容易发现自己设计的软件错误,通过人工校对,这种错误将能有效地识别。因此这种方法常常得到资深的数字仿真和软件工作者推崇。因为全局校对太困难,所以通常都采用分段校对。可以用赋值语句追踪输出每一个语句的计算值,供人工校对时应用。人工校对时,应由计算机字长和人工计算时所用的数字位数,以及所做运算的个数,确定舍入误差的范围,估计出结果的精度。若计算机输出结果与人工计算结果在估计的精度允许范围内符合,则认为计算程序正确。如有超出估计精度的差异,应查出引起差异的原因,并进行改进。人工校对比较原始,但它能比较客观地检查程序设计的正确性,检查程序中运算次序的安排是否合理。它是校验的重要手段,也是保证计算精度的重要措施。
(4)物理校对。检查计算结果的变化规律与描述的物理现象是否相符,对计算中出现的各种现象,特别是异常现象,能否做出物理解释。这种校对是定性的。
(5)典型例子的测试。对复杂的系统建立的数字仿真模型进行适当的调整和简化,但保留模型的基本框架,使其变为具有已知解的系统的数字仿真模型。将调整、简化后的数字仿真模型的输出与已知解进行比较,以此来检验原来的数字仿真模型在调整、简化过程中不变部分的正确性。
(6)仿真算法的检验。它包含两方面的工作:一方面要对构造的仿真算法进行理论研究,给出它的主要品质,如精度、收敛性、数值稳定性;另一方面是检验构造的仿真算法的适用范围和应用误区,设计的程序是否符合算法的要求,需要满足何种条件才能由该算法建立起数字仿真模型给出合理的结果,事实上由算法构造的数字仿真模型输出的结果不都是正确的。有时虽然算法构造的思想是正确的,但是在应用时超出了该算法的应用范围,计算结果可能也是不正确的。