微分方程数值解法
微分方程的数值解法

微分方程的数值解法微分方程是自然科学和现代技术领域中一种最基本的数学描述工具,它可以描述物理世界中的各种现象。
微分方程的解析解往往很难求出,因此数值解法成为解决微分方程问题的主要手段之一。
本文将介绍几种常见的微分方程的数值解法。
一、欧拉法欧拉法是微分方程初值问题的最简单的数值方法之一,它是由欧拉提出的。
考虑一阶常微分方程:$y'=f(t,y),y(t_0)=y_0$其中,$f(t,y)$表示$y$对$t$的导数,则$y(t_{i+1})=y(t_i)+hf(t_i,y_i)$其中,$h$为步长,$t_i=t_0+ih$,$y_i$是$y(t_i)$的近似值。
欧拉法的精度较低,误差随着步长的增加而增大,因此不适用于求解精度要求较高的问题。
二、改进欧拉法改进欧拉法又称为Heun方法,它是由Heun提出的。
改进欧拉法是在欧拉法的基础上进行的改进,它在每个步长内提高求解精度。
改进欧拉法的步骤如下:1. 根据当前$t_i$和$y_i$估算$y_{i+1}$:$y^*=y_i+hf(t_i,y_i),t^*=t_i+h$2. 利用$y^*$和$t^*$估算$f(t^*,y^*)$:$f^*=f(t^*,y^*)$3. 利用$y_i$、$f(t_i,y_i)$和$f^*$估算$y_{i+1}$:$y_{i+1}=y_i+\frac{h}{2}(f(t_i,y_i)+f^*)$改进欧拉法具有比欧拉法更高的精度,但是相较于其他更高精度的数值方法,它的精度仍然较低。
三、龙格-库塔法龙格-库塔法是一种广泛使用的高精度数值方法,它不仅能够求解一阶和二阶常微分方程,还能够求解高阶常微分方程和偏微分方程。
其中,经典的四阶龙格-库塔法是最常用的数值方法之一。
四阶龙格-库塔法的步骤如下:1. 根据当前$t_i$和$y_i$估算$k_1$:$k_1=f(t_i,y_i)$2. 根据$k_1$和$y_i$估算$k_2$:$k_2=f(t_i+\frac{h}{2},y_i+\frac{h}{2}k_1)$3. 根据$k_2$和$y_i$估算$k_3$:$k_3=f(t_i+\frac{h}{2},y_i+\frac{h}{2}k_2)$4. 根据$k_3$和$y_i$估算$k_4$:$k_4=f(t_i+h,y_i+hk_3)$5. 根据$k_1$、$k_2$、$k_3$和$k_4$计算$y_{i+1}$:$y_{i+1}=y_i+\frac{h}{6}(k_1+2k_2+2k_3+k_4)$龙格-库塔法的精度较高,在求解一些对精度要求较高的问题时,龙格-库塔法是一个比较好的选择。
微分方程数值解法

微分方程数值解法
微分方程是天文学、力学、电磁学等领域很重要的概念,这些领域的研究需要利用到微分
方程的数值解法去求解。
微分方程数值解法是一种将数学模型转换成计算机可以计算的过程,也就是将复杂的问题表达成一组导数和数值,然后利用计算机把这些数值分析和解决
出来。
微分方程数值解法的基本原理是通过二阶多项式的拟合,得出最优的近似解,这种解法是
在一维常微分方程组上应用的,由多个单个微分方程构成,所计算出来的值是多项式函数,这就是微分方程数值解法计算出来的结果。
微分方程数值解法有很多,其中最常用的有有限差分法、有限体积法、有限元法、网格化法、积分中心方法等。
有限差分方法是将问题分解成若干小的结点,然后把微分方程分割
成若干子部分,再做到多次离散估算的过程,最后可以得出拟合函数的解;有限体积方法
是通过将物理风险划分成多个单元,再用均匀的离散步长取点,最后以数值积分法解决微
分方程;有限元方法是利用有限元积分理论,将物理场定义在离散网格中,再利用数学技巧,得出最终的近似解;网格化法是把问题的空间划分成若干小的子空间,再基于某些准则利用焦点或者双精度网格单元,得出空间的分段函数;积分中心方法是把微分方程的方程组再利用积分解析的方法去求解,其中采用了梯形法或者抛物线法等数值积分方法。
最后,无论是那种方法,它们都将在一个规定的步长内对问题做出最有系统、最准确的近
似解,并且它们之间都具有某种交互性,当使用有限元方法可以基于积分中心法得出近似解,而积分中心法又可以基于有限差分方法进行改进,因此在实际领域,结合不同的数值
解法才能更好的满足需求。
微分方程的数值解法与近似求解技巧

