当前位置:文档之家› 非线性方程的数值解法

非线性方程的数值解法

非线性方程的数值解法
非线性方程的数值解法

《计算方法》

期末论文

论文题目非线性方程的数值解法

学院

专业

班级

姓名

学号

指导教师

日期

目录

摘要

第1 章绪论

1.1 问题的提出和研究目的和意义

1.2 国内外相关研究综述

1.3 论文的结构与研究方法

第2 章非线性方程的数值解法

2.1 二分法

2.2 迭代法

2.3 迭代法的局部收敛性及收敛的阶

2.4 牛顿迭代法

2.5 牛顿法的改进

2.6 插值

摘要

数值计算方法,是一种研究解决数学问题的数值近似解方法,它的计算对象是那些。

在理论上有解而又无法用手工计算的数学问题。在科学研究和工程技术中都要用到各种计算方法。例如在地质勘探、汽车制造、桥梁设计、天气预报和汉字设计中都有计算方法的踪影。本文讨论了非线性方程的数值解法:非线性方程的二分法、迭代法原理、牛顿迭代法,迭代法的收敛性条件及适合非线性方程的插值法等等。

第1 章绪论

可以证明插值多项式L (x) n 存在并唯一。拉格朗日插值多项式的算法step1.输入插值节点控制数n插值点序列 i i x , y

i=0,1,…,n要计算的函数点x。step2. FOR i =0,1,…,n i 制拉格朗日基函数序列问题的提出和研究目的和意义非线性方程的问题

在工程实践中有很多用途研究其数值解法是当前一个研究方向。目前已有相当一部分算法在广泛使用于工程实践中。非线性方程组和无约束最优化的数值解法一直是数值优化领域中热门的研究课题。本文对传统的方法进行改进和提出新的算法该算法不仅有重要的论

价值,而且有很高的实用价值。例如在天体力学中,有如下Kepler

开普勒方程x-t- sin x=0,0< <1,其中t 表示时间x 表示弧度,行星运动的轨道x 是t 的函数。也就是说,对每个时刻i t 上述方程有唯一解i x ,运动轨道位置。

国内外相关研究综述随着科学技术的高速发展和计算机的广泛应用求解形如F(x)=0 的非线性方程组问题越来越多的被提出来了

其中F 是的连续可微函数。例如非线性有限元问题、非线性断裂问题、弹塑性问题、电路问题、电子系统计算以及经济与非线性规划问题等都可转化为非线性方程组的求解问题。只要包含有未知函数及其导函数的非线性项的微分方程,无论是用差分方法或有限元方法,离散化后得到的方程组都是非线性方程组。与线性方程组相比,非线性方程组的求解问题无论在理论上还是在解法上都不如线性方程组成熟和

有效.例如,非线性方程组是否有解,有多少解,理论上都没有很好的

解法,而对于非线性方程组,除了形式极为特殊的小型方程组以外,直接解法几乎是不可能的.因而,我们主要考虑迭代解法.一般都是采用线性化的方法去构造各种形式的迭代系列.通常都要讨论以下几个基本问题:第一个问题是,迭代点列的适定性问题,即要求迭代点列是有意义的.例如对于牛顿法,Jacobi 矩阵必须是非奇异的.第二个问题,也是最基本的问题,生成的迭代点列的收敛性以及极限点是否为方程组的解.最后一个问题是,迭代点列的收敛速度问题.

早在七十年代以前,许多学者在理论上和数值解法上都对非线性方程组做了大量的研究.Ortega Rheinboldt 系统的介绍了n 阶非线性方程组的基本理论成果,并对牛顿法,延拓法等几种主要迭代法作了详尽的分析.另外,也有一些学者把非线性方程组的求解问题转化为极小化问题, 得到一类称为极小化方法的迭代法, 如下降法, 共轭方向法,Gauss-Newton 法等,李,莫&祁详细介绍了一些适合在计算机上求解的有效算法,如Broyden 算法,以及近十几年来发展的新方法,如区间迭代法,单调迭代法和单纯形法等.

论文的结构与研究方法

1.欲解决的主要问题是:综合当前各类非线性方程的数值解法,通过比较分析,二分法,迭代法,牛顿——雷扶生方法,迭代法的收敛阶和加速收敛方法,解非线性方程的插值方法,这以上五种的算法应用对某个具体实际问题选择相应的数值解法。

2.比较各类数值算法分析其优缺点并应用到具体的实际问题中。

3.利用计算机MATLAB 语言对非线性方程的数值解法进行程序设计。

研究的基本思路是结合目标所提出的问题针对各种方法来具体分

析比较

(1) 二分法起始区间[a,b]必须满足f(a)与f(b)符号相反的条件。二分法的第一部是选择中点c=(a+b)/2,然后分析可能存在的三种情况如果f(a)和f(c)符号相反,则在区间[a,c]内存在零点。如果f(c)和f(b)符号相反则在区间[c,b]内存在零点。如果f(c)=0,则c是零点。(2)迭代法迭代是指重复执行一个计算过程,直到找到答案。首先需要有一个用于逐项计算的规划或函数g(x),并且有一个起始po。然后通过迭代规则k 1 p =g( k p ),可得到序列值{ k p }。

(3)牛顿——雷扶生法如果f(x)f ‘(x)和f "(x)在根p 附近连续则可将它作为f(x)的特性,用于开发产生收敛到根p 的序列{ k p }的算法。而且这种算法产生序列{ k p }的速度比二分法快。牛顿——雷扶生法依赖于f’(x)和f " (x)的连续性,是这类方法中已知的最有用和最好的方法之一。

(4)迭代法的收敛阶和收敛方法、割线法只计算f(x)不计算f ’(x)

而且在单根上的收敛阶R 1.618033989。割线法比牛顿法收敛速度慢一些 顿法的收敛阶为2。当p 是一个M 阶根时 要更好的求根技术以获得比线性收敛更快的速度。最终结果显示 过对牛顿法进行改进 使其在重根的情况下的收敛阶为2。加速收敛方法有Aitken 加速法和Steffensen 加速法。Steffensen 算法是促使迭代

加速收敛的有效算法,但该算法每算一步,需两次迭代,其效率不够高。

(5) 解非线性方程的插值方法 Lagrange 插值公式需要进行提高插

值多项式次数的插值计算是不方便的。这些方法它们各有优缺点

二分法的优点是对函数f(x)的性态要求不高,只需连续即可,且计算

