计算方法作业
- 格式:ppt
- 大小:238.50 KB
- 文档页数:18


3 龙贝格积分3.1 算法原理及程序框图龙贝格积分法是在复化梯形求积公式、复化辛普森求积公式和复化科茨求积公式关系的基础上,构造出的一种精度更高的数值积分方法。
对于复化梯形求积公式而言,近似积分为()2221[]41n n n n I f T T T T ≈+-=-.(11) 对于复化辛普森求积公式和复化科茨求积公式而言,也有类似的关系,如公式(12)和公式(13)。
()22221[]41n n n n I f S S S S ≈+-=- (12)()22231[]41n n n n I f C C C C ≈+-=- (13)通过对公式(11)~(13)做进一步分析,可得到公式(14)和公式(15)。
()22141n n n n S T T T =+--(14)()222141n n n n C S S S =+-- (15)根据公式(14)和公式(15)表现出来的规律,令龙贝格积分为()223141n n n n R C C C =+-- (16)其截断误差为c R h 8f (8)(η),已经具有很高的精度。
龙贝格积分法是将区间[a , b ]逐次分半进行计算,因此,对已知函数f (x )在区间[a , b ]上的龙贝格积分法的计算公式的算法如下,程序框图如图13所示。
(1) 计算T 1:[]1()()2b aT f a f b -=+;(2) 逐次计算T 2k +1:()1211221121,0,1,2222kk k k k i b a b a T T f a i k +++=--⎛⎫=++-= ⎪⎝⎭∑;(3) 逐次计算S 2k 、C 2k 和R 2k :()()()11111122222222232222141141141kk k k k k k k k k k k S T T T C S S S R C C C ++++++⎧=+-⎪-⎪⎪=+-⎨-⎪⎪=+-⎪-⎩;(4) 若122k k R R ε+-<,则取[]12k I f R +≈;否则,继续计算,直到满足精度为止。
计算方法上机报告姓名:学号:班级:目录题目一------------------------------------------------------------------------------------------ - 4 -1.1题目内容 ---------------------------------------------------------------------------- - 4 -1.2算法思想 ---------------------------------------------------------------------------- - 4 -1.3Matlab源程序----------------------------------------------------------------------- - 5 -1.4计算结果及总结 ------------------------------------------------------------------- - 5 - 题目二------------------------------------------------------------------------------------------ - 7 -2.1题目内容 ---------------------------------------------------------------------------- - 7 -2.2算法思想 ---------------------------------------------------------------------------- - 7 -2.3 Matlab源程序---------------------------------------------------------------------- - 8 -2.4计算结果及总结 ------------------------------------------------------------------- - 9 - 题目三----------------------------------------------------------------------------------------- - 11 -3.1题目内容 --------------------------------------------------------------------------- - 11 -3.2算法思想 --------------------------------------------------------------------------- - 11 -3.3Matlab源程序---------------------------------------------------------------------- - 13 -3.4计算结果及总结 ------------------------------------------------------------------ - 14 - 题目四----------------------------------------------------------------------------------------- - 15 -4.1题目内容 --------------------------------------------------------------------------- - 15 -4.2算法思想 --------------------------------------------------------------------------- - 15 -4.3Matlab源程序---------------------------------------------------------------------- - 15 -4.4计算结果及总结 ------------------------------------------------------------------ - 16 - 题目五----------------------------------------------------------------------------------------- - 18 -5.1题目内容 --------------------------------------------------------------------------- - 18 -5.2算法思想 --------------------------------------------------------------------------- - 18 -5.3 Matlab源程序--------------------------------------------------------------------- - 18 -5.3.1非压缩带状对角方程组------------------------------------------------- - 18 -5.3.2压缩带状对角方程组---------------------------------------------------- - 20 -5.4实验结果及分析 ------------------------------------------------------------------ - 22 -5.4.1Matlab运行结果 ---------------------------------------------------------- - 22 -5.4.2总结分析------------------------------------------------------------------- - 24 -5.5本专业算例 ------------------------------------------------------------------------ - 24 - 学习感悟-------------------------------------------------------------------------------------- - 27 -题目一1.1题目内容计算以下和式:0142111681848586n n S n n n n ∞=⎛⎫=--- ⎪++++⎝⎭∑,要求: (1)若保留11个有效数字,给出计算结果,并评价计算的算法; (2)若要保留30个有效数字,则又将如何进行计算。
习题二1. 用二分法求方程0134=+-x x 在区间【0.3,0.4】内的根,要求误差不超过21021-⨯。
3.方程0123=--x x 在1.5附近有根,把方程写成4种不同的等价形式,并建立相应的迭代公式。
(1)231x x +=,3211n n x x +=+(2)211x x +=,=+1n x 211nx +(3)112-=x x ,=+1n x 11-n x(4)132-=x x ,=+1n x 13-n x4.用迭代法求02.05=--x x 的正根,要求准确到小数点后第5位 解:迭代公式:512.0+=+x x n7.用迭代-加速公式求方程xex -=在x=0.5附近的根,要求准确到小数点后第4位 解:迭代公式:xn ex -+=1,n n x qqx q x ---=+11118用埃特金加速法求方程13-=x x 在区间【1,1.5】内的根,要求准确到小数点后第4位解:迭代公式:131-=+x x n ,1312-=++n n x x ,nn n n n n n x x x x x x x +--=++-++12212129.用牛顿法求方程0133=--x x 在20=x 附近的根,要求准确到小数点后第3位 解:迭代公式:3313231----=+n n n n n x x x x x11.分别用单点和双点弦截法求方程013=--x x 在【1,1.5】内的根,要求511021||-+⨯≤-n n x x 解:单点:)111()111()1(1131---------=+n n n n x x x x双点:)1()1()1(3131311---------=---+n n n n n n n n n n x x x x x x x x x x。
P50 – 1%%牛顿插值多项式function [ c, d] = newpoly( x,y )%这里x为n个节点的横坐标所组成的向量,y为纵坐标所组成的向量。
%c为所求的牛顿插值多项式的系数构成的向量。
n=length(x);d=zeros(n, n);d(: , 1)=y';for j=2 : nfor k=j : nd(k, j)=(d(k, j-1) - d(k-1, j-1)) / (x(k)-x(k-j+1));endendc =d(n, n);for k=(n-1) : - 1 : 1c =conv(c, poly(x(k)));m=length(c);c(m)=c(m)+d(k, k);end>> x = 0.2:0.2:1 ;>> y =[ 0.98,0.92,0.81,0.64,0.38] ;>> c= newpoly(x, y )c = -0.5208 0.8333 -1.1042 0.1917 0.9800%%三次样条插值x=[0.2,0.4,0.6,0.8,1.0];y=[0.98,0.92,0.81,0.64,0.38];x0 = [0.2,0.28,1.0,1.08];pp=csape(x,y,'variational');%% 三次样条函数表达式disp(pp.coefs);-1.3393 -0.0000 -0.2464 0.98000.4464 -0.8036 -0.4071 0.9200-1.6964 -0.5357 -0.6750 0.81002.5893 -1.5536 -1.0929 0.6400绘制曲线图x2 = 0:0.01:1.2 ;y11 = polyval(c,x2) ;y22 = ppval(pp,x2);x0 = [0.2,0.28,1.0,1.08];y110 = polyval(c,x0);y220 = ppval(pp,x0);plot(x2,y11,'r',x0,y110,'^',x2,y22,'g',x0,y220,'h')legend('牛顿插值','牛顿插值样点','三次样条插值','三次样条插值样点')P50 -3(1)x = [0,1,4,9,16,25,36,49,64] ;y = 0:8 ;x1 = 0:0.1:64 ;x2 = 0:0.01:1 ;f = lagrange(x,y)%% 得到多项式函数表达式L(x)= - 3.28063e-10*x^8 + 6.71268e-8*x^7 - 0.00000542921*x^6 + 0.000222972*x^5 - 0.00498071*x^4 + 0.0604294*x^3 - 0.38141*x^2 + 1.32574*xy1 = lagrange(x,y,x1) ;y2 = lagrange(x,y,x2) ;(2)(2) x = [0,1,4,9,16,25,36,49,64] ;y = 0:8 ;x1 = 0:0.1:64 ;x2 = 0:0.01:1 ;%% 得到三次样条差值函数表达式pp=csape(x,y,'not-a-knot');disp(pp.coefs);0.0266 -0.2998 1.2732 00.0266 -0.2199 0.7534 1.0000-0.0021 0.0197 0.1529 2.00000.0005 -0.0112 0.1955 3.0000-0.0000 -0.0001 0.1160 4.00000.0000 -0.0014 0.1026 5.00000.0000 -0.0005 0.0825 6.00000.0000 -0.0004 0.0717 7.0000y11 = ppval(pp,x1) ;y22 = ppval(pp,x2) ;绘制图形(1)在[0,64]显然随着次数越高,多项式插值出现误差很大(2)[0,1]在[0,1]区间上三次样条插值和多项式插值基本一致P137-1insucomplex_4_1.m 文件clear ;clc ;%h为步长,可分别令h=1,0.1,0.01,0.001h = [1,0.1,0.01,0.001]for i = 1:4h(i) ,x=0:h(i):1;y=sqrt(x).*log(x+eps);%复化梯形公式T=trapz(x,y);T=vpa(T,7),f=inline('sqrt(x).*log(x)',x);%复化辛普生公式S=quadl(f,0,1);S=vpa(S,7),end>> t = -log(h) ;>> plot(t,T,'rs',t,S,'r*')>> lengend('复合梯形公式','复合梯形公式')。