微分方程的数值解法与近似求解技巧微分方程是数学中的重要概念,广泛应用于物理、工程、经济等领域。
在实际问题中,我们常常遇到无法直接求解的微分方程,这时候就需要借助数值解法和近似求解技巧来解决。
本文将介绍微分方程的数值解法和近似求解技巧,帮助读者更好地理解和应用这些方法。
一、数值解法1. 欧拉法欧拉法是最基础的数值解法之一,通过离散化微分方程,将其转化为差分方程,从而得到近似解。
欧拉法的基本思想是将微分方程中的导数用差商代替,然后通过迭代逼近真实解。
以一阶常微分方程为例,欧拉法的迭代公式如下:\[y_{n+1} = y_n + hf(x_n, y_n)\]其中,\(y_n\)表示第n个点的近似解,\(x_n\)表示对应的自变量的取值,h为步长,\(f(x_n, y_n)\)表示微分方程中的导数。
2. 改进的欧拉法改进的欧拉法是对欧拉法的改进,通过使用两个近似解的平均值来计算下一个点的近似解,从而提高了数值解的精度。
改进的欧拉法的迭代公式如下:\[y_{n+1} = y_n + \frac{h}{2}(f(x_n, y_n) + f(x_{n+1}, y_n + hf(x_n, y_n)))\]3. 二阶龙格-库塔法龙格-库塔法是一种常用的数值解法,通过计算多个近似解的加权平均值来提高数值解的精度。
其中,二阶龙格-库塔法是最简单的一种。
二阶龙格-库塔法的迭代公式如下:\[k_1 = hf(x_n, y_n)\]\[k_2 = hf(x_n + \frac{h}{2}, y_n + \frac{k_1}{2})\]\[y_{n+1} = y_n + k_2\]二、近似求解技巧1. 线性化方法线性化方法是一种常用的近似求解技巧,通过将非线性微分方程线性化,然后使用线性方程的求解方法来得到近似解。
以二阶线性微分方程为例,线性化方法的基本思想是将非线性项进行线性化处理,然后使用线性微分方程的求解方法来得到近似解。
数学中的微分方程数值解法

数学中的微分方程数值解法数学中的微分方程是描述自然界中各种现象的重要工具。
然而,由于微分方程的解析解往往难以求得,因此研究人员开发了各种数值方法来近似求解微分方程。
本文将介绍一些常见的微分方程数值解法。
一、欧拉方法欧拉方法是最简单的数值解法之一,它基于微分方程的定义,将微分方程转化为差分方程。
具体而言,欧拉方法将微分方程的导数用差商来近似,从而得到差分方程。
然后,通过迭代计算差分方程的解,最终得到微分方程的数值解。
二、改进的欧拉方法改进的欧拉方法是对欧拉方法的改进,它通过使用更精确的差商来提高数值解的精度。
具体而言,改进的欧拉方法使用欧拉方法的两个近似值的平均值来计算下一个近似值,从而减小了误差。
三、龙格-库塔方法龙格-库塔方法是一类常用的数值解法,包括二阶和四阶的方法。
这些方法的基本思想是通过逐步逼近微分方程的解,从而得到数值解。
具体而言,龙格-库塔方法使用多个近似值来计算微分方程的导数,并根据这些导数的加权平均值来计算下一个近似值。
四、有限差分方法有限差分方法是一种广泛应用于偏微分方程的数值解法。
它将偏微分方程中的导数用差商来近似,从而将偏微分方程转化为差分方程。
然后,通过迭代计算差分方程的解,最终得到偏微分方程的数值解。
五、有限元方法有限元方法是一种常用的数值解法,广泛应用于各种工程和科学领域。
它将微分方程的解空间分割成许多小的区域,然后在每个区域上构造一个多项式函数来逼近微分方程的解。
通过求解这些多项式函数的系数,可以得到微分方程的数值解。
六、辛方法辛方法是一类特殊的数值解法,用于求解哈密顿系统。
它基于哈密顿系统的保守性质,通过保持系统的辛结构来得到数值解。
辛方法在长时间积分和保持能量守恒方面具有优势,因此在分子动力学模拟等领域得到广泛应用。
总结起来,微分方程数值解法是数学中的重要研究领域。
通过使用这些数值方法,研究人员可以近似求解各种复杂的微分方程,从而揭示自然界中的各种现象。
随着计算机技术的不断发展,微分方程数值解法的应用也越来越广泛,为科学研究和工程实践提供了强大的工具。
微分方程的数值解法

