数值分析综述报告.doc
《数值分析综述报告.doc》由会员分享,可在线阅读,更多相关《数值分析综述报告.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,淮 阴 工 学 院数值分析考试基于Matlab的方法综合应用报告班 级: 金融1121 姓 名: 姚婷婷 学 号: 1124104129 成 绩: 数 理 学 院 2014年6月7日数值分析课程综述报告前言:数值分析也称计算方法,它与计算工具的发展密切相关。数值分析是一门为科学计算提供必需的理论基础和有效、实用方法的数学课程,它的任务是研究求解各类数学问题的数值方法和有关的理论。 正文:第一章 近似计算与误差分析1、产生误差的原因:模型误差;观测误差;截断误差;舍入误差。2、四则运算的误差:加减法运算乘法运算 除法运算:3、科学表示法、有效数字、近似值的精度任何一个实数都可以表示成如下的形式
2、: 其中:是正整数,是整数,如果是数的近似值 并且 则称该近似值具有位有效数字(significant digit)。此时,该近似值的相对误差为 另一方面,若已知 那么,即:至少有位有效数字。例:取其近似值如下:x*=3.14x* =3.14159x*=3.1415x*=3.141第二章 线性方程组在科学计算中,问题的本身就是求解线性方程组,许多问题的求解需要最后也归结为线性方程组的求解,所以线性方程组的求解是科学计算中最常见的问题。对于线性方程组的求解一般有两种方法:(1) 直接法:高斯消去法;(2) 间接法:各种迭代法。(1) 高斯消去法:求解思路:先消元,即按一定的规律逐步消去未知量,将
3、方程组化为等价的上(或下)三角形方程组;然后进行回代,即由上三角形方程组逐个求出;高斯(列、全)主元素消去法,及在消元的每一步选取(列)主元素列中绝对值最大的元取做主元素,计算步骤:消元过程:按列选主元、行交换、消元计算;回代过程;高斯列主元素消去法的MATLAB 实现:。第三章 解线性方程组的迭代法通常逆矩阵不易求得,特别是对于大型的线性方程组,需要用迭代法求解。用迭代法求解线性方程组,要把线性方程组写成等价的形式,右边写为迭代格式,如:2、关于迭代法收敛性的两个重要结论:充分必要条件是:矩阵的谱半径;充分条件是:矩阵的某个算子范数。3、线性方程组的迭代法主要有Jacobian迭代法,Gau
4、ss-Seidel迭代法。Jacobian 迭代法: Gauss-Seidel 迭代法: (3.7)Jacobian 迭代法与G-S迭代法比较: (3.8)式(3.7)和 (3.8) 表明:Gauss-Seidel 迭代法在计算第次迭代的第个分量时,及时地利用了在此步迭代中得到的新的迭代值:,由于第步的迭代值通常比第步的迭代值更接近方程组的精确解,所以,在Jacobian迭代法和GS迭代法都收敛的情况下,Gauss-Seidel迭代法的收敛速度比Jacobian迭代法的收敛速度高。例题:用MATLAB函数normrdn生成5阶矩阵和向量分别构造线性方程组的Jacobi迭代格式和G-S迭代格式,
5、并判断收敛性。Jacobian迭代法和GS迭代法程序如下:clc;clear all;%1、生成M和bM=normrnd(1,2,5)b=normrnd(1,2,5,1)%Jacobian迭代法M1=D(L+U)f1=Dbrho=max(abs(eig(M1);R=1e-08; %设定的一个收敛标准switch sign(1-rho) case -1 disp(the Jocobian method is not applicable) otherwise x(:,1)=normrnd(0,9,5,1); k=1 while k=R k=k+1; else X=x(:,k+1); disp(J
6、acobian迭代法迭代次数为:) IterN=k %Jacobian迭代法迭代次数 break end endend%Causs-Seidel迭代法 M2=(D-L)Uf2=(D-L)brho=max(abs(eig(M2);R=1e-08;switch sign(1-rho) case -1 disp(the auss-seidel method is not applicable) otherwise x(:,1)=normrnd(0,9,5,1); k=1 while k=R k=k+1; else X=x(:,k+1) disp(Causs-Seidel迭代法迭代次数为:) Iter
7、N=k break end endend第四章 非线性代数方程(组)的数值解法:一、二分法:首先要确定适当的包含根的区间,这可以依据闭区间上连续函数的介值定理来确定,例如该方程:对于该方程所以该方程至少有一个实根位于区间,图像表明该区间中只含有一个实根;用表示方程在区间上的精确解,对于给定的精度要求,取区间的中点,并按下式进行判断: (1)以为例, 如果,没有达到精度要求,令,并重复(1)的迭代过程;如果,那么,必有,因为。即区间内的任何一点都可以作为方程的近根,特别地,可取做为近似解。二、牛顿迭代法:任取初始值上过点()的切线方程为:与轴交于点,过点的切线方程为与轴交于点, , ,如此下去得
8、牛顿迭代公式:例题:考虑如下三阶非线性方程组: 其中 取适当的迭代初值,用Newton迭代法求方程组的数值解程序:%Newton迭代法求解x=sym(x,clear);y=sym(y,clear);syms z; F=x2+y2+a2*z2/2-a2; x+y-a; (2*x-a)2+(2*y-a)2+a2*(z-b)/4; Fx=diff(F,x,1);Fy=diff(F,y,1);Fz=diff(F,z,1); DF=Fx Fy Fz; F=(x,y,z)x2+y2+a2*z2/2-a2;x+y-a; (2*x-a)2+(2*y-a)2+a2*(z-b)/4; %Newton迭代法求解过程
9、Fr=10-10; Er=10-10; x0=-a/4;-a;-a/2; x0=-a/4;-a;a/2;k=1; X(:,1)=x0;while norm(F(X(1,k),X(2,k),X(3,k)-0;0;0,2)=Fr tic; f(:,k)=F(X(1,k),X(2,k),X(3,k); J=subs(DF,x,X(1,k); J=subs(J,y,X(2,k);J=subs(J,z,X(3,k); X(:,k+1)=X(:,k)-Jf(:,k); t(k)=toc; if norm(X(:,k+1)-X(:,k),2)Er break end k=k+1;enddisp(Newton
10、迭代法结果为:);disp(X(:,end);运行结果:Newton迭代法结果为: 3.4291 0.46580.6535 第五章 插值一、插值:插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。二、常用差值法:拉格朗日(Lagrange)插值法、牛顿(Newton)插值法1、拉格朗日(Lagrange)插值法:拉格朗日插值多项式简单的证明因为拉格朗日插值多项式的基函数有如下的性质: 所以拉格朗日插值多项式 满足插值的条件。插值多项式拉格朗日插值法的不足在实际问题中,观测的数据可能会不断增加,如果用拉格朗日插值公式构造插值多项式,那么,每当增加
11、数据就要重新计算多项式的系数,由此增加许多不必要的计算工作量。2、(三次)样条(Spline)插值插值条件要求 要求所求的插值多项式(三次样条函数) 在每个区间,是次数不超过三次的多项式;,; 在区间.上具有二阶连续导数。例题:在夏季,较大湖泊的水体按深度被跃变层分为上部的变温层和下部的均温层。水体的分层化对环境工程中污染问题的研究具有重要的意义,例如,有机物的分解将导致被跃变层隔离的底部水体中氧急剧减少。按温度随水深的变化曲线,跃变层位于水深处: 现有美国普拉特湖(Platte Lake) 的一组数据:深度(): 02.34.99.113.718.322.927.2温度(): 22.822.
12、822.820.613.911.711.111.11. 试利用Lagrange差值方法求温度随水深(近似)变化函数表达式;2. 试利用三次样条差值方法(应用Matlab函数csape)求温度随水深(近似)变化函数表达式;3. 画出插值函数和曲线,并与原始插值数据图像作比较程序代码:函数文件程序:function Ln = my_Fun(x, XI, YI)if isa(x, sym) = 1; n = length(XI) - 1; Ln = 0; Pn = sym(ones(n + 1, 1); for k = 1 : n + 1 for i = 1 : n + 1 if i = k Pn(
13、k) = Pn(k)*(x - XI(i)/(XI(k) - XI(i); else Pn(k) = Pn(k); end end Ln = Ln + Pn(k)*YI(k); endelse n = length(XI) - 1; L = ones(n + 1, length(x); Ln = zeros(size(x); for k = 1 : n + 1 for i = 1 : n + 1 if i = k L(k,:) = L(k,:).*(x - XI(i)./(XI(k) - XI(i); else L(k,:) = L(k,:); end end Ln = Ln + L(k, :
14、).*YI(k); endEnd主文件程序:clc;clear all;close all;%问题1.用Lagrange差值方法求温度随水深(近似)变化图像t = sym(t, real);x=0 2.3 4.9 9.1 13.7 18.3 22.9 27.2;T=22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1;X=linspace(0,27.2,275);Ln=my_Fun(X,x,T);figure(1)plot(x,T,r*,markersize,15) xlabel(深度x);ylabel(温度T);title(原始的散点图);pause(3)hold
15、on plot(X,Ln,b-,linewidth,3);xlabel(深度x);ylabel(温度T);title(Lagrange差值图);%求出温度随水深(近似)变化函数表达式I_poly = my_Fun(t, x, T);I_poly = simple(I_poly)I_poly = sym2poly(I_poly) %2.用三次样条差值方法求温度随水深(近似)变化函数 表达式figure(2)hold on y=interp1(x,T,X,spline);plot(X,y,b-,linewidth,3); %用三次样条插值方法画出图像xlabel(深度x);ylabel(温度T);
16、title(三次样条法差值图); PP=csape(x,T,2,2,0,0); Coefs = PP.coefs %3.两种差值函数图象比较figure(3)plot(X,Ln,-,color,1, 0, 0,LineWidth, 3)xlabel(深度x);ylabel(温度T);title(Lagrange差值图);hold on pause(3)fnplt(PP,b,3,0,28) %函数作图xlabel(深度x);ylabel(温度T);title(三次样条法差值图);pause(3)plot(x,T,-,linewidth,3,markersize,10)运行结果:I_poly =(
17、11156832321404503197312500000*t7 - 942692507666801544174224450000*t6 + 29858157926737187739430003070000*t5 - 433725749060135044183186809635000*t4 + 2850751947133625442244870404829250*t3 - 8285950923799759686915051372346805*t2 + 8477820147617239232740036583612328*t + 512657632901869980094703083834211
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 综述 报告
限制150内