1、 摘要 数值分析(numerical analysis)是研究分析用计算机求解数学计算问题的数 值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题 的理论和方法为研究对象。在实际生产实践中,常常将实际问题转化为数学模型 来解决,这个过程就是数学建模。学习数值分析这门课程可以让我们学到很多的 数学建模方法。 运用数值分析解决问题的过程: 实际问题数学模型数值计算方法程序 设计上机计算求出结果 数值分析这门学科有如下特点: 1.面向计算机 2.有可靠的理论分析 3.要有数值实验 本文主要通过 Matlab 软件,对数值分析中的 LU 分解法、Lagrange 插值 法、复化 S
2、impon 积分方法和 Runge-Kutta 方法进行编程,并利用这些方法在 MATLAB 中对一些问题进行求解,并得出结论。 关键词:数值分析;计算机;编程 ;MATLAB; 目录 一 LU 分解法 1 1.1 实验目的. 1 1.2 实验基本原理. 1 1.3 算法程序. 2 1.4 实例及结果. 3 二 Lagrange 插值法 6 2.1 实验目的. 6 2.2 实验基本原理. 6 2.3 算法程序. 7 2.4 实例及结果. 7 三 复化 Simpon 积分 9 3.1 实验目的. 9 3.2 实验基本原理. 9 3.3 算法程序 10 3.4 实例及结果 10 四 Runge-K
3、utta 方法 12 4.1 实验目的 12 4.2 实验基本原理 12 4.3 算法程序 13 4.4 实例及结果 13 总结. 15 参考文献. 16 1 一 LU 分解法 1.1 实验目的 1.了解 LU 分解法解线性方程组的基本原理。 2.熟悉计算方法的技巧和过程,能用 LU 分解法解决问题。 3.用 matlab 实现 LU 分解。 1.2 实验基本原理 1.设 A 为 n 阶矩阵,如果 A 的顺序主子式 0(i=1,2,n-1) ,则 A 可分解为一个单位下三角矩阵 L 和一个上三角矩阵 U 的乘积,且这种分解是唯 一的。 A = LU = ( 1 211 121 )( 11121
4、 222 ) 2.在满足 1 的条件下可推导得出以下公式 (1)= ( 1 =1 )/ (2) = 1 =1 (3)= 1 =1 (4) = ( =+1 )/ 3.LU 分解的具体过程如下: (1)第一步分解:11= 11 (2)第二步分解:21= 21/11 2 12= 12 22= 22 2122 (3)第三步分解:31= 31/11 32= (323112)/22 13= 13 23= 23 2113 33= 33 31133223 (4)第 n 步分解:依次计算:1、1、1,unn ( 1 211 121 ) ( 11121 222 ) 1.3 算法程序 function L,U,x=
5、Lu_x(A,d) n,m=size(A); if n=m error(The rows and columns of matrix A must be equal!); retirn; end for ii=1:n for i=1:ii for j=1:ii AA(i,j)=A(i,j); end end if(det(AA)=0) error(The matrix can not be divided by LU!) return; end end 3 A n,n=size(A); L=zeros(n,n); U=zeros(n,n); for i=1:n L(i,i)=1; end for k=1:n for j=k:n U(k,j)=A(k,j)-sum(L(k,1:k-1).*U(1:k-1,j); end for i=k+1:n L(i,k)=(A(i,k)-sum(L(i,1:k-1).*U(1:k-1,k)/U(k,k); end