工程中的非线性理论与方法Ref:1.冯康等编,数值计算方法,国防版。2.何君毅,工程结构非线性问题的数值解法,国防工业版。3.王德人编,非线性方程组解法与最优化方法,高教版4.李岳生编,数值逼近,人民教育出版社。绪论一.非线性问题的广泛性工程中的非线性问题是普遍存在的。严格地讲,工程中几乎绝大多数复杂问题都具有非线性本质或呈现出非线性现象,仅是在一定的条件之下,我们可将其理想化或简化为线性问题。因此,曾有学者认为:在物质世界中,无论是宇观、宏观和微观,都是由一定层次结构和功能的非线性系统构成的,也即自然界和现实生活中几乎所有系统都是非线性的。事实上,正是由于非线性的存在和作用,才孕育出大自然的五彩缤纷、万千气象和人类社会的风云变幻,人类思维的错综差异。1.数学中的非线性问题:1).代数插值2).曲线曲面拟合3).非线性回归4).高次代数方程和超越方程5).非线性方程组6).非线性常微分方程(组)7).非线性偏微分方程(初值、边值)8).非线性规划(无约束、约束)。2.机械与结构工程中的非线性问题:1).柔性可变结构的计算(柔索计算)2).材料非线性问题(弹塑性力学,塑性力学,蠕变力学)3).复合材料力学4).几何非线性问题(大变形问题,屈曲问题)5).边界(接触)非线性6).非线性动力学(定则振动,随机振动)柔性多体系统动力学7).非线性系统控制问题8).传热学中的非线性问题9).流体力学和空气动力学中非线性问题等等二.非线性问题(系统)的特点尽管工程中的非线性问题涉及到许多学科,内容不尽相同。但它们都具有如下非线性问题的共同特点:1.系统最终的控制方程均为非线性方程(代数、常微分、偏微分)2.线性迭加原理在整体上不成立,最多只在只局部近似成立例如:基于线性迭加原理的力法方程,杜哈美积分(卷积),振型迭加法等等,在整体上均不成立。对于非线性问题应用线性问题中的这些求解方法将导致不真实甚至不合理的结果。3.问题一般无解析解(除一元二次方程外)即适用于线性问题的解析法对于非线性问题无能为力,故通常均需采用数值方法或其它近似方法求解。4.非线性问题的理论和方法仅在一定范围内适用对于非线性系统一般都具有开放性、对称破缺、不可逆性、遍历性和不确定性。由于非线性问题的上述特征,使得对于非线性问题,人们不能再指望并且也不会存在有像牛顿力学那样具有普遍性和完备性的理论,非线性问题中几乎所有的理论和方法都不能也不可能包打天下,都将具有一定的适用范围,即使像数学公理体系也都是不完备的。三.非线性问题研究的历史与现状历史:工程中的非线性问题早在19世纪中叶就引起人们的关注,并引起了一些著名数学家,力学家的研究兴趣,经过他们的不懈努力,取得一些了不起的研究成果,例如,19世纪以俄国学者庞加箂为代表的学派,针对求解非线性振动方程提出了摄动方法、等效线性化方法、相平面方法等等,至今仍为求解拟非线性微分方程的基本方法之一。又例如:针对于求解场问题(电磁场、温度场、流场、应力场)产生于20世纪早期的有限差分法和变分法等等,至今仍在发挥着重要的作用。然而,由于当时科技水平的限制和计算工具的匮乏与落后,非线性问题的解决尚没有革命性和根本性的突破。许多非线性问题仍被人们视若“难题”,“硬骨头”和“拦路虎”,使人望而生畏、束手无策,。鉴于此,工程师在分析、计算和设计中不得不回避或绕道而行。,可以说,在相当长的历史阶段,科学家和工程师面对非线性科学向人们提出的巨大挑战,在不懈的努力,焦急的徘徊。现状:经过几代科学家多年的努力,特别是自20世纪60年代以来,有限差分,有限元和边界元法等数值方法的出现和发展,以及高速大容量的电子计算机的问世和普及应用,为非线性问题的解决提供了必要的计算手段和计算工具,使人们对非线性问题的研究如虎添翼,研究工作取得了长足的进步。今天不仅已可对许多非线性问题进行定性分析,而且定量的数值分析和模拟亦成为可能。近年来,科学家们对非线性问题的研究掀起了一个空前的高潮。非线性问题成为各学科中的热点课题,研究论文与日俱增,学术研讨会也越来越多。可以断言,随着非线性“普适性”和新的数学分析方法的诞生,使得许多人们长期认为是非常困难的非线性问题的求解不再是“天方夜谭”。如:流体力学中的湍流问题,分岔和分形问题,混沌问题,神经网络系统问题等等。充分显示出非线性科学的巨大潜力和重要意义。尽管在近十多余中,非线性科学的研究有了空前迅速的发展,但目前对非线性问题仍然缺乏系统的处理方法和分析框架,对于一般非线性发展方程还没有线性问题中Fourier交换那样类似的工具。完全地攻克非线性这一科学道路上的超级堡垒,是整个科学界进入21世纪将面临的一项巨大挑战,也是未来整个自然科学和工程领域研究的前沿工作。四本课程学习主要内容Ch1.代数插值Ch2.曲线曲面拟合Ch3.非线性方程的数值解法Ch4.非线性方程组的数值解法Ch5.非线性规划问题Ch6.非线性振动Chapter1代数插值§1.1概述1.问题的背景:(1).工程上:在机械制造、几何造型中,常常给定一批离散样点,要求利用数学的方法,自动作出一条光滑的曲线(甚至曲面),使这一曲线(面),通过这些样点,以满足设计要求或据此进行放样机械加工。例如:赋形抛物线,汽车、飞机的曲面外壳等等。(2).数学上:在用数值方法求解有关连续函数问题时,往往要根据已知离散点的数据插补中间点。如:用差商代替微商;有限元中求非节点处的位移和应力等等。与此相关的一类数学问题即是插值问题。2.问题的提法通俗的讲,所谓插值就是在给定的样点间再插进一些所需要的中间值。如何进行插值,其基本思想是:设法构造某个简单函数y=F(x),作为样点函数的近似。其数学提法是:给定一组样点:0011(,),(,)...,(,)nnxyxyxy,确定一个光滑的连续的函数y=F(x),使其曲线通过所有的样点,即满足:00,11,()()...,()nFxyFxyFxy(*)如图示满足上述要求的函数y=F(x)称为插值函数,它是待求的函数。构造F(x)的基本要求:(1)函数形式为便于计算的“初等”函数,如:多项式函数、分段多项式函数;(2)函数的自由度(即待定参数个数,例如多项式的系数)数目应与要求的插值条件(*)个数相等。§1.2多项式插值为以下讨论方便,统一约定如下:ix(i=0,1,2····)——节点f(x)——某个原函数,其在节点处的函数值为:(),(0,1,2...);iiffxi一阶导数值为:''(),(0,1,2...)iiffxi;F(x)———待求的插值多项式函数,其次数等于插值条件数;E(x)=f(x)-F(x)为原函数与插值函数的插值余项(绝对误差)[x0,x1,….]=max{x0,x1,….}-min{x0,x1,….},表示含有点x0,x1,….的最大区间,即以上端点max{x0,x1,….}和下端点min{x0,x1,….}构成的区间。一.线性插值(两点一次插值)求过两个样点(x0,f0),(x1,f1)的线性插值函数y=F(x)。由相似三角形关系,插值函数F在[x0,x1]任一点x处的函数值为:100010()()(1.1)ffFxfxxaxx——点斜式经整理得:01010110()**xxxxFxffxxxx(1.1b)——对称式(1.1a)和(1.1b)即为所求得一次多项插值函数,共有两项。可见线性插值函数有两种表达形式,它们表述的是同一线性函数,在理论分析时常采用对称式,但在实际计算中则常用点斜式。为分析表达统一方便起见:令:01010110(),()xxxxlxlxxxxx(1.2)这是两个一次多项式函数。显然有:0100011011()()1()1,()0()0,()1lxlxlxlxlxlx(1.3)即称0()lx,1()lx为线性插值的基函数。从而(1.1b)式给出的线性插值函数可由基函数表为:0011()*()*()Fxflxflx(1.1c)此式表明:插值函数为基函数的线性组合。插值公式的特点:观察点斜式(1-1a),其中的差商项:1010fffxxx当10xx时,若10ff,则有;00''100010()lim()()xxfffdfxfxxxxdxxf从而(1-1a)的极限形式为:~'000()()Fxffxx此结果表明:一次插值函数F(x)的极限形式~()Fx恰为原函数f(x)在节点x0处的一阶泰勒展开式,其几何上的解释为:当节点x1趋向x0时,插值函数F(x)将逼近原函数f(x)在点(x0,f0)处的切线~()Fx。由微分中值定理,线性插值函数的余项(与原函数f(x)的绝对误差)为:''011()()()()()()2ExfxFxfxxxx01[,,]xxx(1.4)记201()()xxxx——x的二次多项式。则:''21()()2Exf01[,,]xxx可见线性插值函数F(x)对于原函数数值具有二阶精度,直到一阶导数值亦有逼近性。也就是说,若原函数f(x)为线性函数,则插值余项()0Ex,即插值F(x)就是原函数f(x)。二.抛物线插值(三点二次插值)线性插值仅仅利用两个样点的信息,精度自然不高。为改善精度,可采用三点两次插值。即求过三个样点(x0,f0),(x1,f1),(x2,f2)的抛物线二次函数F(x)(即二次多项式函数),见图。()Fx为二次多项式函数,其根据前的讨论,它可表为基函数的线性组合形式,即20()*()iiiFxflx,故设:001122()*()*()*()Fxflxflxflx(1.5)式中012(),(),()lxlxlx为二次插值的基函数(待求),由基函数应满足的条件为:000102101112202122()1,()0,()0()0,()1,()0()0,()0,()1lxlxlxlxlxlxlxlxlx(正交规范条件)(1.6)这样的基函数不难直接构造,现以0()lx为例说明之。欲使0()lx满足0102()()0lxlx,显然0()lx中应含有1()xx和2()xx两个因子,故令:012()()()lxxxxx(1.7)其中:为待求系数。由0012()()()1lxxxxx条件,可解得:121()()xxxx代入(1-7)中,可得基函数1200102()()()()()xxxxlxxxxx(1.8a)这是一个两次的多项函数。类似可求得:0211012()()()()()xxxxlxxxxx(1.8b)0122021()()()()()xxxxlxxxxx(1.8c)()(0,1,2)ilxi的图形:将(1.8a~c)代入(1.5)中,即可得所求得二次插值多项式函数y=F(x)。显然此函数满足所有插值条件:001122(),(),()FxfFxfFxf由微分中值定理,二次插值函数的余项(与原函数f(x)的绝对误差)为:0121()()()()()()()3!ExfxFxfxxxxxx012[,,,]xxxx(1.9)记3012()()()xxxxxx——x的三次多项式。则:31()()()()3!ExfxFxf012[,,,]xxxx即二次插值多项式函数F(x)具有三阶精度,且直到二阶导数都有逼近性,即若f(x)为二次函数,则三点二次插值函数的插值余项为零。例1,利用100,121,144的平方根求115(=10.7238*)解:样点为:x0=100,f0=10x1=121,f1=11x2=144,f2=12插值点:x=115,求插值函数值F(115)代入插值公式(1.5)中,即有*(115121)(115144)(115100)(115144)(115)*10*11(100121)(100144)(121100)(121144)(115100)(115121)*1210.