变步长四阶龙格库塔法原理
- 格式:ppt
- 大小:116.50 KB
- 文档页数:5
《四阶龙格—库塔法的原理及其应用》
龙格—库塔法(又称龙格库塔法)是由一系列有限的、独立的可能解组成的无穷序列,这些解中每个都与原来的数列相差一个常数。
它是20世纪30年代由匈牙利著名数学家龙格和库塔提出的,故得此名。
1.它的基本思想是:在n 阶方阵M 上定义一个函数,使得当n 趋于无穷时,它在m 中所表示的数值为M 的某种特征值,从而构造出一族具有某种特性的可计算函数f (x)= Mx+ C (其中C 为任意正整数)。
例如,若f (x)=(a-1) x+ C,则称之为(a-1) x 的龙格—库塔法。
2.它的应用很广泛,可以求解各类问题,且能将大量的未知数变换成少数几个已知数,因此它是近似计算的一种重要工具。
3.
它的优点主要有:(1)可以将多项式或不等式化成比较简单的形式;(2)对于同一问题可以用不同的方法来解决,并取得同样的结果;(3)适合处理高次多项式或者不等式,尤其适合处理多元函数的二次型。
4阶经典龙格库塔公式求解微分方程4阶龙格库塔法(也称为四阶Runge-Kutta方法)是一种常用于求解常微分方程的数值方法。
它是由德国数学家卡尔·龙格以及他的学生马丁·威尔海姆·库塔于1901年独立提出的。
以下是详细的介绍。
1.问题描述我们考虑一个典型的常微分方程初值问题:dy/dx = f(x, y),y(x0) = y0其中,x0是给定的初始点,y(x)是我们要求解的函数,f(x,y)是已知的函数。
2.方法原理四阶龙格库塔方法的基本思想是通过使用全区间的函数信息来估计下一步的函数值。
在每个步骤中,我们计算四个不同的估计量,然后将它们组合起来以获取最终的解。
具体来说,我们首先计算在初始点x0上的斜率k1=f(x0,y0)。
然后我们计算在x0+h/2处的斜率k2=f(x0+h/2,y0+h/2*k1),其中h是步长。
以此类推,我们计算k3和k4分别在x0+h/2和x0+h处的斜率。
然后,我们通过加权组合这些斜率来计算下一个点的函数值y1:y1=y0+(h/6)*(k1+2*k2+2*k3+k4)。
3.算法步骤以下是使用四阶龙格库塔法求解常微分方程的详细步骤:步骤1:给定初始条件 y(x0) = y0,选择步长 h 和积分终点 x_end。
步骤2:计算积分步数n:n = (x_end - x0)/h。
步骤3:设置变量x=x0和y=y0,并将步长设置为h。
步骤4:对每个步数i=1,2,...,n,执行以下计算:4.1:计算斜率k1=f(x,y)。
4.2:计算斜率k2=f(x+h/2,y+h/2*k1)。
4.3:计算斜率k3=f(x+h/2,y+h/2*k2)。
4.4:计算斜率k4=f(x+h,y+h*k3)。
4.5:计算下一个点的函数值y1=y+(h/6)*(k1+2*k2+2*k3+k4)。
4.6:将x更新为x+h,y更新为y1步骤5:重复步骤4,直到达到积分终点 x_end。
matlab利用四阶runge-kutta算法求解原理四阶Runge-Kutta(RK4)方法是一种常用的数值求解常微分方程(ODEs)的方法。
下面是RK4方法的基本原理,以及如何在MATLAB中实现:###基本原理:1.ODE表示:我们考虑形如dy/dx=f(x,y)的常微分方程,其中y是未知函数,f是给定的函数。
2.离散化:我们将x轴上的区间分成若干小步长h。
我们的目标是找到每一步上的y值。
3.四阶Runge-Kutta公式:这个方法的核心是通过四个中间步骤来逼近每一步的斜率,然后计算新的y值。
具体的步骤如下:-k1=h*f(x_n,y_n)-k2=h*f(x_n+h/2,y_n+k1/2)-k3=h*f(x_n+h/2,y_n+k2/2)-k4=h*f(x_n+h,y_n+k3)其中,x_n和y_n是当前步的x和y值,h是步长。
新的y值计算为:y_{n+1}=y_n+(k1+2*k2+2*k3+k4)/6###在MATLAB中的实现:在MATLAB中,你可以使用以下的代码来实现四阶Runge-Kutta算法:```matlabfunction[x,y]=runge_kutta_4th_order(f,x0,y0,h,x_end)x=x0:h:x_end;y=zeros(size(x));y(1)=y0;for i=1:(length(x)-1)k1=h*f(x(i),y(i));k2=h*f(x(i)+h/2,y(i)+k1/2);k3=h*f(x(i)+h/2,y(i)+k2/2);k4=h*f(x(i)+h,y(i)+k3);y(i+1)=y(i)+(k1+2*k2+2*k3+k4)/6;endend```这个函数接受一个ODE的右侧函数f,初始值x0和y0,步长h,以及求解的终点x_end。
返回的x和y包含了在给定区间内的解。
你可以调用这个函数并提供你自己的ODE右侧函数f。
龙格-库塔方法3.2 Runge-Kutta法3.2.1 显式Runge-Kutta法的一般形式上节已给出与初值问题(1.2.1)等价的积分形式(3.2.1)只要对右端积分用不同的数值求积公式近似就可得到不同的求解初值问题(1.2.1)的数值方法,若用显式单步法(3.2.2)当,即数值求积用左矩形公式,它就是Euler法(3.1.2),方法只有一阶精度,若取(3.2.3)就是改进Euler法,这时数值求积公式是梯形公式的一种近似,计算时要用二个右端函数f的值,但方法是二阶精度的.若要得到更高阶的公式,则求积分时必须用更多的f值,根据数值积分公式,可将(3.2.1)右端积分表示为注意,右端f中还不能直接得到,需要像改进Euler法(3.1.11)一样,用前面已算得的f值表示为(3.2.3),一般情况可将(3.2.2)的 表示为(3.2.4)其中这里均为待定常数,公式(3.2.2),(3.2.4)称为r级的显式Runge-Kutta法,简称R-K方法.它每步计算r个f值(即),而k由前面(i-1)个已算出的表示,故公式是显式的.例i如当r=2时,公式可表示为(3.2.5) 其中.改进Euler 法(3.1.11)就是一个二级显式R-K 方法.参数取不同的值,可得到不同公式.3.2.2 二、三级显式R-K 方法对r=2的显式R-K 方法(3.2.5),要求选择参数,使公式的精度阶p 尽量高,由局部截断误差定义11122211()()[(,())(,)]n n n n n n n T y x y x h c f x y x c f x a h y b hk ++=--+++ (3.2.6) 令,对(3.2.6)式在处按Taylor 公式展开,由于将上述结果代入(3.2.6)得要使公式(3.2.5)具有的阶p=2,即,必须(3.2.7)即由此三式求的解不唯一.因r=2,由(3.2.5)式可知,于是有解(3.2.8)它表明使(3.2.5)具有二阶的方法很多,只要都可得到二阶精度R-K方法.若取,则,则得改进Euler法(3.1.11),若取,则得,此时(3.2.5)为(3.2.9)其中称为中点公式.改进的Euler法(3.1.11)及中点公式(3.2.9)是两个常用的二级R-K方法,注意二级R-K方法只能达到二阶,而不可能达到三阶.因为r=2只有4个参数,要达到p=3则在(3.2.6)的展开式中要增加3项,即增加三个方程,加上(3.2.7)的三个方程,共计六个方程求4个待定参数,验证得出是无解的.当然r=2,p=2的R-K方法(3.2.5)当取其他数时,也可得到其他公式,但系数较复杂,一般不再给出.对r=3的情形,要计算三个k值,即其中将按二元函数在处按Taylor公式展开,然后代入局部截断误差表达式,可得可得三阶方法,其系数共有8个,所应满足的方程为(3.2.10)这是8个未知数6个方程的方程组,解也是不唯一的,通常.一种常见的三级三阶R-K方法是下面的三级Kutta方法:(3.2.11)附:R-K 的三级Kutta 方法程序如下function y = DELGKT3_kuta(f, h,a,b,y0,varvec) format long; N = (b-a)/h;y = zeros(N+1,1); y(1) = y0; x = a:h:b;var = findsym(f); for i=2:N+1K1 = Funval(f,varvec,[x(i-1) y(i-1)]);K2 = Funval(f,varvec,[x(i-1)+h/2 y(i-1)+K1*h/2]); K3 = Funval(f,varvec,[x(i-1)+h y(i-1)-h*K1+K2*2*h]);y(i) = y(i-1)+h*(K1+4*K2+K3)/6; %满足c1+c2+c3=1,(1/6 4/6 1/6)endformat short; 3.2.3 四阶R-K 方法及步长的自动选择利用二元函数Taylor 展开式可以确定(3.2.4)中r=4,p=4的R-K 方法,其迭代公式为111223344()n n y y h c k c k c k c k +=++++其中1(,)n n k f x y =,2221(,(,))n n n n k f x a h y b hf x y =++,而33311322(,)n n k f x a h y b hk b hk =+++ 44411422433(,)n n k f x a h y b hk b hk b hk =++++共计13个参数待定,Taylor 展开分析局部截断误差,使得精度达到四阶,即误差为5()O h 。
4阶Runge-Kutta方法是一种数值求解常微分方程的方法,它通过迭代的方式逐步逼近微分方程的解。
本文将从原理、推导以及应用等方面对4阶Runge-Kutta方法进行详细解读。
1. 原理4阶Runge-Kutta方法是数值分析中常用的数值解常微分方程的方法之一。
它的核心思想是利用哈密顿显式中点法求解微分方程。
该方法通过将微分方程的解离散化,然后通过计算每一步的斜率来逐步逼近方程的解,最终得到数值解。
2. 推导假设我们要求解如下的一阶常微分方程初值问题:$\frac{dy}{dx} = f(x, y)$$y(x_0) = y_0$其中$f(x, y)$是关于$x$和$y$的函数,$y_0$是初值,$x_0$是初始点。
现在我们希望通过4阶Runge-Kutta方法来求解上述方程。
我们将自变量$x$进行离散化,即将其分成$n$个小区间,每个小区间长度为$h$,即$x_i = x_0 + ih$,$i=0,1,2,...,n$。
然后我们利用下面的迭代公式来计算每一步的$y$的近似值:$k_1 = h f(x_i, y_i)$$k_2 = h f(x_i + \frac{h}{2}, y_i + \frac{k_1}{2})$$k_3 = h f(x_i + \frac{h}{2}, y_i + \frac{k_2}{2})$$k_4 = h f(x_i + h, y_i + k_3)$$y_{i+1} = y_i + \frac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)$式中,$k_1$、$k_2$、$k_3$、$k_4$分别表示斜率的四个近似值,$y_{i+1}$表示下一个点的近似值。
3. 应用4阶Runge-Kutta方法在实际工程问题中有着广泛的应用。
它不仅可以用来解决一阶常微分方程,还可以推广到高阶微分方程、常微分方程组以及偏微分方程等更复杂的问题。
由于该方法的高精度和稳定性,它也被广泛应用于科学计算领域,例如物理学、工程学、生物学和经济学等各个领域。
四阶龙格库塔方法求解n自由度二阶微分方程在数值计算中,龙格-库塔方法(Runge-Kutta method)是一种常用的求解常微分方程(ODE)的数值方法。
它是一种多步法(multiple-step method),通过使用不同的近似值来迭代计算ODE 的解。
其中,四阶龙格-库塔方法是最常用的龙格-库塔方法之一,也是一种高阶方法,可用于求解n自由度二阶微分方程。
下面将介绍四阶龙格-库塔方法的原理、步骤和应用。
首先,我们来回顾一下二阶微分方程的一般形式:y''(y)=y(y,y(y),y'(y))这里,y(y,y(y),y'(y))是已知的函数,y(y)是我们要求解的未知函数。
为了求解这个二阶微分方程,我们需要将其转化为一个一阶微分方程的求解问题。
令y(y)=y(y)y(y)=y'(y)这样,我们可以将原始的二阶微分方程转化为如下的一阶微分方程组:y'(y)=y(y)y'(y)=y(y,y(y),y(y))现在,我们可以利用四阶龙格-库塔方法来求解这个一阶微分方程组。
四阶龙格-库塔方法基于泰勒展开的思想,通过使用一系列的近似值来逼近方程的解。
该方法的一般形式为:y1=ℎy(yy,yy)y2=ℎy(yy+ℎ/2,yy+y1/2)y3=ℎy(yy+ℎ/2,yy+y2/2)y4=ℎy(yy+ℎ,yy+y3)yy+1=yy+1/6(y1+2y2+2y3+y4)yy+1=yy+ℎ其中,yy是当前时间步,yy+1是下一个时间步,yy是当前位置的近似解,yy+1是下一个位置的近似解,ℎ是时间步长,y1、y2、y3和y4是中间的近似值。
四阶龙格-库塔方法的步骤如下:Step 1:给定初始条件我们需要提供初始条件,包括初始位置y0和初始速度y0,以及时间步长ℎ、求解的时间区间[y0,yy]和离散时间步数y。
y0=y(y0)y0=y'(y0)Step 2:进行迭代计算从n=0开始,进行y步的迭代计算,其中y=(yy−y0)/ℎ。
四阶龙格——库塔法2013-2014(1)专业课程实践论文题目:四阶龙格—库塔法一、算法理论由定义可知,一种数值方法的精度与局部截断误差()po h有关,用一阶泰勒展开式近似函数得到欧拉方法,其局部截断误差为一阶泰勒余项2()o h,故是一阶方法,完全类似地若用p阶泰勒展开式2'''()11()()()......()()2!!pp p n n n n n h h y y x hy x y x y x O h p ++=+++++ 进行离散化,所得计算公式必为p 阶方法,式中'''''()(,),()(,)(,)(,)....x y x f x y y x f x y f x y f x y ==++由此,我们能够想到,通过提高泰勒展开式的阶数,可以得到高精度的数值方法,从理论上讲,只要微分方程的解()y x 充分光滑,泰勒展开方法可以构造任意的有限阶的计算公式,但事实上,具体构造这种公式往往相当困难,因为符合函数(,())f x y x 的高阶导数常常是很烦琐的,因此,泰勒展开方法一般不直接使用,但是我们可以间接使用泰勒展开方法,求得高精度的计算方法。
首先,我们对欧拉公式和改进欧拉公式的形式作进一步的分析。
如果将欧拉公式和改进的欧拉公式改写成如下的形式:欧拉公式{111(,)n n n n y y hK K f x y +==+改进的欧拉公式11211()22n n y y h K K +=++, 1(,)n n K f x y =,21(,)n n K f x h y hK =++。
这两组公式都是用函数(,)f x y 在某些点上的值的线性组合来计算1()n y x +的近似值1n y +,欧拉公式每前进一步,就计算一次(,)f x y 的值。
另一方面它是1()n y x +在n x 处的一阶泰勒展开式,因而是一阶方法。
改进的欧拉公式每前进一步,需要计算两次(,)f x y 的值。
四阶龙格库塔公式推导过程好啦,今天咱们来聊聊四阶龙格库塔公式。
这可不是个什么神秘的术语,听上去高大上,其实就是一种数值方法,能帮助咱们解决那些不好解的微分方程。
简单来说,就是给你一把钥匙,帮你打开那些复杂数学问题的大门。
你想想,这就像是把一道难吃的菜变得美味可口,真的特别有成就感。
龙格库塔,这个名字听着就挺酷的,像个超级英雄似的。
不过,它可不是在打怪,而是在帮你数值计算。
四阶龙格库塔,顾名思义,就是它有四个“步骤”。
这些步骤就像是在画一幅画,每一笔都是关键。
咱们平时解微分方程,往往需要找出函数在某个点的值,这个时候,龙格库塔就派上用场了。
咱们得知道这个方法是怎么运作的。
假设你有一个微分方程,咱们需要在某个初始条件下找出函数的值。
这个时候,我们会先从初始值开始,给它取个名字,比如说y0,嘿嘿,简单明了。
咱们设定一个步长,叫h。
这就像是在游泳的时候,每划一下都得算好距离。
然后,龙格库塔的第一步就开始啦,咱们要算出一个中间值k1,这个k1就代表了函数在当前点的变化率。
大家可以想象,这就像是在观察波浪的起伏,能让你了解水的走势。
咱们进入第二步,计算k2。
这一步可有意思了,k2是用k1算出来的,不仅如此,咱们还得把步长h的一半加进去,像是在沙滩上画出新的轨迹。
想象一下,你正准备冲浪,得在合适的时机做出反应,这一步特别重要。
然后第三步k3又来了,类似于k2,不过这回要再加一点变化,咱们总得对波涛汹涌的海浪有点心理准备,不是吗?咱们得算出k4,哇,这一步就像是给这幅画上色。
k4是根据k3的结果再往前走一步,咱们把所有这些k值结合起来,哗啦一声,就能算出下一个点的值。
把这些值加起来,算个平均,这样一来,咱们的结果就出来啦!是不是感觉就像是在做一道色拉,把各种食材混合在一起,最终呈现出一幅美丽的佳肴?听到这里,可能有的小伙伴会想:“这四阶龙格库塔是不是太复杂了?”其实不然,记住这几个步骤,就像背熟了一首歌,慢慢的,咱们就能驾轻就熟。
四阶龙格库塔法原理四阶龙格库塔法是一种常用的数值解微分方程的方法,它在工程、物理、计算机科学等领域都有着广泛的应用。
四阶龙格库塔法的原理相对简单,但能够较为准确地求解微分方程,因此受到了广泛的关注和应用。
首先,我们来了解一下什么是微分方程。
微分方程是描述自然界中变化规律的数学模型,它包含了未知函数及其导数的方程。
在实际问题中,我们常常需要求解微分方程来得到系统的演化规律。
然而,有些微分方程并没有解析解,这时就需要借助数值方法来求解。
四阶龙格库塔法就是其中一种常用的数值方法。
四阶龙格库塔法的原理可以简单概括为以下几个步骤:首先,我们需要将微分方程化为一阶方程组的形式。
这是因为四阶龙格库塔法是针对一阶方程组的数值解法。
其次,我们需要选择一个合适的步长h。
步长的选择对于数值解的精度有着重要的影响,通常需要通过实验来确定一个合适的步长。
然后,我们可以通过迭代的方式来逐步求解微分方程。
四阶龙格库塔法通过多次迭代,利用当前点的斜率来估计下一个点的值,从而逐步逼近真实解。
最后,我们可以通过迭代得到的数值解来近似地描述微分方程的解。
四阶龙格库塔法在一定条件下能够较为准确地求解微分方程,因此在实际应用中有着广泛的价值。
四阶龙格库塔法的原理相对简单,但是需要注意的是,在具体应用时需要考虑步长的选择、迭代次数的确定等参数,以及对于不同类型的微分方程可能需要进行适当的调整。
此外,四阶龙格库塔法也有其局限性,对于某些特殊类型的微分方程可能并不适用,因此在具体应用时需要综合考虑。
总的来说,四阶龙格库塔法是一种常用的数值解微分方程的方法,它通过迭代的方式逐步逼近真实解,具有一定的精度和稳定性。
在实际应用中,我们需要根据具体问题的特点来选择合适的数值方法,并注意参数的选择和调整,以获得准确的数值解。
四阶龙格库塔法在工程、物理、计算机科学等领域都有着广泛的应用,对于研究和解决实际问题具有重要的意义。
三、四阶Runge-Kutta 法求解常微分方程一、龙格库塔法的思想根据第九章的知识可知道,Euler 方法的局部截断误差是2()O h ,而当用Euler 方法估计出1,()(1)n n n n y y hf x y +=+ 再用梯形公式111[(,)(,)](2)2n n n n n n h y y f x y f x y +++=++进行校正,即采用改进Euler 方法得出数值解的截断误差为3()O h 。
由Lagrange 微分中值定理'11()()()()()(,())(3)n n n n n y x y x y x x y x hf y ξξξ++=+-=+ 记*(,())k hf y ξξ=,得到*1()()(4)n n y x y x k +=+这样只要给出一种计算*k 的算法,就能得到相应的计算公式。
用这种观点的来分析Euler 方法和改进Euler 方法,Euler 方法的迭代公式可改写为111(,)n n n n y y k k hf x y +=+=改进Euler 方法的预报-校正公式可改写为 1121211()2(,),(,)n n n n n n y y k k k hf x y k hf x h y k +=++==++ Euler 方法实际上是用一个点处的值1k 近似*k ,而改进Euler 方法是用两个点处的值1k ,和2k ,做算术平均值近似*k 自然改进Euler 方法要优于Euler 方法。
因此,可以想到假如在1[,]n n x x +内多预报几个点值i k ,并用他们的加权平均值作为*k 的近似值,则有可能构造出具有更高精度的计算公式,这就是Runge-Kutta 法的基本思想。
二、四阶龙格库塔法由Runge-Kutta 的基本思想,构造四阶Runge-Kutta 法是利用1234,,k k k k 和的加权平均值来近似*k ,因此令1112233441211132211243312213(,)(,)(5)(,)(,)n n n n n n n n n n y y w K w K w K w K K hf x y K hf x h y K K hf x h y K K K hf x h y K K K αβαβγαβγη+=++++⎧⎪=⎪⎪=++⎨⎪=+++⎪⎪=++++⎩使得511()()n n y x y O h ++-=即其总体截断误差为4()O h 。
四阶龙格库塔法原理四阶龙格库塔法是一种常用的数值解微分方程的方法,它是龙格-库塔法的一种改进版本。
在数值计算中,我们经常会遇到微分方程,而微分方程的解析解往往难以求得,因此需要借助数值方法来近似求解。
四阶龙格库塔法作为一种高阶精度的数值方法,被广泛应用于科学计算和工程领域。
四阶龙格库塔法的原理基于泰勒级数展开,通过不断迭代来逼近微分方程的解。
其基本思想是将微分方程中的导数用差分来代替,然后通过一系列计算步骤来逼近真实解。
这种方法的优点在于可以通过控制步长来控制误差,同时具有较高的数值稳定性和精度。
具体来说,四阶龙格库塔法的计算步骤如下:1. 根据微分方程,确定初始条件和求解区间。
2. 将求解区间等分为若干小步长,确定每一步长上的近似解。
3. 利用龙格-库塔法的迭代公式,依次计算每个步长上的近似解。
4. 将每个步长上的近似解进行加权平均,得到整个求解区间上的近似解。
四阶龙格库塔法通过多步迭代和加权平均的方式,能够显著提高数值解的精度和稳定性。
相比于低阶龙格-库塔法,四阶龙格库塔法在保持计算效率的同时,能够显著减小误差,更加准确地逼近微分方程的解。
在实际应用中,四阶龙格库塔法常常用于求解常微分方程和偏微分方程,特别是对于一些复杂的非线性方程,其数值稳定性和精度优势更加明显。
此外,四阶龙格库塔法也被广泛应用于模拟仿真、控制系统、物理建模等领域,为工程技术和科学研究提供了重要的数值计算手段。
总的来说,四阶龙格库塔法作为一种高阶精度的数值方法,具有较高的数值稳定性和精度,能够有效地解决复杂微分方程的数值求解问题。
在实际应用中,我们需要根据具体问题的特点和求解精度的要求,选择合适的数值方法进行求解,而四阶龙格库塔法无疑是一个重要的选择之一。
四阶龙格库塔法原理
四阶龙格库塔法是一种常见的数值计算方法,用于求解常微分方程的初值问题。
该方法通过逐步逼近准确解来得到数值解。
在四阶龙格库塔法中,我们将求解区间 [a, b] 平均分成 n 个子
区间,每个子区间的长度为 h = (b - a) / n,其中 a 是初始点,b 是终点。
首先,我们需要给出初始条件 y(a),即方程在 a 点的值。
然后,我们利用以下公式依次计算 y(a + kh) 的近似值,其中 k 为当
前步数(从 0 开始):
\[
\begin{align*}
k_1 &= hf(a, y(a)) \\
k_2 &= hf(a + \frac{h}{2}, y(a) + \frac{k_1}{2}) \\
k_3 &= hf(a + \frac{h}{2}, y(a) + \frac{k_2}{2}) \\
k_4 &= hf(a + h, y(a) + k_3) \\
y(a + kh) &= y(a) + \frac{k_1 + 2k_2 + 2k_3 + k_4}{6}
\end{align*}
\]
其中,f(a, y(a)) 为方程的右端函数,描述了方程随时间的变化
规律。
在每一步中,我们利用当前步数的近似值 k1 到 k4 来计算下一步的近似值。
最后,通过不断迭代计算,直到达到指定的终点b,我们可以得到方程的数值解。
四阶龙格库塔法的主要原理是通过将步长 h 下的误差控制在O(h^5) 的级别,从而在保证计算效率的同时,提高数值解的精度。
该方法具有较好的稳定性和精确性,常被应用于各种科学计算和工程问题的数值求解中。