非线性方程-概念应用及解法

时间:2024-11-21 11:48:06

一:什么是线性方程

线性方程也称一次方程式,指变量均是一次幂的方程,其一般的形式是ax+by+…+cz+d=0,线性方程的本质是等式两边乘以任何相同的非零数,方程的本质都不受影响。因为在笛卡尔坐标系上任何一个一次方程的表示都是一条直线,组成一次方程的每个项必须是常数或者是一个常数和一个变量的乘积,且方程中必须包含一个变量,因为如果没有变量只有常数的式子是代数式而非方程式。

二:什么是非线性方程

非线性方程,就是因变量与自变量之间的关系不是线性的关系,这类方程很多,平方关系x^2、对数关系log(x)、指数关系2^x、三角函数关系sin(x)等等。例如e^x-con(x)=0就是一个非线性方程。与线性方程相比,无论是解的存在性,还是求解的计算公式,非线性方程都要复杂得多。

三:非线性方程的应用

随着科技技术的飞速发展,科学计算越来越显示出其重要性。科学计算的应用之广已遍及各行各业,例如气象资料的分析图像,飞机、汽车及轮船的外形设计,高科技研究等都离不开科学计算。因此经常需要求非线性方程 f(x)=0的根。

例如我们要求导弹的轨迹y,y又与导弹的速度v空间位置p加速度a时间参数t等等有关,v又可以分为vx,vy,vz,p也可以分为px,py,pz,每个变量之间不能仅仅是简单的线性关系,如速度v和时间t之间就要考虑重力,空气阻力等等,往往最终列出来的就是一长串非线性方程组,但是这样的方程组的解又极具现实意义,往往科学工程经济学的问题都会转为对非线性方程组的求解

四:非线性方程的解法

1.实根对分法

对分法又称二分法,设函数f(x)在[a,b]上连续,且f(a)f(b)<0,则f(x)在[a,b]上至少有一零点,这是微积分中的介值定理,也是使用对分法的前提条件。

注意:对分法算法简单,然而,若[a,b]上有几个零点时,只能算出其中一个零点;另一方面,即使[a,b]上有零点,也未必有f(a)f(b)<0,这就限制了对分法的使用范围;对分法只能计算方程的实根。

2.不动点迭代法

对给定的非线性方程f(x)=0,将它转换成等价形式:x=φ(x).给定初始值x0,构造迭代序列x(k+1)=φ(x(k)),k=1,2,…,如果迭代收敛

lim x(k+1)=lim φ(x(k))=α

有α=φ(α),则α就是方程f(x)的根。在计算中,当|x(k+1)−x(k)|小于给定精度控制量时,取x(k+1)为方程的根。

3.牛顿迭代法

对于非线性方程f(x)=0可构造多种迭代格式x(k+1)=φ(x(k)),牛顿迭代法是借助于对函数f(x)在x0处做泰勒展开,取其线性部分构造的一种迭代格式。
将f(x)=0在初始值x0做泰勒展开:

f(x)=f(x0)+f′(x0)/(x−x0)+f′′(x0)*(x−x0)^2/2!+…

取展开式的线性部分作为f(x)的近似,则
f(x0)+f′(x0)(x−x0)=0
假设f′(x0)≠0,则
x=x0−f(x0)/f′(x0)

因此得到牛顿迭代法的迭代格式:
x(k+1)=x(k)−f(x(k))/f′(x(k)) , k=1,2,..

4.弦截法

在牛顿迭代法中:x(k+1)=x(k)−f(x(k))/f′(x(k)),k=1,2,…
需要求解函数f(x)的一阶导数,通常比较耗时,因此可用差商代替导数:

f′(x(k))=(f(x(k))−f(x(k-1))) / (x(k)−x(k-1))

给定初始值x0和x1,那么弦截法的迭代格式为:
x(k+1) = x(k)−((x(k)−x(k-1)) * f(x(k)) / (f(x(k))−f(x(k-1)) , k=1,2,…

PS:以上内容只是对非线性方程的简单介绍,今后会不定期更新。