当前位置:文档之家› 二维波动方程数值解的一种离散方法

二维波动方程数值解的一种离散方法

二维波动方程数值解的一种离散方法
二维波动方程数值解的一种离散方法

(整理)二维波动方程第一类吸收边界条件c++实现代码.

精品文档 #include "stdafx.h" #include #include #include #include using namespace std; const double pi=4*atan(1.0); double freq=45; double sb=7.45; double t1=2*pi/(sb*4); double source(double t) { //double t2=0.0; if(t<=t1) return (sin(sb*4*t-pi/2)+1)/10; else{ double tep=0.0; return tep;} //return ((1-2*pi*pi*freq*freq*t*t)*exp(-pi*pi*freq*freq*t*t)+1);//Ricker子波} void update_Vn(double upt,double lowt,double upx1,double lowx1) { int i,j,m; const int Csize=300; double deg=0; double stepx1=abs(upx1-lowx1)/(Csize-1); //double te=sqrt(static_cast(3.0/8.0)); double stept=sqrt(static_cast(1.0/2.0))*stepx1/2.0;// int tn=static_cast(upt/stept); double r=stept/stepx1; double **u_current,**u_old,**u_past; u_current=new double *[Csize]; u_old=new double*[Csize]; u_past=new double*[Csize]; for(i=0;i

普通计算器用计算器解方程的方法

用计算器解方程的方法 高中时发现一个用计算器来解方程的方法,前一阵用到计算器就想起来了,习惯性地谷歌之、百度之,居然没有发现类似的方法,于是就想把它写下来。 说明下对计算器的要求,只要是个带有"Ans"键的计算器就行,一般我们用的都是这种计算器。对于要解的方程,无论是超越方程还是高次方程,基本上都一样。 先来初步尝试一下。如果要解的方程是:exp(x)=-x+3 (注:exp(x) 是表示e的x次方) ,你要按的键就像下面一样: 0 = ln ( - Ans + 3 ) = = = = ?? 如你所知,Ans键有保存上一次计算结果的功能,所以第一条语句就是给Ans赋初值的意思,初值要选在解的附近,大概估计下就可以。第二条我没有打错,你在连续按了十几次"=" 后,是不是发现再按的时候屏幕上的数值不变了?这就是方程的解。看起来好像很晕,还是解释解释这样做的原因: 看见上面的图了吗?小赵(高一数学老师)曾经给我们介绍过一种有趣的现象,一般情况下两函数图象在交点附近有这种类似螺旋的收敛特性。灵感正是来自这里。是不是有点眉目了? 假设上面的图中两个图象分别是y=f(x) 和 y=g(x) ,而我们要解的方程是f(x)=g(x)。为了方便,这里把F(x)和G(x)分别记做f(x)和g(x)的反函数。于是这个方程可以等价变换为 x=F(g(x)) 和x=G(f(x)) 。这两个式子的右半边就是我们要输入计算器然后不断按"="的,当然,输入计算器的时候所有的x都用Ans代替。再看看上面的图,其实这两个式子中,一个的代表顺时针螺旋,另一个代表逆时针螺旋;一个能使螺旋收敛于交点,另一个会使螺旋扩张。不幸滴是,我们不知道哪个式子能使螺旋扩张,哪个能使收敛,所以两个式子都得试试,在我们按了若干次 "=" 后如果屏幕上数值稳定了,就说明这是收敛式,并且这个稳定的值就是解。比如前面的例子,方程可以变成 x=ln(-x+3) 和 x=-exp(x) +3 ,其中-exp(x)+3使值扩散,而ln(-x+3)使值收敛,就想一开始做的那样。 如果这个方程有好几个解呢?那你就使用不同的初值,一般来说,它总会收敛于离初值比较近的那个解。要注意的是,使方程各个解收敛的螺旋方向可能不同,也就是说对于每个解,你还是需要代两个式子。上面说的是理想情况,比如遇到x^5+x^2 = x^4-x+5 这样的方程,总不可能去求两边的反函数吧,累都累死。这时候,提取两边最能体现原本特征的一部分就可以了,比如这里就是x^5 和x^4 ,变换后的式子是 x=5次根号下的(x^4-x+5-x^2) 和 x=4次根号的(x^5+x^2+x-5) 。 最后不得不说,比如x=-x+3 这种情况,这种方法无效。

081数值计算方法—常微分方程(组)

科学计算—理论、方法 及其基于MATLAB 的程序实现与分析 微分方程(组)数值解法 §1 常微分方程初值问题的数值解法 微分方程(组)是科学研究和工程应用中最常用的数学模型之一。如揭示质点运动规律的Newton 第二定律: ()()()?????'='==0 00022x t x x t x t F dt x d m (1) 和刻画回路电流或电压变化规律的基尔霍夫回路定律等,但是,只有一些简单的和特殊的常微分方程及常微分方程组,可以求得用公式给出的所谓“解析解”或“公式解”,如一阶线性微分方程的初值问题: () ()0 0y y t f ay dt dy =+= (2) 的解为: ()()()τττd f e y e t y t t a at ?-+=00 (3) 但是,绝大多数在实际中遇到的常微分方程和常微分方程组得不到“解析解”,因此,基于如下的事实:

1、绝大多数的常微分方程和常微分方程组得不到(有限形式的)解析解; 2、实际应用中往往只需要知道常微分方程(组)的解在(人们所关心的)某些点处的函数值(可以是满足一定精度要求的近似值); 如果只需要常微分方程(组)的解在某些点处的函数值,则没有必要非得通过求得公式解,然后再计算出函数值不可,事实上,我们可以采用下面将介绍的常微分方程(组)的初值问题的数值解法,就可以达到这一目的。 一般的一阶常微分方程(组)的初值问题是指如下的一阶常微分方程(组)的定解问题: ()()0 00,y t y t t t y t F dt dy f =≤≤= (7) 其中 ()()()()???? ?? ? ??=t y t y t y t y n 21 (8) ()()()()???? ?? ? ??=y t f y t f y t f y t F n ,,,,21 (9) 常微分方程(组)的初值问题通常是对一动态过程(动态系统、动力系统)演化规律的描述,求解常微分方程(组)的初值问题就是要了解和掌握动态过程演化规律。 §1.1 常微分方程(组)的Cauch 问题数值解法概论

波动方程的求解(补充)20110517

波动方程的求解方法 《高电压技术》第七章补充内容 20110517 一.求解算例:(暂态算例,与作业P93页7-3类似) 如图1所示,直流电源在t=0时刻合闸于无损单导线,已知电源电压E=1V,电源内阻为0,无损单导线单位长度的电感为L0、单位长度的对地电容为C0,线路长度为1m,且末端开路。(注:设线路末端为x=0的起始点,x正方向从线路末端指向电源端) 图1 直流电源合闸于有限长线路 1)写出无损单导线的时域波动方程。 2)写出无损单导线的频域波动方程。 3)根据频域方程和边界条件求线路上任意一点的电压的频域表达式。

二、求解过程 1.均匀传输线的波动方程: 00 00 u i ir L x t i u ug C x t ???-=+????????-=+???? 2.忽略损耗,上式的解耦形式为: 2200 222 2 00 22u u L C x t i i L C x t ??? =???????? =???? 3.应用拉普拉斯变换到频域得: 2 2 2 22 2 d u u d d i i d x x γγ = =, γ,p 为拉普拉斯算子 4.写出电压方程和电流方程的通解形式: u(x)=Aexp(-x)+Bexp(x) γγ A B i(x)= exp(-x)+ exp(x) z z γγ- 其中z 为线路波阻抗,且

5.代入边界条件 电源端:x=1,u=1/p; 线路末端:x=0,i=0,求出A 和B ,得到: 1cosh x u(x)=p cosh γγ ?

三、作业(稳态算例,选作,参见§11-1空载长线电容效应P297-298) 如图2所示,已知无损空载长线长为L ,末端开路,该线单位长度的电感为L 0、单位长度的对地电容为C 0, 电源电压为E ,且X L =0,求U X 的关于E 频域表达式。 图2 空载电路的沿线电压分布曲线 1() cos cos x U E U x L αα? ? ? = (P298页式11-1-8) 提示:1.应用正弦稳态变换,即p =j ω变换到频域求解。 2.应用欧拉公式有: cos sin cos sin j L j L e L j L e L j L αααααα-=+=- 即cos sin ch L L sh L j L γγ=α=α 这里有0000 j j ;j j Z L Y C γωωω= ==α == 2

(完整版)小学五年级解方程计算题练习题

一、解方程专题 7+=19 X+120=176 58+X=90 X+150=290 79.4+X=95.5 2X+55=129 7 X=63 X× 9=4.5 4.4X=444 X × 4.5=90 X × 5=100 6.2X=124 X-6=19 X-3.3=8.9 X-25.8=95.4 X-54.3=100 X-77=275 X-77=144 X ÷7=9 X÷4.4=10

X÷78=10.5 X÷2.5=100 X÷3=33.3 X÷2.2=8 9-X=4.5 73.2-X=52.5 87-X=22 66-X=32.3 77-X=21.9 99-X=61.9 3.3÷X=0.3 8.8÷X=4.4 9÷X=0.03 7÷X=0.001 56÷X=5 39÷X=3 3×(X-4)=46 (8+X)÷5=15 (X+5) ÷3=16 15÷(X+0.5)=1.5

12X+8X=40 12X-8X=40 12X+X=26 X+ 0.5X=6 X-0.2X=32 1.3X+X=26 3X+5X=48 14X-8X=12 6×5+2X=44 20X-50=50 28+6X=88 32-22X=10 24-3X=3 10X×(5+1)=60 99X=100-X X+3=18 X-6=12 56-2X=20 4X+2=6 X+32=76

