首页 理论教育模块式建模法隐式状态方程的直接代数解法特点分析

模块式建模法隐式状态方程的直接代数解法特点分析

【摘要】:1)对于液压系统及液压元件的数学模型用模块式建模法建立后,在呈隐式状态方程组中,令其导数项为零得静态方程,该方程一般为非线性代数方程组,这时采用牛顿-拉夫逊方法作为解法基础。5)经算法对比验证表明,在动态方程呈线性时,用代数解法与传统Runge-Kutta法相比,其精度可在10-6以上或更高。15)常系数微分方程初值问题的代数解法可以作为标准算法之一采用。

1)对于液压系统及液压元件的数学模型用模块式建模法建立后,在呈隐式状态方程组中,令其导数项为零得静态方程,该方程一般为非线性代数方程组,这时采用牛顿-拉夫逊方法作为解法基础。

2)牛顿-拉夫逊方法一般具有二阶收敛速度,其缺点是收敛性较差,采用了有关加速收敛方法后效果很好,有时即便条件数很大,亦能收敛。

3)在解动态方程时,方程为隐式状态方程,这时变元转换成导数项,依然采用代数解法即同样仍采用牛顿-拉夫逊方法作为解法基础。

4)经理论论证表明,这种常系数微分方程的初值问题采用代数解法具有解的存在性,唯一性及稳定性,因此这一方法是可行的。

5)经算法对比验证表明,在动态方程呈线性时(这与传统的线性微分方程的概念有区别,此时传统概念往往作为非线性处理),用代数解法与传统Runge-Kutta法相比,其精度可在10-6以上或更高。

6)经某些实例验证表明,在几乎完全相同的参数输人下,不同程序包的仿真结果绝对值相差可以很小,总仿真效果从图形曲线上看效果一致,但在峰值、调节时间方面有差异,但误差不大于5ms。这些误差与相应程序包的算法精度要求,步长选择等因素有关。

7)直接代数解法在解动态方程时其初值极易获得巨正确,而一般Runge-Kutta等方法取得初始值较困难(特别是在大系统方程复杂或情况复杂时),这是直接代数解法的极大优点,从而易扩大仿真的范围(从不同初始值情况下进行仿真)。

8)在解静态方程时,牛顿-拉夫逊法对初始值的要求一般应在解附近,经验表明,由于液压系统物理模型明确,要达到这一点并不困难,一般可以给定合理的任意值。为安全起见,可启用快速下降法,由于此法收敛速度慢,故只宜作为取得初始值之用,取用这一快速下降法对初始值要求低,巨有头几步下降速度快的优点,这样既能取得保证收敛性又能加快收敛速度的效果。

9)液压动态模型从代数解法看线性的居多(从传统概念看是非线性的),因而在采用代数解法时,应区分线性与非线性情况,以利于加快运算速度。

10)液压系统特别是液压元件(作为系统时)一般具有严重刚性,(由于系统中存在数值相差悬殊的多个时间常数),仿真结果表明直接代数解法有助于刚性问题的解决,这是因为在利用Runge-Kutta法作为积分数值算法求解Vt)时,K1K2K3K4是通过牛顿法中的Jacobi矩阵求解而得的,因而具有自校正因素。

11)在解动态方程时,第一步是用代数解法,第二步是对各变元积分,后者亦以Runge-Kutta法为算法基础,一般情况下,只要步长选择合适,均能成功收敛。对液压系统步长的选择可不小于10-4,对液压元件步长应不小于10-7。为了缩短运算时间,亦可选择多步法如变步长的RungeKutta法,步长初始可定在小于10-3

12)对于间断点,由于采用了代数解法,因而较容易处理,只要在子模型内加人适当约束条件就可以模拟间断情况(如溢流阀仿真实例)。

13)在解Jacobi矩阵时,既可使用主元法也可采用全主元素法,后者效果更好。

14)仿真程序源程序仅40KB左右,占用内存少,运算速度亦快,对于使用的机型无严格要求。

15)常系数微分方程初值问题的代数解法可以作为标准算法之一采用。