程序简单,能保证收敛。其缺点是收敛速度较慢 只能求实函数的实零点 重或奇数重零点。该方法一般用于确定方程根或函数实零点的粗略位置,为快速收敛的算法提供初值。Newton 法的主要优点是收敛速度快,缺点是其收敛性是局部收敛,要求初始值0 x 选在精确

解* x 附近才能保证收敛。割线法迭代一次仅需计算函数值f( k x )

可保留作为下次迭代用,且避免了计算导数。

第2 章非线性方程的数值解法

满足非线性方程f(x)=0 的解x ,称为方程的根或零点。一般用迭代法求非线性方程的根。通常,非线性方程的根不是唯一的,而任何一种方法一次只能算出一个根。因此,在求解非线性方程时,要给定初始条件或求解范围。根可为实数或复数,也称为实根或复根。

二分法

二分法是求方程近似解的一种简单直观的方法。设函数f(x)在[a,b]上连续,且f(a)f(b)<0,则f(x)在[a,b]上至少有一零点 是微积分中的介值定理[1],也是使用二分法的前提条件。计算中通过对分区间缩小区间范围的步骤搜索零点的位置。

二分法是对逐步搜索法的一种改进。对于有根区间[ a, b ], 如果取

x0= (a+ b)?2,则0 x 将其分为两半; 然后通过检查f ( 0 x ) 与f (a)是否同号来判断根的位置(见图1)。

如此反复二分, 即可得出一系列的有根区间; 其中,每个区间都是前一个区间的一半。当K→∞时, 该区间的大小趋近于零, 其值便为所求方程f (x) = 0 的根。由此可见, 二分法算法简单, 在允许的误差范围内通过有限次的计算,总能求得方程在该有根区间的根。

二分法求根算法

计算f(x)=0 的一般计算步骤如下

step1 入求根区间[a,b]和误差控制量ε 义函数f(x)。

IF f(a) f(b)〈0 〉THEN 做step2

ELSE 退出选用其他求根方法

step 2WHILE |a-b|>ε

计算中点x=(a+b)/2 以及f(x)的值;分情况处理

| f(x)|〈ε 止计算x =x,转向step4

f(a) f(x)<0 正区间[a,x]->[a,b]

f(x) f(b)<0: 修正区间[x,b]->[a,b]

ENDWHILE

step 3: x =(a+b)/2。

Step 4:输出近似根x 。

二分法的算法简单 而 f(x)在[a,b]上有几个零点时 能算出其中一个零点 一方面 使f(x)在[a,b]上有零点.也未必有f(a) f(b)<0。这就限制了二分法的使用范围。二分法只能计算方程f(x)=0 的实根。

迭代法

迭代法的局部收敛性及收敛的阶

一种迭代过程,只有具备了收敛性,才能表明其迭代的有效性,同时还需要考察其迭代过程的收敛速度[3],即其在接近收敛的过程中迭代误差的下降速度。迭代计算过程不收敛,可能是因为迭代格式本身构造不成功,那么算法必须重新构造,也可能是初值选择不当这时往往可通过调整初值解决

牛顿迭代法

设r是f(x) = 0的根,选取x0作为r初始近似值,过点

(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y =

f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 =

x0-f(x0)/f'(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r 的n+1次近似值,上式称为牛顿迭代公式。

解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一

种近似方法。把f(x)在x0点附近展开成泰勒级数 f(x) =

f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=0 设f'(x0)≠0则其解为x1=x0-

f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。

军人在进攻时常采用交替掩护进攻的方式,若在数轴上的点表示A,B两人的位置,规定在前面的数大于后面的数,则是A>B,B>A交替出现。但现在假设军中有一个胆小鬼,同时大家又都很照顾他,每次冲锋都是让他跟在后面,每当前面的人占据一个新的位置,就把位置交给他,然后其他人再往前占领新的位置。也

就是A始终在B的前面,A向前迈进,B跟上,A把自己的位置交给B(即执行B = A操作),然后A 再前进占领新的位置,B再跟上……直到占领所有的阵地,前进结束。像这种两个数一前一后逐步向某个位置逼近的方法称之为迭代法。

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

利用迭代算法解决问题,需要做好以下三个方面的工作:

一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。

二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。

三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实

现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。

最经典的迭代算法是欧几里德算法,用于计算两个整数a,b 的最大公约数。其计算原理依赖于下面的定理:

定理:gcd(a, b) = gcd(b, a mod b)

证明:a可以表示成a = kb + r,则r = a mod b 。假设d 是a,b的一个公约数,则有 a%d==0, b%d==0,而r = a - kb,因此r%d==0 ,因此d是(b, a mod b)的公约数

同理,假设d 是(b, a mod b)的公约数,则 b%d==0 , r%d==0 ,但是a = kb +r ,因此d也是(a,b)的公约数。

因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证。

欧几里德算法就是根据这个原理来做的,欧几里德算法又叫辗转相除法,它是一个反复迭代执行,直到余数等于0停止的步骤,这实际上是一个循环结构。其算法用C语言描述为:int Gcd_2(int a, int b)// 欧几里德算法求a, b的最大公约数

{

if (a<=0 || b<=0) //预防错误

return 0;

int temp;

while (b > 0) //b总是表示较小的那个数,若不是则交换a,b的值

{

temp = a % b; //迭代关系式

a = b; //是那个胆小鬼,始终跟在b的后面

b = temp; //向前冲锋占领新的位置

}

return a;

}

从上面的程序我们可以看到a,b是迭代变量,迭代关系是temp = a % b; 根据迭代关系我们可以由旧值推出新值,然后循环执a = b; b = temp;直到迭代过程结束(余数为0)。在这里a好比那个胆小鬼,总是从b手中接过位置,而b则是那个努力向前冲的先锋。

还有一个很典型的例子是斐波那契(Fibonacci)数列。斐波那契数列为:0、1、1、2、3、5、8、13、21、…,即 fib(1)=0; fib(2)=1; fib(n)=fib(n-1)+fib(n-2) (当n>2时)。

在n>2时,fib(n)总可以由fib(n-1)和fib(n-2)得到,由旧值递推出新值,这是一个典型的迭代关系,所以我们可以考虑迭代算法。

int Fib(int n) //斐波那契(Fibonacci)数列

{

if (n < 1)//预防错误

return 0;

if (n == 1 || n == 2)//特殊值,无需迭代

return 1;

int f1 = 1, f2 = 1, fn;//迭代变量

int i;

for(i=3; i<=n; ++i)//用i的值来限制迭代的次数{

fn = f1 + f2; //迭代关系式

f1 = f2; //f1和f2迭代前进,其中f2在f1的前面f2 = fn;

}

return fn;

}