3X+6=18 16+8X=40 2X-8=8 4X-3×9=29 8X-3X=105 X-6×5=42 X+5=7 2X+3=10 X-0.8X=6 12X+8X=4.8 7(X-2)=49 4×8+2X=36 (X-2)÷3=7 X÷5+9=21 (200-X)÷5=30 48-27+5X=31 3X-8=16 3X+9=27 5.3+7X=7.4 3X÷5=4.8

基本波动方程的求解方法

关于弦振动的求解方法 李航 一、无界弦振动 1、一维齐次波动方程 达朗贝尔方程解无界的定解问题 ?+-+-++=at x at x d a at x at x t x u ξξ?φ?)(21)]()([21),( <达朗贝尔公式> 在常微分方程的定解问题中,通常是先求方程的通解,然后利用定解条件确定通解所含的任意常数,从而得到定解问题的解。考虑无界的定解问题一般方程为 ??? ????=??=>+∞<<∞-??=??==)(|),(|0, ,0022222x t u x u t x x u a t u t t φ? 由达郎贝尔公式,解在点),(t x 的值由初始条件在区间],[at x at x +-内的值决定,称区间],[at x at x +-为点),(t x 的依赖区域,在t x -平面上,它可看作是过点),(t x ,斜率分别a 1± 为的两条直线在x 轴上截得的区间。 2、一维非齐次波动方程的柯西问题 达朗贝尔方程解非齐次定解问题 ???????=??=>+∞<<∞-+??=??==)2()(|),(|)1(0,),(0022222 , x t u x u t x t x f x u a t u t x φ? 令),(),(),(t x V t x U t x u +=,可将此定解分解成下面两个定解问题:

(I) ??? ????=??=>+∞<<∞-??=??== , )(|),(|0,0022222x t u x u t x x u a t u t x φ? (II) ??? ????=??=>+∞<<∞-+??=??== , 0|,0|0,),(0022222t x t u u t x t x f x u a t u 其中问题(I)的解可由达朗贝尔公式给出: ?+-+-++=at x at x d a at x at x t x U ξξ???)(21)]()([21),(。 对于问题(II),有下面重要的定理。 定理(齐次化原理)设),,(τωt x 是柯西问题 ??? ????=??=>??=??== , ),(|,0|22222τωωτωωττx f t t x a t t x 的解)0(≥τ,则?=t d t x t x V 0),,(),(ττω是问题(II)的解。 二、有界的弦振动方程 1、分离变量法 齐次条件的分离变量法 (1) (2) (3) 设)()(),(t T x X t x u =,代入方程(1)得: ) ()()()('''t aT t T x X x X = ?????????====><

小学五年级解方程计算步骤

小学五年级解方程计算步骤 小学阶段解方程计算题一般有以下几个步骤,大家要认真把这几个步骤记住,看到相关题型就按照下面的方法去做就可以了。 一.移项 所谓移项就是把一个数从等号的一边移到等号的另一边去。注意,加减法移项和乘除法移项不一样,移项规则:当把一个数从等号的一边移到另一边去的时候,要把这个数原来前面的运算符号改成和它相反的运算符号,比如“+”变成“-”,或是“×”变成“÷” 请看例题: 加减法移项: x + 4 = 9 x-8=19 x=9-4 x=19+8 x=5 x=27 乘除法移项: 3x=27 x÷6=8 x=27÷3 x=8×6 x=9 x=48 1.常规题目,第一步,把所有跟未知数不能直接运算的数字,转移到与未知数相反的等号 那一边。比如: 3x - 4 = 8 5x + 9 = 24 3x=8+4 5x=24 - 9 3x=12 5x=15 x=4 x=3 2.第二种情况请记住,当未知数前面出现“-”或是“÷”的时候,要把这两个符号变成 “+”或是“×”,具体如何改变请看下面例题: 20 – 3x=2 20=2 + 3x -----(注意:也就是前面提过的移项问题,改变符号在方程里面就是移项) 20-2=3x 18=3x x=6 36÷4x = 3 36=3×4x ----(注意:也就是前面提过的移项问题,改变符号在方程里面就是移项) 36=12x x=3

3.未知数在小括号里面的情况,注意,这种情况要分两种,第一种是根据乘法分配律先把 小括号去掉 例如:3(3x+4) = 57 9x + 12=57 9x=57-12 9x=45 x=5 第二种情况就是,要看括号前面的那个数跟等号后面的那个数是否倍数关系,如果是倍数关系,可以互相除一下,当然,用这一种方法的前提就是等号另一边的数只有一个数字,如果有多个,则先要计算成一个。 例如 3(3x+4) = 57 2(4x - 6) = 30+9-3 3x+4 = 57÷3 2(4x-6) = 36 3x+4 = 19 4x – 6=36÷2 3x = 19-4 4x-6=18 3x = 15 4x=18+6 x = 5 4x=24 x=6 4.第四种情况就是未知数在等号的两边都有,这种情况就是要把未知数都移项到一边,把 其它的数字移项到另一边,具体规则,如果两个未知数前面的运算符号不一样,要把未知数前面是“-”的移到“+”这一边来,如果两个未知数前面的运算符号一样,则要把小一点的未知数移到大一点的未知数那一边去。 例如: 3x +12 = 48 – 6x 3x + 48 = 8 + 5x 3x + 6x = 48-12 48-8 = 5x – 3x 9x = 36 40 = 2x x = 4 x = 20

基本波动方程的求解方法

基本波动方程的求解方法 This model paper was revised by the Standardization Office on December 10, 2020

关于弦振动的求解方法 李航 一、无界弦振动 1、一维齐次波动方程 达朗贝尔方程解无界的定解问题 ?+-+-++=at x at x d a at x at x t x u ξξ?φ?)(21)]()([21),( <达朗贝尔公式> 在常微分方程的定解问题中,通常是先求方程的通解,然后利用定解条件确定通解所含的任意常数,从而得到定解问题的解。考虑无界的定解问题一般方程为 由达郎贝尔公式,解在点),(t x 的值由初始条件在区间],[at x at x +-内的值决定,称区间 ],[at x at x +-为点),(t x 的依赖区域,在t x -平面上,它可看作是过点),(t x ,斜率分别a 1± 为的两条直线在x 轴上截得的区间。 2、一维非齐次波动方程的柯西问题 达朗贝尔方程解非齐次定解问题 令),(),(),(t x V t x U t x u +=,可将此定解分解成下面两个定解问题: (I) ??? ????=??=>+∞<<∞-??=??== , )(|),(|0,0022222x t u x u t x x u a t u t x φ?

(II) ??? ????=??=>+∞<<∞-+??=??== , 0|,0|0,),(0022222t x t u u t x t x f x u a t u 其中问题(I)的解可由达朗贝尔公式给出: ?+-+-++=at x at x d a at x at x t x U ξξ???)(21)]()([21),(。 对于问题(II),有下面重要的定理。 定理(齐次化原理)设),,(τωt x 是柯西问题 的解)0(≥τ,则?=t d t x t x V 0 ),,(),(ττω是问题(II)的解。 二、有界的弦振动方程 1、分离变量法 齐次条件的分离变量法 (1) (2) (3) 设)()(),(t T x X t x u =,代入方程(1)得: 上式右端不含x ,左端不含t ,所以只有当两端均为常数时才能相等。令此常数为λ-,则有: ?????????====><

解方程计算题

解方程计算题 2x+8=16 x÷5=10 x+7x=8 9x-3x=6 6x-8=4 5x+x=9 x-8=6x 4÷5x=20 2x-6=12 2x+8=16 x÷5=10 x+7x=8 9x-3x=6 6x-8=4 5x+x=9 x-8=6x 4÷5x=20 2x-6=12 7x+7=14 6x-6=0 5x+6=11 2x-8=10 1÷2x-8=4 x-5÷6=7

3x+7=28 3x-7=26 9x-x=16 24x+x=50 6÷7x-8=4 3x-8=30 6x+6=12 3x-3=1 5x-3x=4 2x+16=19 5x+8=19 14-6x=8 15+6x=27 5-8x=4 7x+8=15 7x+7=14 6x-6=0 5x+6=11 2x-8=10 2x-8=4 x-5÷6=7 3x+7=28 3x-7=26 9x-x=16 24x+x=50 6÷7x-8=4 3x-8=30 6x+6=12 3x-3=1 5x-3x=4 2x+16=19 5x+8=19 14-6x=8 15+6x=27 5-8x=4 7x+8=15 9-2x=1 4+5x=9 10-x=8 8x+9=17 9+6x=14

x+9x=4+7 2x+9=17 8-4x=6 6x-7=12 7x-9=8 x-56=1 8-7x=1 x-30=12 6x-21=21 6x-3=6 9x=18 4x-18=13 5x+9=11 6-2x=11 x+4+8=23 7x-12=8 = 15 5X-2X=18 ×2= x 26×= 2x ×16―16×=4x -X= ÷X=0. 3 X÷= x+13=33 3 - 5x=80 6x=5 4 -= 9 +4x =40 -+= -= 12 -4x=20 1/3 x+5/6 x= 12 x+34 x=1 18x-14 x= 12

二维波动方程的有限差分法

告实验报学生 偏微分方程数值解实验课程名称 开课实验室数统学院 信计02班专业班院数统年级2013 学 学号姓学生名 学年第2016 2 学期开课时间2015 至

总成绩 教师签名 数学与统计学院制 开课学院、实验室:数统学院实验时间2016年6月20日:

kkjikkk1kk?1k?kkk u??2uuu?2u?2u?uu?u ,j?,iji,,ijj1ij?1,i,ij,jii?1,jj,?1i??(2)?????kk?1k21kkkk2)3(uu???u??u?ruuu?24r 222?hh整理得到: j,ij,i1?j,i1?j,ij1,?ij1,?ij,i

????,差分格式为:kkkk(4),140?0,k?0,1,u?u?u?u N0,0,N0,N,0N 考虑初始条件y?sinsinuxx,y,0 ????????0????(5),10usin?sin0,1,xjsinjh?y,?sini,ih jjii,2??????,利用二阶差商近似:考虑初始条件0,1?,y,0,?0,yuxx t1?1u?u j,jii,?0,i,j?0,1,,10(6)?2设时刻的点为内点,则满足差分格式(2),代入上式得到:0k? ????002211?000(7)u?uu?u4?ur??u2?r?u j,iii,,jj?j?i1?1,j1i,?1,jjii,11?uu?代入(将(6)得到的结果7)中,整理得到:ji,ji,1????01202000)(8?u?1??u2rru?uu?u j,j?1i,1,jjii,j?1?i1,j,ii?2 8)得到三层显格式的差分格式为:(4)、(5)、(综上(2)、??????1kk2kkk2kk?1u?u???uu4?urr?2u?u i,ij?1,,ii,,jj?1i?1,jji?1,jji?i,j?1,2,,9,k?1,2,,139??kkkk?u?u?u?u,1 40?0,k?0,1,(9)N0,N,0NN0,0,? ????????0?????,i,jih?u?sinsinx0,1,sin,10jhy?sin jji,i? 1?????02102000,10?0,1,uu,?ui?1?2ru?,ruj?u? ?1j?1i,ijii?,j1,j,j?ii,j?1,?2? ??22?0.1?r?其中,局部截断误差为ho?。h 四.实验环境(所用软件、硬件等)及实验数据文件 Matlab %二维波动方程数值计算(关键:怎么运用i,j,k三个指标建立循环) clc; %可以将代码换成函数m文件 h=0.1;tau=0.1*h;%定义步长 r=tau/h;%网比 空间网格剖分[x,y,t]=meshgrid(0:h:1,0:h:1,0:tau:1.4);%.

Matlab线性方程组求解(Gauss消去法)

Matlab线性方程组求解 1. Gauss消元法: function x=DelGauss(a,b) % Gauss消去法 [n,m]=size(a); nb=length(b); det=1; %存储行列式值 x=zeros(n,1); for k=1:n-1 for i=k+1:n if a(k,k)==0 return end m=a(i,k)/a(k,k); for j=k+1:n a(i,j)=a(i,j)-m*a(k,j); end b(i)=b(i)-m*b(k); end det=det*a(k,k); %计算行列式 end det=det*a(n,n); for k=n:-1:1 %回代求解 for j=k+1:n b(k)=b(k)-a(k,j)*x(j); end x(k)=b(k)/a(k,k);

end Example: >> A=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898]; >> b=[1 0 1]'; >> x=DelGauss(A,b) x = 0.9739 -0.0047 1.0010 2. 列主元Gauss消去法: function x=detGauss(a,b) % Gauss列主元消去法 [n,m]=size(a); nb=length(b); det=1; %存储行列式值 x=zeros(n,1); for k=1:n-1 amax=0; %选主元 for i=k:n if abs(a(i,k))>amax amax=abs(a(i,k));r=i; end end if amax<1e-10 return; end if r>k %交换两行 for j=k:n

第七章 一维波动方程的解题方法及习题答案

第二篇 数学物理方程 ——物理问题中的二阶线性偏微分方程及其解法 Abstracts:1、根据物理问题导出数理方程—偏微分方程; 2、给定数理方程的附加条件:初始条件、边界条件、物理条件 (自然条件,连接条件),从而与数理方程一起构成定解问题; 3、方程齐次化; 4、数理方程的线性导致解的叠加。 一、数理方程的来源和分类(状态描述、变化规律) 1、来源 I .质点力学:牛顿第二定律F mr =r r && 连续体力学222 2() (,)(,)0(()0; v 1()0(Euler eq.).u r t a u r t t v t v v p f t ρρρ ?????-?=??????? ?? +??=????-?+??=+=????? r r r r r r r r &弹性定律弦弹性体力学杆 振动:波动方程);膜 流体力学:质量守恒律:热力学物态方程: II.麦克斯韦方程 ;;00;().,,,D D E l B s E B B B H l j D s H j D E u B A u A σρτρσ??=???=?=????=????=???=?=+????=+??=-?=????????????????????r r r r r r r r r &&r r r r r r r r r r r &&r r r r 已已d d d d d d d 满足波动方程。Lorenz 力公式力学方程;Maxwell eqs.+电导定律电报方程。 III. 热力学统计物理 220;0.T k T t D t ρρ?? -?=??????-?=??? 热传导方程:扩 散方程:特别: 稳态(0t ρ?=?):20ρ?= (Laplace equation). IV. 量子力学的薛定谔方程: 22 .2u i u Vu t m ?=-?+?h h 2. 分类

线性方程组的解法

线性方程组的解法 1 引言 在科学研究和大型工程设计中出现了越来越多的数学问题,而这些问题往往需要求数值解。在进行数值求解时,经离散后,常常归结为求解形如Ax= b的大型线性方程组。而如插值公式,拟合公式等的建立,微分方程差分格式的构造等,均可归结为求解线性方程组的问题.在工程技术的科学计算中,线性方程组的求解也是最基本的工作之一.因此,线性方程组的解法一直是科学和工程计算中研究最为普遍的问题,它在数值分析中占有极其重要的地位。20世纪50年代至70年代,由于电子计算机的发展,人们开始考虑和研究在计算机上用迭代法求线性方程组Ax =b的近似解,用某种极限过程去逐渐逼近精确解,并发展了许多非常有效的迭代方法,迭代法具有需要计算机存储单元少、程序设计简单、原始系数矩阵在计算过程中始终不变等优点。例如Jacobi方法、Gauss—Seidel 方法、SOR方法、SSOR 方法,这几种迭代方法是最常用的一阶线性定常迭代法。 2 主要算法 20世纪50年代至70年代,人们开始考虑和研究用迭代法求解线性方程组。 Ax = b (1) 的近似解,发展了许多有效的方法,其中有Jacobi方法、Gauss—Seidel方法,SOR方法、SSOR方法,这几种迭代方法均属一阶线性定常迭代法,即若系数矩阵A的一个分裂:A =M-N ;M 为可逆矩阵,线性方程组(1)化为: (M-N)X =b; →M X = NX + b; →X= M -1NX+ M-1b 得到迭代方法的一般公式: X(k+1)=HX(k)+d (2) 其中:H =MN-1,d=M-1b,对任意初始向量X(0) 一阶定常迭代法收敛的充分必要条件是: 迭代矩H的谱半径小于1,即ρ(H) < 1;又因为对于任何矩阵范数恒有ρ(H)≤‖H‖,故又可得到收敛的一个充分条件为:‖H‖< 1。 2.1 Jacobi迭代法 若D为A的对角素构成的对角矩阵,且对角线元素全不为零。系数矩阵A的一个分解:A =

郑州大学研究生课程数值分析复习---第八章 常微分方程数值解法

郑州大学研究生课程(2012-2013学年第一学期)数值分析 Numerical Analysis 习题课 第八章常微分方程数值解法

待求解的问题:一阶常微分方程的初值问题/* Initial-Value Problem */: ?????=∈=0 )(] ,[),(y a y b a x y x f dx dy 解的存在唯一性(“常微分方程”理论):只要f (x , y ) 在[a , b ] ×R 1 上连续,且关于y 满足Lipschitz 条件,即存在与x , y 无关的常数L 使 对任意定义在[a , b ] 上的y 1(x ) 和y 2(x ) 都成立,则上述IVP 存在唯一解。 1212|(,)(,)||| f x y f x y L y y ?≤?一、要点回顾

§8.2 欧拉(Euler)法 通常取(常数),则Euler 法的计算格式 h h x x i i i ==?+1?? ?=+=+) (),(001x y y y x hf y y i i i i i =0,1,…,n ( 8.2 )

§8.2 欧拉(Euler)法(1) 用差商近似导数 )) (,()()()()(1n n n n n n x y x hf x y x y h x y x y +=′+≈+?? ?=+=+) (),(01a y y y x hf y y n n n n 差分方程初值问题向前Euler 方法h x y x y x y n n n ) ()()(1?≈ ′+)) (,() ()(1n n n n x y x f h x y x y ≈?+))(,()(n n n x y x f x y =′

一维波动方程的有限差分法

学生实验报告实验课程名称偏微分方程数值解 开课实验室数统学院 学院数统年级2013 专业班信计02班 学生姓名______________ 学号 开课时间2015 至2016 学年第 2 学期

数学与统计学院制 开课学院、实验室:数统学院实验时间:2016年6月20日

1、三层显格式建立 由于题中h 0.1, 0.1h,x 0,1 ,t 0,2,取N 10, M 200,故令网比r 0.1,h X j j h, j 0,1,2,L 10,t k k ,k O,1L ,200 ,在内网个点处,利用二阶中心差商得到如下格式: k 1 k U J 2U J 2- k 1 U j k k U j 1 2U j h2 k U j 1 o h2 略去误差项得到: k 1 U j 其中j 1,2丄9,k 对于初始条件 2 k r U J1 1,2,L ,199,局部截断误差为 U x,0 sin U J k U j k r U j 2 o k 1 U J h2。 (3) 对于初始条件-u x,0 t x,建立差分格式为: sin x j sin Jh , J 利用中心差商,建立差分格式为: 0,1,2,L 10 (4) 对于边界条件将差分格式延拓使综上(3 )、 (4 )、 k 1 u j 其中r山o.1 1 U J 2 1 U j 0,即U1二U j1, J 0,1,2,L 10 (5) 0,t 0,2 ,建立差分格式为: U N 0,k 0,1,L ,200 k 0为内点,代入(3)得到的式子再与(5)联立消去 1 1 2 0 ’ 2 0 1 5 r U, 1 1 r U, r J 2 J J 2 (7 )得到三层显格式如下: U 0,t U 1,t k U0 (6 ) 、 2 k r U j 1 2 1 r2k 2 k U J r U J 1 k 1? U j , J U j (6) 1后整理得到: U j 1 (7) (局部截断误差为 1,2,L 9,k 1,2,L ,199 h2) 1 U j U J sin 1 2 0 2r U J 1 k U o X j k U N sin 2 0 r U j 0,k 0,1,2,L 10 Jh ,J 1 2r2u01, J 1,2,L 9 0,1L ,200 (8) 四?实验环境(所用软件、硬件等)及实验数据文件Matlab

波动方程的物理背景

波动方程或称波方程(英语:wave equation)是一种重要的偏微分方程,主要描述自然界中的各种的波动现象,包括横波和纵波,例如声波、光波和水波。波动方程抽象自声学,电磁学,和流体力学等领域。 历史上许多科学家,如达朗贝尔、欧拉、丹尼尔·伯努利和拉格朗日等在研究乐器等物体中的弦振动问题时,都对波动方程理论作出过重要贡献。 波动方程是双曲形偏微分方程的最典型代表,其最简形式可表示为:关于位置x 和时间t 的标量函数u(代表各点偏离平衡位置的距离)满足: 这里c通常是一个固定常数,代表波的传播速率。在常压、20°C的空气中c为343米/秒(参见音速)。在弦振动问题中,c 依不同弦的密度大小和轴向张力不同可能相差非常大。而在半环螺旋弹簧(一种玩具,英文商标为 Slinky)上,波速可以慢到1米/秒。 在针对实际问题的波动方程中,一般都将波速表示成可随波的频率变化的量,这种处理对应真实物理世界中的色散现象。此时,c 应该用波的相速度代替: 实际问题中对标准波动方程的另一修正是考虑波速随振幅的变化,修正后的方程变成下面的非线性波动方程: 另需注意的是物体中的波可能是叠加在其他运动(譬如介质的平动,以气流中传播的声波为例)上的。这种情况下,标量u 的表达式将包含一个马赫因子(对沿流动方向传播的波为正,对反射波为负)。 三维波动方程描述了波在均匀各向同性弹性体中的传播。绝大多数固体都是弹性体,所以波动方程对地球内部的地震波和用于检测固体材料中缺陷的超声波的传播能给出满意的描述。在只考虑线性行为时,三维波动方程的形式比前面更为复杂,它必须同时考虑固体中的纵波和横波: 式中: 和被称为弹性体的拉梅常数(也叫“拉梅模量”,英文Lamé constants 或 Lamémoduli),是描述各向同性固体弹性性质的参数; 表示密度; 是源函数(即外界施加的激振力); 表示位移; 注意在上述方程中,激振力和位移都是矢量,所以该方程也被称为矢量形式的波动方程。其他形式的波动方程还能在量子力学和广义相对论理论中用到。 标量形式的一维波动方程 [编辑]波动方程的推导 一维波动方程可用如下的方式推导:一列质量为m的小质点,相邻质点间用长度h的弹簧连接。弹簧的弹性系数(又称“倔强系数”)为k:

数值分析_第五章_常微分方程数值解法

图5畅2 令珔h =h λ,则y n +1=1+珔 h +12珔h 2 +16珔h 3+124 珔 h 4y n .由此可知,绝对稳定性区域在珔h =h λ复平面上满足 |1+珔 h +12珔h 2+16珔h 3+124珔h 4 |≤1的区域,也就是由曲线 1+珔h + 12珔h 2+16珔h 3+124 珔h 4=e i θ 所围成的区域.如图5畅2所示. 例22 用Euler 法求解 y ′=-5y +x ,y (x 0)=y 0,  x 0≤x ≤X . 从绝对稳定性考虑,对步长h 有何限制? 解 对于模型方程y ′=λy (λ<0为实数)这里λ=抄f 抄y =-5.由 |1+h λ|=|1-5h |<1 得到对h 的限制为:0<h <0畅4. 四、习题 1畅取步长h =0畅2,用Euler 法解初值问题 y ′=-y -x y 2 , y (0)= 1.  (0≤x ≤0畅6), 2畅用梯形公式解初值问题 y ′=8-3y ,  (1≤x ≤2),

取步长h=0畅2,小数点后至少保留5位. 3畅用改进的Euler公式计算初值问题 y′=1x y-1x y2, y(1)=0畅5,  1<x<1畅5, 取步长h=0畅1,并与精确解y(x)= x 1+x比较. 4畅写出用梯形格式的迭代算法求解初值问题 y′+y=0, y(0)=1 的计算公式,取步长h=0畅1,并求y(0畅2)的近似值,要求迭代误差不超过10-5. 5畅写出用四阶经典Runge唱Kutta法求解初值问题 y′=8-3y, y(0)=2 的计算公式,取步长h=0畅2,并计算y(0畅4)的近似值,小数点后至少保留4位. 6畅证明公式 y n+1=y n+h9(2K1+3K2+4K3). K1=f(x n,y n), K2=f x n+h2,y n+h2K1, K3=f x n+34h,y n+34h K2, 至少是三阶方法. 7畅试构造形如 y n+1=α(y n+y n-1)+h(β0f n+β1f n-1)

解线性方程组的直接解法

解线性方程组的直接解法 一、实验目的及要求 关于线性方程组的数值解法一般分为两大类:直接法与迭代法。直接法是在没有舍入误差的情况下,通过有限步运算来求方程组解的方法。通过本次试验的学习,应该掌握各种直接法,如:高斯列主元消去法,LU分解法和平方根法等算法的基本思想和原理,了解它们各自的优缺点及适用范围。 二、相关理论知识 求解线性方程组的直接方法有以下几种: 1、利用左除运算符直接求解 线性方程组为b x\ =即可。 A Ax=,则输入b 2、列主元的高斯消元法 程序流程图: 输入系数矩阵A,向量b,输出线性方程组的解x。 根据矩阵的秩判断是否有解,若无解停止;否则,顺序进行; 对于1 p :1- =n 选择第p列中最大元,并且交换行; 消元计算; 回代求解。(此部分可以参看课本第150页相关算法) 3、利用矩阵的分解求解线性方程组 (1)LU分解 调用matlab中的函数lu即可,调用格式如下: [L,U]=lu(A) 注意:L往往不是一个下三角,但是可以经过行的变换化为单位下三角。 (2)平方根法

调用matlab 中的函数chol 即可,调用格式如下: R=chol (A ) 输出的是一个上三角矩阵R ,使得R R A T =。 三、研究、解答以下问题 问题1、先将矩阵A 进行楚列斯基分解,然后解方程组b Ax =(即利用平方根法求解线性方程组,直接调用函数): ??????? ??--------=19631699723723312312A ,?????? ? ??-=71636b 解答: 程序: A=[12 -3 2 1;-3 23 -7 -3;2 -7 99 -6;1 -3 -6 19]; R=chol(A) b=[6 3 -16 7]'; y=inv(R')*b %y=R'\b x=inv(R)*y %x=R\y 结果: R =3.4641 -0.8660 0.5774 0.2887 0 4.7170 -1.3780 -0.5830 0 0 9.8371 -0.7085 0 0 0 4.2514 y =1.7321 0.9540 -1.5945 1.3940 x =0.5463 0.2023 -0.1385 0.3279 问题 2、先将矩阵A 进行LU 分解,然后解方程组b Ax =(直接调用函数): ?????????? ??----=8162517623158765211331056897031354376231A ,????????? ? ??-=715513252b

基本波动方程的求解方法

关于弦振动得求解方法 李航 一、无界弦振动 1、一维齐次波动方程 达朗贝尔方程解无界得定解问题 ?+-+-++=at x at x d a at x at x t x u ξξ?φ?)(21)]()([21),( <达朗贝尔公式> 在常微分方程得定解问题中,通常就是先求方程得通解,然后利用定解条件确定通解所含得任意常数,从而得到定解问题得解。考虑无界得定解问题一般方程为 ??? ????=??=>+∞<<∞-??=??==)(|),(|0, ,0022222x t u x u t x x u a t u t t φ? 由达郎贝尔公式,解在点),(t x 得值由初始条件在区间],[at x at x +-内得值决定,称区间],[at x at x +-为点),(t x 得依赖区域,在t x -平面上,它可瞧作就是过点),(t x ,斜率分别a 1± 为得两条直线在x 轴上截得得区间。 2、一维非齐次波动方程得柯西问题 达朗贝尔方程解非齐次定解问题 ???????=??=>+∞<<∞-+??=??==)2()(|),(|)1(0,),(0022222 , x t u x u t x t x f x u a t u t x φ?

令),(),(),(t x V t x U t x u +=,可将此定解分解成下面两个定解问题: (I) ??? ????=??=>+∞<<∞-??=??== , )(|),(|0,0022222x t u x u t x x u a t u t x φ? (II) ??? ????=??=>+∞<<∞-+??=??== , 0|,0|0,),(0022222t x t u u t x t x f x u a t u 其中问题(I)得解可由达朗贝尔公式给出: ?+-+-++=at x at x d a at x at x t x U ξξ???)(21)]()([21),(。 对于问题(II),有下面重要得定理。 定理(齐次化原理)设),,(τωt x 就是柯西问题 ??? ????=??=>??=??== , ),(|,0|22222τωωτωωττx f t t x a t t x 得解)0(≥τ,则?=t d t x t x V 0),,(),(ττω就是问题(II)得解。 二、有界得弦振动方程 1、分离变量法 齐次条件得分离变量法 (1) (2) (3) 设)()(),(t T x X t x u =,代入方程(1)得: ) ()()()('''t aT t T x X x X = ?????????====><

相关主题
文本预览
相关文档 最新文档