1.3 计算机仿真的特点
1.3.1 仿真的试验性质
根据仿真的定义可知,仿真是在模型上做试验。因此,仿真基本上是一种通过试验来研究系统的综合试验技术,具有一般试验的性质。
无论利用仿真技术进行系统分析还是系统设计,都必须通过一系列的仿真运行来完成。例如,对质量-弹簧-阻尼器系统的仿真研究,必须通过多次仿真运行才能确定使系统响应不发生振荡的阻尼系数f的取值范围。清楚地认识到仿真的试验性质,对于了解仿真的本质及正确运用仿真技术是极为重要的。建立的仿真模型应该具有试验的性质,即模型与实际系统的功能及参数之间应具有相似性和对应性。这种相似关系和对应关系不应当被数学演算过程所掩盖,否则仿真就退化为仅仅是一次数值求解过程。
1.3.2 仿真法与解析法
解析法又称为分析法,它是应用数学推导、演绎去求解数学模型的方法。仿真法是通过在模型上进行一系列试验来研究问题的方法。利用解析法求解模型可以得出对问题的一般性答案,而仿真法的每次运行则只能给出在特定条件下的数值解。对于1.2节中的质量-弹簧-阻尼器系统,如果采用解析法求解,首先要将式(1.3)改写成
式中
式(1.8)的特征方程为
由此式解出系统特征根。根据控制理论,可以得出结论:当ζ=0时,系统响应发生等幅振荡;当0<ζ<1时,系统响应发生衰减振荡;当ζ≥1,即当f2≥4mk时,系统响应不会发生振荡。在该例中,m=1,k=4,故当f≥4时,系统响应不会发生振荡,这就证实了由仿真研究所得结论的正确性。采用解析法得到的结论可以全面地了解k,m,f三者之间的关系对系统动态性能的影响。而采用仿真法研究系统,为了了解某个参数或多个参数对系统动态性能的影响,需要在不同的条件下(对参数所取的一系列特定值)反复进行试验才能得出结论。而且这个结论往往还是不全面的,还会遗留一些不确定的问题,不容易获得对系统性能的一般了解。从这个意义上看,解析法优于仿真法。
然而,能够采用解析法求解的问题是十分有限的。许多实际问题常常不能或者难以用解析法求解。用解析法求解问题时,需要将系统的数学模型用一些特殊的形式表示,如线性代数方程或线性微分方程等。为了使一个数学模型适合于用解析法求解,还要求数学模型不能太复杂,阶次也不能太高。所以需要对系统加以抽象或近似,尽可能简化数学模型,而模型的过度简化则可能使其丧失实际意义。另外,许多实际系统要想得到完整的、特殊形式的并可以用解析法求解的数学模型是不可能的。因此,解析法常常是围绕着使问题易于求解,而不是使研究方法更适合于问题。大多数实际系统是非线性的、分布参数的或很高阶的复杂系统,其数学模型是不易或无法用解析法求解的。质量-弹簧-阻尼器系统实际上是一个非线性系统,我们是将其简化为线性系统后进行研究的。对于非线性因素不能忽略或高阶的系统,解析法常常因为存在诸多困难而不能适用。从原则上讲,仿真法对系统数学模型的形式及复杂程度没有限制,是广泛适用的。从这个意义上看,仿真法优于解析法。
因此,当出现下列情况之一时,应该考虑采用仿真法而不用解析法。
① 不存在完整的数学公式,或者还没有一套合适的求解数学模型的方法。离散事件系统中的许多排队模型就属于这种情况。
② 虽然可以采用解析法,但数学过程太复杂,而仿真可以提供比较简单的求解方法。
③ 解析解存在而且是可能获取的,但超出了个人的数学能力。因此应该估计一下,是将数学模型转换成仿真模型并在计算机上运行所需的费用大,还是向外求助以获得解析解所需的费用大。
④ 希望在一段较短的时间内能观测到过程的全部历史及估计某些参数对系统行为的影响。
但是,由于仿真是通过一系列试验来研究系统的,当模型的复杂程度增大时,试验次数就会迅速增加。对于一个具体问题,到底采用仿真法还是解析法呢?我们建议:首先考虑采用解析法;当系统比较复杂不易采用解析法时,则采用仿真法。在有些情况下,先将系统的模型抽象、简化成解析法易于求解的形式加以研究,然后逐步考虑实际中更复杂的情况再采用仿真法进行研究。这时,仿真是作为一种补充手段而加以应用的。在另外一些情况下,由于系统太复杂,完全不能采用解析法,仿真法则是唯一的解决问题的手段。另外,如果工程技术人员或非数学专业人员不很熟悉解析方法,而目前各个领域中的仿真软件又较为常见,则采用仿真法可以简便地解决问题。