微分方程的数值解法微分方程是描述自然界中众多现象和规律的重要数学工具。
然而,许多微分方程是很难或者无法直接求解的,因此需要使用数值解法来近似求解。
本文将介绍几种常见的微分方程数值解法。
1. 欧拉方法欧拉方法是最简单的数值解法之一。
它将微分方程转化为差分方程,通过计算离散点上的导数来逼近原方程的解。
欧拉方法的基本思想是利用当前点的导数值来估计下一个点的函数值。
具体步骤如下:首先,将自变量区间等分为一系列的小区间。
然后,根据微分方程的初始条件,在起始点确定初始函数值。
接下来,根据导数的定义,计算每个小区间上函数值的斜率。
最后,根据初始函数值和斜率,递推计算得到每个小区间上的函数值。
2. 龙格-库塔方法龙格-库塔方法是一种常用的高阶精度数值解法。
它通过进行多次逼近和修正来提高近似解的准确性。
相比于欧拉方法,龙格-库塔方法在同样的步长下可以获得更精确的解。
具体步骤如下:首先,确定在每个小区间上的步长。
然后,根据微分方程的初始条件,在起始点确定初始函数值。
接下来,根据当前点的导数值,使用权重系数计算多个中间点的函数值。
最后,根据所有中间点的函数值,计算出当前点的函数值。
3. 改进欧拉方法(改进的欧拉-克罗默法)改进欧拉方法是一种中阶精度数值解法,介于欧拉方法和龙格-库塔方法之间。
它通过使用两公式递推来提高精度,并减少计算量。
改进欧拉方法相对于欧拉方法而言,增加了一个估计项,从而减小了局部截断误差。
具体步骤如下:首先,确定在每个小区间上的步长。
然后,根据微分方程的初始条件,在起始点确定初始函数值。
接下来,利用欧拉方法计算出中间点的函数值。
最后,利用中间点的函数值和斜率,计算出当前点的函数值。
总结:微分方程的数值解法为我们研究和解决实际问题提供了有力的工具。
本文介绍了欧拉方法、龙格-库塔方法和改进欧拉方法这几种常见的数值解法。
选择合适的数值解法取决于微分方程的性质以及对解的精确性要求。
在实际应用中,我们应该根据具体情况选择最合适的数值解法,并注意控制步长以尽可能减小误差。
微分方程数值解法实验报告

微分方程数值解法实验报告2篇微分方程数值解法实验报告(一)在实际科学与工程问题中,我们经常会遇到微分方程的求解。
然而,许多微分方程往往没有解析解,这就需要我们利用数值方法来获得近似解。
本篇实验报告将介绍两种常见的微分方程数值解法:欧拉方法和改进的欧拉方法。
一、欧拉方法欧拉方法是最简单的微分方程数值解法之一。
其基本原理为离散化微分方程,将微分方程中的导数用差商代替。
设要求解的微分方程为dy/dx = f(x, y),步长为h,则可用以下公式进行递推计算:y_{n+1} = y_n +hf(x_n, y_n)二、算法实现为了对欧拉方法进行数值实验,我们以一阶线性常微分方程为例:dy/dx = x - y, y(0) = 1步骤如下:(1)选择合适的步长h和求解区间[a, b],这里我们取h=0.1,[a, b] = [0, 1];(2)初始化y_0 = 1;(3)利用欧拉方法递推计算y_{n+1} = y_n + 0.1(x_n - y_n);(4)重复步骤(3),直到x_n = 1。
三、实验结果与讨论我们通过上述步骤得到了在[0, 1]上的近似解y(x)。
下图展示了欧拉方法求解的结果。
从图中可以看出,欧拉方法得到的近似解与精确解有一定的偏差。
这是因为欧拉方法只是通过递推计算得到的近似解,并没有考虑到更高阶的误差。
所以在需要高精度解时,欧拉方法并不理想。
四、改进的欧拉方法针对欧拉方法的不足,我们可以考虑使用改进的欧拉方法(也称为改进的欧拉-柯西方法)。
它是通过利用前后两个步长欧拉方法得到的结果作为差商的中间项,从而提高了求解精度。
一阶线性常微分方程的改进欧拉方法可以表示为:y_{n+1} = y_n + h(f(x_n, y_n) + f(x_{n+1}, y_n + hf(x_n,y_n)))/2五、算法实现与结果展示将改进的欧拉方法应用于前述的一阶线性常微分方程,我们同样选择h=0.1,[a, b] = [0, 1]。
常微分方程的数值解法