参考文献:

1.百度百科

2.豆丁网

第二章 线性方程组的数值解法

第二章 线性方程组的数值解法 在科技、工程技术、社会经济等各个领域中很多问题常常归结到求解线性方程组。例如电学中的网络问题,样条函数问题,构造求解微分方程的差分格式和工程力学中用有限元方法解连续介质力学问题,以及经济学中求解投入产出模型等都导致求解线性方程组。 n 阶线性方程组的一般形式为 ?? ???? ?=+++=+++=+++n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a L K K K K L L 22112 222212********* (1.1) 其矩阵形式为 b Ax = (1.2) 其中 ????? ???????=??? ?????????=? ? ????? ?????= n n nn n n n n b b b b x x x x a a a a a a a a a A M M L K K K K L L 2121212222111211 ),,2,1,(n j i a ij L =,),,2,1(n i b i L =均为实数,i b 不全为0,且A 为非奇异。 关于线性方程组的数值解法一般分为两类: 1.直接法 就是不考虑计算机过程中的舍入误差时,经有限次的四则运算得到方程组准确解的方法。 而实际中由于计算机字长的限制,舍入误差的存在和影响,这种算法也只能求得线性方程组的近似解。本章将阐述这类算法中最基本的消去法及其某些变形。这些方法主要用于求解低阶稠密系数矩阵方程组。 2.迭代法 从某个解的近似值出发,通过构造一个无穷序列,用某种极限过程去逐步逼近线性方程组的精确解的方法。本章主要介绍迭代法与迭代法。迭代法是解大型稀疏矩阵(矩阵阶数高而且零元素较多)的线性方程组的重要方法。 §1 高斯)(Gauss 消去法 1.1 Gauss 消去法 Gauss 消去法是将线性方程组化成等价的三角形方程组求解。首先举例说明Gauss

非线性方程数值解法及其应用

非线性方程数值解法及其应用 摘要:数值计算方法主要研究如何运用计算机去获得数学问题的数值解的理论和算法。 本文主要介绍非线性方程的数值解法以及它在各个领域的应用。是直接从方程出发,逐步缩小根的存在区间,或逐步将根的近似值精确化,直到满足问题对精度的要求。我将从二分法、Steffensen 加速收敛法、Newton 迭代法、弦截法来分析非线性方程的解法及应用。 关键字:非线性方程;二分法;Steffensen 加速收敛法;代数Newton 法;弦截法 一、前言 随着科技技术的飞速发展,科学计算越来越显示出其重要性。科学计算的应用之广已遍及各行各业,例如气象资料的分析图像,飞机、汽车及轮船的外形设计,高科技研究等都离不开科学计算。因此经常需要求非线性方程 f(x) = O 的根。方程f(x) = O 的根叫做函数f(x)的零点。由连续函数的特性知:若f(x)在闭区间[a ,b]上连续,且f(a)·f(b)

线性方程组的数值解法实验

线性方程组的数值解法 实验 题目 用Gauss消元法和Seidel迭代法求线性方程组的解。 实验目的 通过本次实验了解Gauss消元法和Seidel迭代法的基本原理,掌握其算法,学会用Matlab编程进行计算,并能用这些方法解决实际问题。 Gauss 顺序消元法的基本原理算法: (1)输入:,. A b (2)对1,2,,1 k n =???-做 1)if0 kk a=then输出算法失败信息,停机; 2)对1,, i k n =+???做 1/; ik ik ik kk a l a a ←= 2; i i ik k b b l b =- 3对1,, j k n =+???做; ij ij ik kj a a l a =- (3)if0 nn a=then输出算法失败信息,并停机else做 1)/; n n n nn b x b a ←= 2)对1,,2,1 i n =-???做 1 ()/; n i i i ij j ii j i b x b a x a =+ ←=-∑ (4)输出方程组的解.X

流程图见附页 Seidel 迭代法的基本原理算法: (1)输入:,; A b (2)输入:初始解向量 ;x (3)对1,2,, i n =???做 1) 1 ()/; n i i ij j ii j j i y b a x a = ≠ =-∑ 2); i i i e y x =- 3); i i x y = (4)if 1 {||} max i i n eε ≤≤ 时方程组无解,当RB RA n ==时方程组有唯一解,当RB RA n =<时,方程组有无穷多解; ②根据公式 (1)()() (1)()() (,1,,) (1,,) k k k ij ij ik kj k k k i i ik k a a l a i j k n b b l b i k n + + =-=+??? =-=+??? 将增广矩阵[,] B A b =化为上三角形矩阵; (2)建立. backsub m文件; (3)调用. backsub m文件,在Matlab命令窗口输入,A b矩阵,再输入[,,,](,) RA RB n X gaus A b =,进行Matlab实现得出方程的解。

线性方程组的解法

线性方程组的解法 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 =

线性方程组的解法及其应用

线性方程组的解法及其应用 The solution of linear equation and its application 专业:测控技术与仪器 班级: 2010-1班 作者:刘颖 学号: 20100310110105

摘要 线性方程组是线性代数的一个重要组成部分,也在现实生产生活中有着广泛的运用,在电子工程、软件开发、人员管理、交通运输等领域都起着重要的作用。在一些学科领域的研究中,线性方程组也有着不可撼动的辅助性作用,在实验和调查后期利用线性方程组对大量的数据进行处理是很方便简捷的选择。本文主要围绕如何解线性方程组来进行讲解,对于不同类型的线性方程组的不同方法,并简述线性方程组的一些实际应用。 关键词: 齐次线性方程组,非齐次线性方程组,克莱姆法则,消元法,矩阵,矩阵的秩,特解,通解。

Abstract Linear equations linear algebra is one of the important component parts, and in real life has extensive production use,and it plays an important role in electronic engineering, software development, personnel management, transportation, etc. In some discipline study, it also has the reigns of linear equations of the auxiliary function.In experiment and survey using the linear equations of the late on the data processing is very convenient simple choice. This article, focusing on how to solve linear equations to explain, for different types of linear equations of different methods, and briefly introduces some of the practical application of linear equations. Keywords: Homogeneous linear equations, Non homogeneous linear equation,Clem’s law,Elimination method,Matrix,Rank of matrix,Special solution,General solution.

非线性方程组数值解法

非线性方程组数值解法 n个变量n个方程(n >1)的方程组表示为 (1) 式中?i(x1,x2,…,x n)是定义在n维欧氏空间R n的开域D上的实函数。若?i中至少有一个非 线性函数,则称(1)为非线性方程组。在R n中记?= 则(1)简写为?(尣)=0。若存在尣*∈D,使?(尣*)=0,则称尣*为非线性方程组的解。方程组(1)可能有一个解或多个解,也可能有无穷多解或无解。对非线性方程组解的存在性的研究远不如线性方程组那样成熟,现有的解法也不象线性方程组那样有效。除极特殊的方程外,一般不能用直接方法求得精确解,目前主要采用迭代法求近似解。根据不同思想构造收敛于解尣*的迭代序列{尣k}(k=0,1,…),即可得到求解非线性方程组的各种迭代法,其中最著名的是牛顿法。 牛顿法及其变形牛顿法基本思想是将非线性问题逐步线性化而形成如下迭代程序: (2) 式中

是?(尣k)的雅可比矩阵,尣0是方程(1)的解尣*的初始近似。 这个程序至少具有2阶收敛速度。由尣k算到尣k+的步骤为:①由尣k算出?(尣k)及 ;②用直接法求线性方程组的解Δ尣k;③求 。 由此看到迭代一次需计算n个分量函数值和n2个分量偏导数值,并求解一次n阶线性方程组。 为了评价非线性方程组不同迭代法的优劣,通常用效率作为衡量标准,其中P 为迭代法的收敛阶,W为每迭代步计算函数值?i及偏导数值的总个数(每迭代步中求一次逆的工作量相同,均不算在W内)。效率e越大表示此迭代法花费代价越小,根据效率定 义,牛顿法(2)的效率为。 牛顿法有很多变形,如当奇异或严重病态时,可引进阻尼因子λk,得到阻尼牛顿法,即

线性方程组数值解法总结

好久没来论坛,刚刚发现以前的帖子现在那么火很欣慰,谢谢大家支持! 今天趁着不想做其他事情,把线性方程组的数值解法总结下,有不足的地方希望大神指教!数学建模中也会用到线性方程组的解法,你会发现上10个的方程手动解得话把你累个半死,而且不一定有结果,直接用matlab的函数,可以,关键是你不理解用着你安心吗?你怎么知道解得对不对? 我打算开个长久帖子,直到讲完为止!这是第一讲,如有纰漏请多多直接,大家一起交流!线性方程组解法有两大类:直接法和迭代法 直接法是解精确解,这里主要讲一下Gauss消去法,目前求解中小型线性方程组(阶数不超过1000),它是常用的方法,一般用于系数矩阵稠密,而有没有特殊结构的线性方程组。 首先,有三角形方程组的解法引入Gauss消去法,下三角方程组用前代法求解, 这个很简单,就是通过第一个解第二个,然后一直这样直到解出最后一个未知数,代码如下:前代法: function [b]= qiandai_method(L,b) n=size(L,1); %n 矩阵L的行数 for j=1:n-1 %前代法求解结果存放在b中 b(j)=b(j)/L(j,j); b(j+1:n)=b(j+1:n)-b(j)*L(j+1:n,j); end b(n)=b(n)/L(n,n); 上三角方程组用回代法,和前面一样就是从下面开始解x,代码: 后代法: function [y]=houdai_method(U,y) n=size(U,1); %n 矩阵L的行数 for j=n:-1:2 %后代法求解结果存放在y中 y(j)=y(j)/U(j,j); y(1:j-1)=y(1:j-1)-y(j)*U(1:j-1,j); end y(1)=y(1)/U(1,1); Gauss消去的前提就是这两个算法: 具体思想是把任何一个线性方程组的系数矩阵A,分解为一个上三角和一个下三角的乘积,即A=LU,其中L为下三角,U为上三角。 那么具体怎么做呢? 有高斯变换,什么是高斯变换?由于时间有限我不可能去输入公式,所以我用最平白的话把它描述出来。 你先想一下怎么把一个矩阵的某一列的从第j个分量后全部变0? 高斯变换就是通过每次一个矩阵Li把A的第i列对角线元素以下的都变为0,最后把这么多Li一次左乘起来就是一个矩阵L’=L(n-1)L(n-2)…L2L1,而L’A=U, 那么L=L’的转置,这样就得到了A得分解。 我们要求Ax=b A=LU

浅析线性方程组的解法

目录 摘要................................................................................... I Abstract. ............................................................................. II 第一章绪论............................................................................ I 1.1引言 (1) 1.2线性方程组解的求解方法的研究现状 (1) 1.3本文对线性方程组解法的研究结构 (1) 第二章线性方程组理论基础 (2) 2.1 线性方程组概念 (2) 2.2 线性方程组的解的情况分析 (2) 2.3 齐次线性方程组解的结构 (4) 2.4非齐次线性方程组解的结构 (4) 第三章线性方程组的数值解 (5) 3.1 迭代法 (5) 3.1.1 Jacobi方法 (6) 3.2.2 高斯-赛德尔方法 (8) 第四章全文总结和展望 (10) 4.1 全文总结 (10) 4.2 未来展望 (10) 参考文献 (11) 致谢................................................................. 错误!未定义书签。

线性方程组的求解方法 学生:指导教师: 摘要:本文在对线性方程组解的结构的研究背景与意义分析的基础上,对线性方程组的求解方法的研究现状进行了介绍,之后针对线性方程组展开了研究,包括线性方程组的概念、线性方程组的求解方法以及线性方程组的作用等,在对线性方程组有了全面的认识后,基于线性方程组解的结构展开了研究,包括线性方程组解的基本定理,齐次和非齐次线性方程组解的结构形式,以及齐次和非齐次线性方程组解的结构,我们用迭代法中最常用的Jacobi方法中的相似上三角矩阵定理和迭代法中的收敛性讨论线性方程组的数值解法,并用高斯-赛德尔方法进行验证。得到线性方程组的数值解的一般方法。最后,对全文进行了总结和展望。 关键词:线性方程组;数值解;迭代法;Jacobi方法;高斯-赛德尔方法