常微分方程的数值解法1. 引言常微分方程是自变量只有一个的微分方程,广泛应用于自然科学、工程技术和社会科学等领域。
由于常微分方程的解析解不易得到或难以求得,数值解法成为解决常微分方程问题的重要手段之一。
本文将介绍几种常用的常微分方程的数值解法。
2. 欧拉方法欧拉方法是最简单的一种数值解法,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上假设解函数为线性函数,即通过给定的初始条件在每个子区间上构造切线;- 使用切线的斜率(即导数)逼近每个子区间上的解函数,并将其作为下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。
3. 改进的欧拉方法改进的欧拉方法是对欧拉方法的一种改进,主要思想是利用两个切线的斜率的平均值来逼近每个子区间上的解函数。
具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上构造两个切线,分别通过给定的初始条件和通过欧拉方法得到的下一个初始条件;- 取两个切线的斜率的平均值,将其作为该子区间上解函数的斜率,并计算下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。
4. 二阶龙格-库塔方法二阶龙格-库塔方法是一种更为精确的数值解法,其基本思想是通过近似计算解函数在每个子区间上的平均斜率。
具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上计算解函数的斜率,并以该斜率的平均值近似表示该子区间上解函数的斜率;- 利用该斜率近似值计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。
5. 龙格-库塔法(四阶)龙格-库塔法是目前常用的数值解法之一,其精度较高。
四阶龙格-库塔法是其中较为常用的一种,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上进行多次迭代计算,得到该子区间上解函数的近似值;- 利用近似值计算每个子区间上的斜率,并以其加权平均值逼近解函数的斜率;- 计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。
微分方程的数值解法