线性方程组的数值解法

第三章线性方程组地数值解法 范数 (1> 常用范数 ① 向量 1- 范数: ② 向量 2- 范数: ③ 向量∞- 范数: ④ 向量 p- 范数: 向量1- 范数,向量2- 范数,向量∞- 范数实际上为任意 p- 范数地特例. (2> 矩阵范数 设,则 (1>,A地行范数 (2>,A地列范数 (3>,A地 2- 范数,也称谱范数 (4>, F- 范数 其中指矩阵地最大特征值 (3>谱半径(用于判断迭代法地收敛值> 设为矩阵A地特征值,则

称为A地谱半径 谱半径小于任何半径,若,则 (4>设A为非奇异矩阵,称 为A地条件数 矩阵地条件数与范数选取有关,通常有 显然当A对称时 直接法 Gauss消去法 ①Gauss顺序消去法 对线性方程组Ax=b,设,按顺序消元法,写出增广矩阵(A┆b>第一步,写出,将2~n行中地变为0 第k步,写出,将k+1~n行中地变为0 具体步骤可参照下面地例题 例5:用Gauss消去法解方程组

解: Guass列主元消去法 消去过程与Guass消元法基本相同,不同地是每一步消元时,都要将所选到地绝对值最大元素作为主元. 具体分析参见习题详解1 ②矩阵三角(LU>分解法 基本思想:将Ax=b化为LUx=b,令Ux=y 可得Ly=b,Ux=y,相当于先求出y,再求出x 其中,L,U分别为下三角矩阵和上三角矩阵 若L为单位下三角矩阵,则称为Doolittle分解。若U为单位上三角矩阵,则称为Crout分解. ③矩阵Doolittle分解法

计算公式 具体解题见习题详解2 注意计算顺序,先行再列,用简图表示为 虚线上地元素为对角元,划为行元. ④ 分解法 计算公式

线性方程组的直接解法

第2章线性方程组的直接解法 2.1实验目的 理解线性方程组计算机解法中的直接解法的求解过程和特点,学习科学计算的方法和简单的编程技术。 2.2概念与结论 1. n阶线性方程组 如果未知量的个数为 n ,而且关于这些未知量x1,x2, …,x n的幂次都是一次的(线性的)那末, n 个方程 a11x1+a12x2+ … +a1n x n=b1 ┆┆┆ (1) a n1x1+a n2x2+ … +a nn x n= b n 构成一个含n个未知量的线性方程组,称为n阶线性方程组。其中,系数a11,…,a1n,a21, …,a2n, …,a n1, …,a nn 和b1, …,b n都是给定的常数。 方程组(1)也常用矩阵的形式表示,写为 Ax=b 其中,A是由系数按次序排列构成的一个n阶矩阵,称为方程组的系数矩阵,x和b都是n维向量,b称为方程组的右端向量。 2. n阶线性方程组的解 使方程组(1)中每一个方程都成立的一组数x1*,x2*, …,x n*称为式(1)的解,把它记为向量的形式,称为解向量. 3.一些特殊的线性方程组 1) 上三角方程组 2) 三对角方程组 ? ? ? ? ? ? ? ? ? ? ? ? = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - - n n nn n n n n n n n n b b b x x x a a a a a a a a a a a a 2 1 2 1 1 1 1 2 1 2 23 22 1 1 1 13 12 11

4.矩阵的Doolittle 分解 5.Doolittle 分解的紧凑格式 6.矩阵的Crout 分解 ????????? ? ??=?????????? ???????????? ? ?--n n n n n n d d d x x x b a c b c b a c b a c b 21 2111333 22211???? ?? ? ? ???????? ??=??????? ??nn n n n n nn n n n n u u u u u u l l l a a a a a a a a a 222 11211 2 1 21 2 1 2222111211111 ???? ?? ? ? ???????? ??=??????? ??11 1 21122 1 2221 11 2 1 2222111211 n n nn n n nn n n n n u u u l l l l l l a a a a a a a a a ????? ?? ? ??nn n n n n n n u l l l u u l l u u u l u u u u 3 2 1 333323122322211131211

线性方程组的几种求解方法

线性方程组的几种解法 线性方程组形式如下: 常记为矩阵形式 其中 一、高斯消元法 高斯(Gauss)消元法的基本思想是:通过一系列的加减消元运算,也就是代数中的加减消去法,将方程组化为上三角矩阵;然后,再逐一回代求解出x 向量。现举例说明如下: (一)消元过程 第一步:将(1)/3使x 1的系数化为1 得 再将(2)、(3)式中x 1的系数都化为零,即由(2)-2×(1)(1) 得 )1(32)2( (03) 4 32=+x x )1(321)1(......23132=++ x x x

由(3)-4×(1)(1) 得 第二步:将(2)(1) 除以2/3,使x 2系数化为1,得 再将(3)(1) 式中x 2系数化为零,即 由(3)(1) -(-14/3)*(2)(2) ,得 第三步:将(3)(2) 除以18/3,使x 3系数化为1,得 经消元后,得到如下三角代数方程组: (二)回代过程 由(3)(3) 得 x 3=1, 将x 3代入(2)(2) 得x 2=-2, 将x 2 、x 3代入(1)(1) 得x 2=1 所以,本题解为[x]=[1,2,-1]T (三)、用矩阵演示进行消元过程 第一步: 先将方程写成增广矩阵的形式 第二步:然后对矩阵进行初等行变换 初等行变换包含如下操作 (1) 将某行同乘或同除一个非零实数 ) 3(3)3(......1-=x )2(3)3( (63) 18-=x ) 2(32) 2(......02=+x x ) 1(32)3( (63) 10 314-=-- x x

(2)将某行加入到另一行 (3)将任意两行互换 第三步:将增广矩阵变换成上三角矩阵,即主对角线全为1,左下三角矩阵全为0,形式如下: 示例: (四)高斯消元的公式 综合以上讨论,不难看出,高斯消元法解方程组的公式为 1.消元 (1)令 a ij(1) = a ij , (i,j=1,2,3,…,n) b i(1) =b i , (i=1,2,3,…,n) (2)对k=1到n-1,若a kk(k)≠0,进行 l ik = a ik(k) / a kk(k) , (i=k+1,k+2,…,n) a ij(k+1) = a ij(k) - l ik * a kj(k), (i,j= k+1,k+2,…,n) b i(k+1) = b i(k) - l ik * b k(k), (i= k+1,k+2,…,n) 2.回代 若a nn(n) ≠0 x n = b n(n) / a nn(n) x i = (b i(i) – sgm(a ij(i) * x j)/- a ii(i),(i = n-1,n-2,…,1),( j = i+1,i+2,…,n ) (五)高斯消元法的条件 消元过程要求a ii(i) ≠0 (i=1,2,…,n),回代过程则进一步要求a nn(n) ≠0,但就方程组Ax=b 讲,a ii(i)是否等于0时无法事先看出来的。 注意A的顺序主子式D i(i=1,2,…,n),在消元的过程中不变,这是因为消元所作的变换是“将某行的若干倍加到另一行”。若高斯消元法的过程进行了k-1步(a ii(i) ≠0,i

计算方法实验报告-线性方程组的数值解法

重庆大学 学生实验报告实验课程名称计算方法 开课实验室DS1421 学院年级专业 学生姓名学号 开课时间至学年第学期

1.实验目的 (1)高斯列主元消去法求解线性方程组的过程 (2)熟悉用迭代法求解线性方程组的过程 (3)设计出相应的算法,编制相应的函数子程序 2.实验内容 分别用高斯列主元消去法 ,Jacobi 迭代法,Gauss--Saidel 迭代法,超松弛迭代法求解线性方程组 ????? ???????-=????????????????????????------725101391444321131243301024321x x x x 3.实验过程 解:(1)高斯列主元消去法 编制高斯列主元消去法的M 文件程序如下: %高斯列主元消元法求解线性方程组Ax=b %A 为输入矩阵系数,b 为方程组右端系数 %方程组的解保存在x 变量中 format long;%设置为长格式显示,显示15位小数 A=[2,10,0,-3;-3,-4,-12,13;1,2,3,-4;4,14,9,-13] b=[10,5,-2,7]' [m,n]=size(A); %先检查系数正确性 if m~=n error('矩阵A 的行数和列数必须相同'); return; end if m~=size(b) error('b 的大小必须和A 的行数或A 的列数相同'); return; end %再检查方程是否存在唯一解 if rank(A)~=rank([A,b]) error('A 矩阵的秩和增广矩阵的秩不相同,方程不存在唯一解'); return; end c=n+1; A(:,c)=b; %(增广) for k=1:n-1

数值分析讲义——线性方程组的解法

数值分析讲义 第三章线性方程组的解法 §3.0 引言 §3.1 雅可比(Jacobi)迭代法 §3.2 高斯-塞德尔(Gauss-Seidel)迭代法 §3.3 超松驰迭代法§3.7 三角分解法 §3.4 迭代法的收敛性§3.8 追赶法 §3.5 高斯消去法§3.9 其它应用 §3.6 高斯主元素消去法§3.10 误差分析 §3 作业讲评3 §3.11 总结

§3.0 引言 重要性:解线性代数方程组的有效方法在计算数学和科学计算中具有特殊的地位和作用.如弹性力学、电路分析、热传导和振动、以及社会科学及定量分析商业经济中的各种问题. 分类:线性方程组的解法可分为直接法和迭代法两种方法. (a) 直接法:对于给定的方程组,在没有舍入误差的假设下,能在预定的运算次数内求得精确解.最基本的直接法是Gauss消去法,重要的直接法全都受到Gauss消去法的启发.计算代价高. (b) 迭代法:基于一定的递推格式,产生逼近方程组精确解的近似序列.收敛性是其为迭代法的前提,此外,存在收敛速度与误差估计问题.简单实用,诱人.

§3.1 雅可比Jacobi 迭代法 (AX =b ) 1 基本思想: 与解f (x )=0 的不动点迭代相类似,将AX =b 改写为X =BX +f 的形式,建立雅可比方法的迭代格式:X k +1=BX (k )+f ,其中,B 称为迭代矩阵.其计算精度可控,特别适用于求解系数为大型稀疏矩阵(sparse matrices)的方程组. 2 问题: (a) 如何建立迭代格式? (b) 向量序列{X k }是否收敛以及收敛条件? 3 例题分析: 考虑解方程组??? ??=+--=-+-=--2.453.82102 .72103 21321321x x x x x x x x x (1) 其准确解为X *={1, 1.2, 1.3}. 建立与式(1)相等价的形式: ??? ??++=++=++=84.02.01.083.02.01.072 .02.01.02 13312321x x x x x x x x x (2) 据此建立迭代公式: ?????++=++=++=+++84 .02.01.083.02.01.072.02.01.0)(2)(1)1(3 )(3 )(1)1(23)(2)1(1k k k k k k k k k x x x x x x x x x (3) 取迭代初值0) 0(3 )0(2)0(1===x x x ,迭代结果如下表. JocabiMethodP31.cpp

非线性方程的数值解法

非线性方程的数值解法

《计算方法》 期末论文 论文题目非线性方程的数值解法 学院 专业 班级 姓名 学号 指导教师 日期

目录 摘要 第1 章绪论 1.1 问题的提出和研究目的和意义 1.2 国内外相关研究综述 1.3 论文的结构与研究方法 第2 章非线性方程的数值解法 2.1 二分法 2.2 迭代法 2.3 迭代法的局部收敛性及收敛的阶 2.4 牛顿迭代法 2.5 牛顿法的改进 2.6 插值 摘要 数值计算方法,是一种研究解决数学问题的数值近似解方法,它的计算对象是那些。 在理论上有解而又无法用手工计算的数学问题。在科学研究和工程技术中都要用到各种计算方法。例如 在地质勘探、汽车制造、桥梁设计、天气预报和汉字设计中都有计算方法的踪影。本文讨论了非线

性方程的数值解法:非线性方程的二分法、迭代法原理、牛顿迭代法,迭代法的收敛性条件及适合非线性方程的插值法等等。 第1 章绪论 可以证明插值多项式L (x) n 存在并唯一。拉格朗日插值多项式的算法 step1.输入 插值节点控制数n 插值点序列 i i x , y i=0,1,…,n 要计算的函数点x。step2. FOR i =0,1,…,n i 制拉格朗日基函数序列问题的提出和研究目的和意义非线性方程的问题在工程实践中有很多用途 研究其数值解法是当前一个研究方向。目前已有相当一部分算法在广泛使用于工程实践中。非线性方程组和无约束最优化的数值解法 一直是数值优化领域中热门的研究课题。本文对传统的方法进行改进和提出新的算法 该算法不仅有重要的论价值,而且有很高的实用价值。例如在天体力学中,有如下Kepler 开普勒方程 x-t- sin x=0,0< <1,其中t 表示时间 x 表示弧度,行星运动的轨道x 是t 的函数。也就是说,对每个时刻i t 上述方程有唯一解i x ,运动轨道位置。 国内外相关研究综述随着科学技术的高速发展和计算机的广泛应用 求解形如F(x)=0 的非线性方程组问题越来越多的被提出来了 其中F 是的连续可微函数。例如非线性有限元问题、非线性断裂问题、弹塑性问题、电路问题、电子系统计算以及经济与非线性规划问题等都可转化为非线性方程组的求解问题。只要包含有未知函数及其导函数的非线性项的微分方程,无论是用差分方法或有限元方法,离散化

线性方程组的数值解法及其应用

线性方程组的数值解法及其应用 一、问题描述 现实中的问题大多数是连续的,例如工程中求解结构受力后的变形,空气动力学中计算机翼周围的流场,气象预报中计算大气的流动。这些现象大多是用若干个微分方程描述。用数值方法求解微分方程(组),不论是差分方法还是有限元方法,通常都是通过对微分方程(连续的问题,未知数的维数是无限的)进行离散,得到线性方程组(离散问题,因为未知数的维数是有限的)。因此线性方程组的求解在科学与工程中的应用非常广泛。 经典的求解线性方程组的方法一般分为两类:直接法和迭代法。 二、基本要求 1)掌握用MATLAB软件求线性方程初值问题数值解的方法; 2)通过实例学习用线性方程组模型解决简化的实际问题; 3)了解用高斯赛德尔列主元消去法和雅可比迭代法解线性方程组。 三、测试数据 1) 直接法:A=[0.002 52.88;4.573 -7.290]; b=[52.90;38.44]; 2) 迭代法:A=[10 -1 -2;-1 10 -2;-1 -1 5]; b=[7.2;8.3;4.2]; 四、算法程序及结果 1) function[RA,RB,n,x]=liezy1(A,b) B=[A b];n=length(b);RA=rank(A); RB=rank(B);zhica=RB-RA; if zhica>0, disp('因为RA~=RB,所以此方程组无解.') return

if RA==RB if RA==n disp('因为RA=RB=n,所以此方程组有唯一解.') x=zeros(n,1);C=zeros(1,n+1); for p=1:n-1 [Y,j]=max(abs(B(p:n,p)));C=B(p,:); B(p,:)=B(j+p-1,:);B(j+p-1,:)=C; for k=p+1:n m=B(k,p)/B(p,p); B(k,p:n+1)=B(k,p:n+1)-m*B(p,p:n+1); end end b=B(1:n,n+1);A=B(1:n,1:n);x(n)=b(n)/A(n,n); for q=n-1:-1:1 x(q)=(b(q)- sum(A(q,q+1:n)*x(q+1:n)))/A(q,q); end else disp('因为RA=RB> b=[52.90;38.44]; >> [RA,RB,n,x]=liezy1(A,b) 因为RA=RB=n,所以此方程组有唯一解. RA = 2 RB = 2

线性方程组的理论和解法

求线性方程组的方法 摘要:线性方程组是线性代数的一个重要组成部分,也在现实生活中有着广泛的运用,在电子工程、软件开发、人员管理、交通运输等领域都起着重要作用。在一些学科领域的研究中,线性方程组也有着不可撼动的辅助性作用,在实验和调查后期利用线性方程组对大量的数据处理是很方便简洁的选择。本文主要围绕如何解线性方程组来进行讲解,对于不同类型的线性方程组的不同方法,并简述线性方程组的一些实际应用。 关键词:齐次线性方程组,非齐次线性方程组,克莱姆法则,消元法,矩阵,矩阵的秩,特解,通解。 英文题目 The solution of linear equation Linear equations linear algebra is one of the important component parts, and in real life has extensive production use,and it plays an important role in electronic engineering, software development, personnel management, transportation, etc. In some discipline study, it also has the reigns of linear equations of the auxiliary function.In experiment and survey using the linear equations of the late on the data processing is very convenient simple choice.

三元线性方程组的几何解法.doc

三元线性方程组的几何解法 任春丽,王金金 (西安电子科技人学理学院数学系,陕西酋安710071 ) 线性方程组是线性代数中重要的内容,其解的结构在线性代数课程中已通过向量及矩阵理论讨论的非常清楚,但在教材中很少提及几何意义.由于三元线性方程表示空间屮的平而,因此,通过平面图形Z间的位置关系求解线性方程组,不仅形象、直观,而且为从三维空间抽象的代数问题推广到n维空间更定了基础°文献[2] 丿IJ矩阵 的秩判别了空间屮平面、直线之间的位證关系;相反的,本文利用空间中平而、肓线之间的位宜关系讨论了三元线性方程组解的情况,并举例说明。 1.两个方程的三元线性方程组 设方程组(I): [仲+恥+C"。-街俩个平面) A2X +B2y + C2z = D2—兀2 讨论:令e=4,d,G,o)(心1,2), %=Q,B,C)(i = l,2) ⑴若wa,即牛鲁咱唔‘则 眄与龙2重合,方程组(I)有无穷多解; (2)若n.//n2i a^a29即4 =邑』』, 1 2 1 2 码场C? D2则眄与?平行但不重合,方程组(I )无解; (3)若讥叫,则陌与幻相交,方程纨I)有无穷多解,其解为相交直线上的所有点。 例1求解下列线性方程组 3兀 + 6y — 3z = 8 fx + 2y-z = 7 (1){ : (2){ ?一兀一 2y + z = 3 [-2x + y + z = 4 解⑴因为—7^-,所以两个平 -1-213 血平行但不重合,故方程组无解; (2)因为阿x〃2 =(1,2,T)x(一2,1,1) = (3丄5) H 0, 所以两个平面相交于H线L,故方程组有无穷多 解。又点(1,4,2)在L上,故直线L的参数方程x = 1 + 3f, 为:」= 4+r,即是方程组的通解。 z = 2 + 5/. 2.三个方程的三元线性方程组 设方程组(II): A}x + + Gz = °―兀、 < A2x + B2y + C2z = D2—兀2(三个平面) A.x + B,y^C.z = D. 一心 讨论:令q=Q,d,G,q)(i = l,2,3), n,=(4.,B/,C/)(i = l,2,3)o (1)若= 1,2,3)中至少有两个平行,则至 少有两个平面重合,其解的讨论同第1 H; (2)若? (/ = 1,2,3)屮至少有两个平行,但相应的乞?加勺(心力,则至少冇两个平面平行但 不重合,方程组(II)无解; (3)若?加? (心/),则三个平面两两相交, 方程组(II)可能有解,也可能无解。进一步:求 x = x Q + mt, ! IW与兀2的交线L的参数式方程:\y = y o+ntf z = 5 + pt. 如果厶〃龙3,但点(兀O,y°,Zo)不在龙3上,则

线性方程组解法综述

线性方程组解法综述 Prepared on 22 November 2020

线性方程组解法的研究综述 摘要:这篇论文在说明了线性方程组的应用目的的基础上,提出了线性方程组求解的研究现状,并列举了常用的求解方法,同时说明了它们的应用条件,剖析了各种方法的不足之处。 关键词高斯消元迭代病态方程组 一、问题提出 在自然科学和工程实际应用中,有许多问题的求解最终都转化为线性方程组的求解问题。例如,电学中的网络问题,曲线拟合中常用的最小二乘法、样条函数插值、解非线性方程组、求解偏微分方程的差分法、有限元法和边界元法以及目前工程实践中普遍存在的反演问题等。特别是在图像恢复、模型参数估计、解卷积、带限信号外推、地震勘探等众多领域,都需要求解线性方程组。 由于线性方程组问题在理论上的重要性和在工程实际应用中的大量存在,多年来人们在这方面做了广泛深入的研究和探讨,并取得了许多有价值的成果.由于模型误差、测量误差、计算误差等各种误差的存在,常常使得线性方程组中的系数矩阵和非齐次项信息具有某种程度的近似性(即扰动性),这种近似性显然会使得线性方程组的求解不容易得到真实的理论解。此时,不同的求解方法由于运算机理不一样,求解过程中误差积累程度就不一样,因此必然会使得不同的求解方法得到的解具有不同的逼近真解的误差程度,尤其对具有病态性的方程组而言,由于病态线性方程组的条件数很大,数据误差以及计算过程中引入的舍入误差往往会使线性方程组的解不稳定,即不管原始数据的误差多么小,都可能造成解的很大变化,使线性方程组的解严重失真。因此,许多现有的方

法都是无效的,病态线性方程组的求解变得相当困难。求解线性方程组的最常用的方法主要有直接法和迭代法两大类,其中直接法中最常用的方法是高斯消元法。但是,该方法求解病态线性方程组时不能得到合理的解,误差很大。 二、研究现状 目前关于线性方程组的数值解法一般有两大类。一类是直接方法,另一类是迭代方法。直接方法最基本的是高斯消元法及其变形,这类方法是解低阶稠密矩阵方程组的有效方法,近十几年来直接法在求解具有较大型稀疏矩阵方程组方面取得了较大进展。迭代法就是用某种迭代过程去逐步逼近线性方程组的精确解,迭代法具有需要计算机的存储单元较少,程序设计简单,原始系数矩阵在计算过程中始终不变等优点,但存在收敛性及收敛速度问题。迭代法是解大型稀疏矩阵方程组的重要方法。当前对迭代算法的研究已经较为成熟,但如何使之适合新体系模型,以获得更好的性能加速一直是应用和体系设计者关心的问题。 三、常用方法比较 1.直接方法 直接方法是指假设计算过程中不产生舍入误差,经过有限次运算可求得方程组的精确解的方法。事实上,由于舍入误差的存在,用直接法一般也只能求得方程组的近似解。直接方法中主要有三种方法:克拉默法则、高斯消元法、LU 分解法。 (1)克拉默法则 设有线性方程组( n 个未知数 n 个方程)

非线性薛定谔方程数值解的MATLAB仿真

admin [非线性薛定谔方程数值解的MATLAB仿真]——利用分步快速傅里叶变换对光纤中光信号的传输方程进行数值求解

1、非线性薛定谔方程 非线性薛定谔方程(nonlinear Schrodinger equation ,NLSE)是奥地利物理学家薛定谔于1926 年提出的,应用在量子力学系统中。由于量子力学主要研究粒子的动力学运动状态,所以不能运用牛顿力学公式来表示。通常在量子力学中,研究系统的状态一般通过波函数(x ,t)来表示。而对波函数的研究主要是求解非线性薛定谔方程。本文主要研究光脉冲在光纤中传输状态下的演变。 一般情况下,光脉冲信号在光纤中传输时,同时受到光纤的色散和非线性效应的影响。通过Maxwell 方程,考虑到光纤的色散和非线性效应,可以推导出光信号在光纤中的传输方程,即非线性薛定谔方程。NLSE 是非线性偏微分方程,一般很难直接求出解析解,于是通过数值方法进行求解。具体分为两大类:(1)分布有限差分法(split-step finite differencemethod ,SSFD);(2)分步傅里叶变换法(split-step Fourier transform method ,SSFT)。一般情况,在达到相同精度,由于分步傅里叶变换法采用运算速度快的快速傅里叶变换,所以相比较有限差分法运算速度快一到两个数量级。于是本文介绍分步傅里叶变换法来对光纤中光信号的传输方程,即非线性薛定谔方程进行数值求解。并通过MATLAB 软件对结果数值仿真。 非线性薛定谔方程的基本形式为: 22||t xx iu u u u =+ 其中u 是未知的复值函数. 目前,采用分步傅立叶算法(Split step Fourier Method)求解非线性薛定谔方程的数值解应用比较多。分步傅立叶方法最早是在1937年开始应用的,这种方法己经被证明是相同精度下数值求解非线性薛定愕方程最快的方法,部分原因是它采用了快速傅立叶变换算法(FastFourier Transform Algorithm)。基于MATLAB 科学计算软件以及MATLAB 强大的符号计算功能,完全可以实现分步傅立叶数值算法来对脉冲形状和频谱进行仿真。 一般情况下,光脉冲沿光纤传播时受到色散和非线性效应的共同作用,假设当传输距离 很小的时候,两者相互独立作用,那么,根据这种思想可建立如下分步傅立叶数值算法的数 学模型: 把待求解的非线性薛定谔方程写成以下形式: ??()U D N U z ?=+? (I ) (II )

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