微分方程的数值解法微分方程(Differential Equation)是描述自然界中变化的现象的重要工具,具有广泛的应用范围。
对于一般的微分方程,往往很难找到解析解,这时候就需要使用数值解法来近似求解微分方程。
本文将介绍几种常见的微分方程数值解法及其原理。
一、欧拉方法(Euler's Method)欧拉方法是最基本也是最容易理解的数值解法之一。
它的基本思想是将微分方程转化为差分方程,通过给定的初始条件,在离散的点上逐步计算出函数的近似值。
对于一阶常微分方程dy/dx = f(x, y),利用欧拉方法可以得到近似解:y_n+1 = y_n + h * f(x_n, y_n)其中,h是步长,x_n和y_n是已知点的坐标。
欧拉方法的优点在于简单易懂,但是由于是一阶方法,误差较大,对于复杂的微分方程可能不够准确。
二、改进的欧拉方法(Improved Euler's Method)改进的欧拉方法又称为改进的欧拉-柯西方法,是对欧拉方法的一种改进。
它通过在每一步计算中利用两个不同点的斜率来更准确地逼近函数的值。
对于一阶常微分方程dy/dx = f(x, y),改进的欧拉方法的迭代公式为:y_n+1 = y_n + (h/2) * [f(x_n, y_n) + f(x_n+1, y_n + h * f(x_n, y_n))]相较于欧拉方法,改进的欧拉方法具有更高的精度,在同样的步长下得到的结果更接近真实解。
三、四阶龙格-库塔方法(Fourth-Order Runge-Kutta Method)四阶龙格-库塔方法是一种更高阶的数值解法,通过计算多个点的斜率进行加权平均,得到更为准确的解。
对于一阶常微分方程dy/dx = f(x, 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)y_n+1 = y_n + (k1 + 2k2 + 2k3 + k4)/6四阶龙格-库塔方法是数值解法中精度最高的方法之一,它的计算复杂度较高,但是能够提供更为准确的结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微分方程数值解法课程设计报告班级: ___________姓名: ___________学号: ____________成绩:_______________二零一七年6月 22 日目录第一题常微分方程数值解-----------------------------------1.1 实验目的----------------------------------------------------1.2 实验原理----------------------------------------------------1.3 用matlab编写源程序----------------------------------------1.4 数值解及其误差举例------------------------------------------1.5 运行结果及其截图 -------------------------------------------------------------------1.6实验总结----------------------------------------------------- 第二章常系数扩散方程的经典差分格式----------------------------2.1 实验目的---------------------------------------------------2.2 实验原理---------------------------------------------------2.3 用matlab编写源程序----------------------------------------2.4 数值解及其误差举例------------------------------------------2.5 运行结果及其截图------------------------------------------- 2.6实验总结----------------------------------------------------- 第三章常系数扩散方程的经典差分格式---------------------------3.1 实验目的---------------------------------------------------3.2 实验原理----------------------------------------------------3.3 用matlab编写源程序-----------------------------------------3.4 数值解及其误差举例------------------------------------------2.5 运行结果及其截图-------------------------------------------- 2.6实验总结-----------------------------------------------------参考文献--------------------------------------------------设计一:常微分方程数值解1.1:实验目的用显式单步法:4阶龙格库塔法和显式Adams 计算洛伦兹方程并比较计算结果,初始值取(5,5,10)。
1.2:实验原理洛伦兹方程是一组典型的非线性方程,来源于大气物理研究。
在一定的参数下,方程的解表现出了非常复杂而又有趣的现象。
本专题要求采用数值积分的方法,求解如下洛伦兹方程:)(x y dt dx -==σy z x dt dy --=)(ρz xy dt dy β-= 其中,取283810===ρβσ,,。
t 为从0开始的时间变量,积分初值{})0(),0(),0(z y x 为任意的不全为零的数值即可。
实验内容和步骤:用matlab 实现4阶龙格库塔法和Adams 外插法,代入初始值并得到结果。
1.3:实验过程四阶龙格库塔法matlab实现源程序:m文件:function [x,y,z]= luc(x1,y1,z1,h)%参数含义 x1,y1,z1是初始值,h是步长kfx=0;ksx=0;ktx=0;kfhx=0; %k1,k2,k3,k4的三个分量形式的初始化kfy=0;ksy=0;kty=0;kfhy=0;kfz=0;ksz=0;ktz=0;kfhz=0;x0=x1;y0=y1;z0=z1;kfx=10*(y0-x0); %求k1xkfy=x0*(28-z0)-y0; %求k1y;kfz=x0*y0-8/3*z0; %求k1z;x0=x1+1/2*h*kfx; %变量替换y0=y1+1/2*h*kfy;z0=z1+1/2*h*kfz;ksx=10*(y0-x0); %求k2x;ksy=x0*(28-z0)-y0; %求k2y;ksz=x0*y0-8/3*z0; %求k2z;x0=x1+1/2*h*ksx;y0=y1+1/2*h*ksy;z0=z1+1/2*h*ksz;ktx=10*(y0-x0); %求k3x;kty=x0*(28-z0)-y0; %求k3y;ktz=x0*y0-8/3*z0; %求k3y;x0=x1+1/2*h*ktx;y0=y1+1/2*h*kty;z0=z1+1/2*h*ktz;kfhx=10*(y0-x0); %求k4x;kfhy=x0*(28-z0)-y0;%求k4y;kfhz=x0*y0-8/3*z0; %求k4z;x=x1+h/6*(kfx+2*ksx+2*ktx+kfhx);%求u(n+1)x分量的值y=y1+h/6*(kfy+2*ksy+2*kty+kfhy);%求u(n+1)y分量的值z=z1+h/6*(kfz+2*ksz+2*ktz+kfhz);%求u(n+1)z分量的值End%执行语句:a=1:1:3000;b=1:1:3000;c=1:1:3000;x1=5;y1=5;z1=10;for i=1:1:3000;[x,y,z]=luc(x1,y1,z1,0.01);a(i)=x;b(i)=y;c(i)=z;x1=x;y1=y;z1=z;fprintf('x=%f''y=%f''z=%f\n',x1,y1,z1); %显示出每次迭代值(用作Adams方法的对比)endsubplot(2,2,1)plot3(a,b,c);grid on;subplot(2,2,2)plot3(a,b,c);view(20,40);grid on;subplot(2,2,3)plot3(a,b,c);view(40,60);grid on;subplot(2,2,4)plot3(a,b,c);view(60,80);grid on; %分窗口显示,换角度显示运行截图:Adams外插法(k=2):m文件:function [x,y,z]=adamsw(x1,y1,z1,x2,y2,z2,x3,y3,z3,h) kfy=0;ksy=0;kty=0;kfz=0;ksz=0;ktz=0;kfx=10*(y3-x3); %eval_r(abx);kfy=x3*(28-z3)-y3;%eval_r(aby);kfz=x3*y3-8/3*z3; %eval_r(abz);ksx=10*(y2-x2); %eval_r(abx);ksy=x2*(28-z2)-y2;%eval_r(aby);ksz=x2*y2-8/3*z2; %eval_r(abz);ktx=10*(y1-x1); %eval_r(abx);kty=x1*(28-z1)-y1;%eval_r(aby);ktz=x1*y1-8/3*z1; %eval_r(abz);x=x3+h/12*(23*kfx-16*ksx+5*ktx);y=y3+h/12*(23*kfy-16*ksy+5*kty);z=z3+h/12*(23*kfz-16*ksz+5*ktz);End%执行语句a=1:1:3000;b=1:1:3000;c=1:1:3000;x1=5; y1=5; z1=10;x2=7.83; y2=14.30; z2=12.34;%这个初值是由上面方法得到的前三项x3=15.32;y3=22.87; z3=28.07;for i=1:1:3000[x,y,z]=adamsw(x1,y1,z1,x2,y2,z2,x3,y3,z3,0.01);a(i)=x;b(i)=y;c(i)=z;x1=x2;y1=y2;z1=z2;x2=x3;y2=y3;z2=z3;x3=x;y3=y;z3=z;%fprintf('x=%f''y=%f''z=%f\n',x,y,z);%显示迭代值endsubplot(2,2,1)plot3(a,b,c);grid on;subplot(2,2,2)plot3(a,b,c);view(20,40);grid on;subplot(2,2,3)plot3(a,b,c);view(40,60);grid on;subplot(2,2,4)plot3(a,b,c);view(60,80);grid on; %多窗口显示,换角度观察1.5运行截图:1.6:实验总结通过这个研究我们学会了如何查找资料,如何去选择资料,以及如何去利用资料来描述我们的问题,并试图解决它。
我们在这里遇到了一些难题,比如如何将数学理论转化为程序,我们是先把数学思想吃透,然后就我们将其数学思想转化为程序的各个流程,然后在电脑上调试,由于这个程序的hold on 比较多,所以运行起来速度比较慢,我们只好耐心的等待。
但是当实验结果运行出来的一瞬间,自己的付出得到结果,等待也是值得的!设计二:常系数扩散方程的经典差分格式2.1.实验目的1、了解抛物型方程的经典差分格式,格式稳定的条件;2、掌握常系数扩散方程初边值问题的加权隐式格式的求解方法;3、培养编程与上机调试能力。
2.2.实验原理用有限差分法解常系数扩散方程22u u a t x∂∂=∂∂有加权隐式差分格式()11111111222210nn n n n n n nj j j j j j j j u u u u u u u u a h h θθτ----+-+-⎡⎤--+-+-++=⎢⎥⎢⎥⎣⎦ 其中01θ≤≤,当12θ=时为Crank-Nicolson 格式,当1θ=时为向后差分格式,当0θ=时为向前差分格式。
加权隐式格式稳定的条件是12,121, 1.2a λθθθ≤≤-≤≤1,当0<2无限制当 加权隐式格式是两层隐式格式,用第n 层计算第n+1层节点值的时候,要解线性方程组。