复化求积实验报告

合集下载

复化抛物线积分报告

复化抛物线积分报告

复化抛物线积分公式实验的目的及意义:前边考虑到数值计算的稳定性,用增大n 的方法来提高数值积分代数精度的方法是不可取的。

类似于分段差值,为了减少数值积分的误差,可以把积分区间分成若干小区间,在每个小区间上采取低阶数值积分公式,然后把这些小区间上的数值积分结果加起来作为函数在整个区间上的近似,这就是复化数值积分。

将区间[a,b]n 等分,取等距节点n a b h n i ih a x i -==+=,,...,2,1,0,由定积分的区间可加性,有()()dxx f dx x f b a ni x x i i ⎰∑⎰=-=11在每一个小区间上采用simpson 积分公式有 ()()()[]i i x x x f x f h dx x f ii +≈-⎰-112 一般记()()⎥⎦⎤⎢⎣⎡+⎪⎭⎫ ⎝⎛++-=b f b a f a f a b S n 246称做n+1点复化simpson 积分公式。

数学公式:()()()⎥⎦⎤⎢⎣⎡+⎪⎭⎫ ⎝⎛++-≈⎰b f b a f a f a b x f ba 246算法描述:Step1:输入a,b 和正整数n ;Step2:置h=(b-a)/2n;Step3:F0=f(a)+f(b);F1=0;F2=0;Step4:对j=1,2,…,2n-1循环执行步5至步6;Step5:置x=a+jh;Step6:如果j是偶数,则F2=F2+f(x);否则F1=F1+f(x); Step7:置S=h(F0+2F2+4F1)/3;Step7:输出S;程序原代码如下:#include "stdio.h"double f(double x){double l;l=4/(1+x*x);return l;}void main(){int n,j;double a,b,h,F0,F1,F2,x,S;printf("请输入端点值a和b:");scanf("%lf%lf",&a,&b);printf("请输入n:");scanf("%d",&n);h=(b-a)/(2*n);F0=f(a)+f(b);F1=0;F2=0;for(j=1;j<2*n-1;j++){x=a+j*h;if(j%2==0)F2=F2+f(x);elseF1=F1+f(x);}S=h*(F0+2*F2+4*F1)/3;printf("S=%lf\n",S); }数值计算:计算π;请输入端点值a和b:0 1请输入n:100S=3.141593Press any key to continue对计算结果进行评价分析:其误差可以由[]()()()()b afabfR,,2880452∈--=ηη求出。

《数值计算方法》实验 (6)

《数值计算方法》实验 (6)

N n>=2
Y
c2 = s2 + (s2 − s1) / 15
n>=4
N
Y
r2 = c2 + (c2 − c1) / 63
输出 r2
N
r2 − r1 < eps
Y
结束 图 5 龙贝格算法流程图
从流程图看而第 3,4,5,6,7,9,10,11,12 是其主要步骤,是算法的核心部分。
四、实验目的:
1、通过与实际计算体会各种方法的精确度。 2、会编写用龙贝格算法求定积分的程序。
自适应梯形求积公式就是利用复化梯形公式把区间逐次二分直到满足精度为止。
具体如下:
∑ 变步长梯形算法依据公式 T2n
=
1 2
Tn
+
hn 2
n−1 k =0
f
(
xk
+
1 2
)
(hn
=
b
− n
a
)。计算时可按如下步骤:
○1 输入精度 ε, n
= 1, h
=
b − a,T1
=
b
− 2
a
[
f
(a) +
f
(b)];
for(k=1;k!=n;k++)
{ temp1=a+k*h;/*公式(20)*/ t1+=(*f)(temp1);/*公式(21)*/ }
t=h/2.f*((*f)(a)+2*t1+(*f)(b));/*复化梯形求积公式*/
printf("T(%d)=%11.10f\n",n,t);
fprintf(fp,"T(%d)=%11.10f\n",n,t);

复数及其运算实验报告(3篇)

复数及其运算实验报告(3篇)

第1篇一、实验目的1. 理解复数的概念及其在数学和物理中的应用。

2. 掌握复数的四则运算规则,包括加法、减法、乘法和除法。

3. 熟悉复数在计算机编程中的应用,如复数类的实现。

4. 通过实验加深对复数运算原理的理解。

二、实验原理复数是数学中的一个重要概念,它由实部和虚部组成,形式为 a + bi,其中 a 和b 是实数,i 是虚数单位,满足i² = -1。

复数在数学、物理、工程等领域有广泛的应用,如电路分析、信号处理等。

复数的四则运算规则如下:1. 加法:两个复数相加,将它们的实部和虚部分别相加,即 (a + bi) + (c + di) = (a + c) + (b + d)i。

2. 减法:两个复数相减,将它们的实部和虚部分别相减,即 (a + bi) - (c + di) = (a - c) + (b - d)i。

3. 乘法:两个复数相乘,使用分配律和虚数单位 i 的性质,即 (a + bi)(c + di) = ac + adi + bci + bdi² = (ac - bd) + (ad + bc)i。

4. 除法:两个复数相除,先将除数乘以共轭复数,然后实部和虚部分别相除,即(a + bi) / (c + di) = [(a + bi)(c - di)] / [(c + di)(c - di)] = [(ac + bd) + (bc - ad)i] / (c² + d²)。

三、实验内容1. 复数的加法:编写程序实现两个复数的加法运算。

2. 复数的减法:编写程序实现两个复数的减法运算。

3. 复数的乘法:编写程序实现两个复数的乘法运算。

4. 复数的除法:编写程序实现两个复数的除法运算。

5. 复数类的实现:使用面向对象编程方法,实现一个复数类,包含加法、减法、乘法和除法方法。

四、实验步骤1. 加法运算:- 输入两个复数的实部和虚部。

- 计算它们的和,输出结果。

数值计算方法 实验报告4

数值计算方法  实验报告4

实验四 数值微积分实验学院:数学与计算机科学学院 专业:数学与应用数学 学号: 姓名:一. 实验目的1 利用复化求积公式计算定积分,并比较误差;2 比较一阶导数和二阶导数的数值方法,并绘图观察特点.二. 实验题目用复化梯形公式、复化辛普森公式、龙贝格公式求下列定积分,要求绝对误差为8105.0-⨯=ε,并将计算结果与精度解进行比较:⑴dx e x e x2321432⎰= ⑵dx x x ⎰-=322326ln .利用等距节点的函数值和端点的导数值,用不同的方法求下列函数的一阶和二阶导数,分析各种方法的有效性,并用绘图软件绘出函数的图形,观察其特点. ⑴35611201x x y -=,[]2,0∈x ⑵xey 1-=,[]5.0,5.2--∈x三. 实验原理1 复化梯形公式将积分区间[]b a ,剖分为n 等分,分点为)2,1,0( =+=k kh a x k ,其中n a b h /)(-=.在每个区间[]1,+k k x x 上用梯形公式,则有 ()()dx x fdxx fn k x xba k k∑⎰=⎰-=+11()()[][]∑⎭⎬⎫⎩⎨⎧++-=-=++1112n k k k kkk f R x f x f x x()()[][]f R x f x f h n k k n k k k ∑+∑+=-=-=+1112.记()()[]()()()[]∑++=∑+=-=-=+111222n k kn k k knx f b f a f hx f x f h T .2 复化辛普森公式 将积分区间[]b a ,剖分为n 等分,分点为)2,1,0( =+=k kh a xk,其中n a b h /)(-=.记区间[]1,+k k x x 的中点为21+k x ,在每个区间[]1,+k k x x 上用辛普森公式,则得到所谓的复化辛普森公式:()()⎥⎦⎤⎢⎣⎡+⎪⎭⎫⎝⎛+∑-=++-=+1211146k k kn k k k n xfx f x f x x S ,即()()()⎥⎦⎤⎢⎣⎡∑⎪⎭⎫ ⎝⎛+∑++=-=+-=1211426n k k n k knx f x fb f a f h S .3 龙贝格公式的算法步骤为: I.输入b a ,及精度ε; II.置,a b h -=()()()b f a f h T+=211;III. 置2,1,1===n j i ,对分区间[]b a ,,并计算111,+++i j i j T T :∑⎪⎭⎫ ⎝⎛+==-+nk k ii x f hT T 121111221,144111--=+++jijj jj i j T T T ;IV.若不满足终止条件,做循环:n n h h i i 2:,2/:,1:==+=, 计算∑⎪⎭⎫ ⎝⎛+==-+nk k ii x f hT T121111221, 对,,,1i j =计算:144111--=+++jijj jj i j T T T .4 向前差商公式:()()()ha f h a f a f -+≈';向后差商公式:()()()h h a f a f a f --≈';中心差商公式:()()()hh a f h a f a f 2--+≈';二阶导数公式:()()()()22hh a f a f h a f a f ++--≈''.四. 实验内容 实验一第一小题:对于方程dx e x e x2321432⎰=,利用程序shiyan1_01.m内容如下:%第一个函数的实验 clear clcfun=inline('(2/3)*x.^3.*exp(x.^2)'); S1=matrap(fun,1,2,170000); S2=masimp(fun,1,2,250); S3=maromb(fun,1,2,.5e-8); s=exp(4); Er1=abs(S1-s) Er2=abs(S2-s) Er3=abs(S3-s)第二小题:对于方程dx x x ⎰-=322326ln ,利用程序shiyan1_02.m内容如下:%第二个函数的实验 clearclcfun=inline('2*x./(x.^2-3)'); S1=matrap(fun,2,3,15000); S2=masimp(fun,2,3,100); S3=maromb(fun,2,3,.5e-8); s=log(6); Er1=abs(S1-s) Er2=abs(S2-s) Er3=abs(S3-s)实验二第一小题:对于方程35611201x x y -=,[]2,0∈x ,利用程序shiyan2_01.m内容如下:clear clcfun=inline('x.^5/20-(11./6)*x.^3'); dfun=inline('x.^4/4-(11./2)*x.^2'); ddfun=inline('x.^3-11*x'); n=8;h=2/n;x=0:h:2;x1=x(2:n); y=feval(fun,x); dy=feval(dfun,x1); ddy=feval(ddfun,x1); for i=2:ndy1(i)=(y(i+1)-y(i))/h; dy2(i)=(y(i)-y(i-1))/h;dy3(i)=(y(i+1)-y(i-1))/(2*h);ddy1(i)=(y(i+1)-2*y(i)+y(i-1))/(h*h); endfor i=1:n-1err1(i)=abs(dy1(i)-dy(i)); err2(i)=abs(dy2(i)-dy(i)); err3(i)=abs(dy3(i)-dy(i));errd2(i)=abs(ddy1(i)-ddy(i)); end[err1' err2' err3' errd2'] plot(x,y,'r')hold onplot(x1,dy,'y') plot(x1,ddy,'k')第二小题:对于方程xey 1-=,[]5.0,5.2--∈x ,利用程序shiyan2_02.m内容如下:clear clcfun=inline('exp(-1./x)');dfun=inline('(-1./x).*exp(-1./x)');ddfun=inline('(-1./(x.^2)).*exp(-1./x)+1./(x.^2)'); n=8;h=2/n;x=-2.5:h:-0.5;x1=x(2:n); y=feval(fun,x); dy=feval(dfun,x1); ddy=feval(ddfun,x1); for i=2:ndy1(i)=(y(i+1)-y(i))/h; dy2(i)=(y(i)-y(i-1))/h; dy3(i)=(y(i+1)-y(i-1))/(2*h);ddy1(i)=(y(i+1)-2*y(i)+y(i-1))/(h*h); endfor i=1:n-1err1(i)=abs(dy1(i)-dy(i)); err2(i)=abs(dy2(i)-dy(i)); err3(i)=abs(dy3(i)-dy(i)); errd2(i)=abs(ddy1(i)-ddy(i)); end[err1' err2' err3' errd2'] plot(x,y,'r')hold onplot(x1,dy,'y')plot(x1,ddy,'')五.实验结果实验一第一小题T =146.5012 0 0 0 0 0 0 083.9243 63.0653 0 0 0 0 0 062.6132 55.5095 55.0058 0 0 0 0 056.6535 54.6669 54.6108 54.6045 0 0 0 055.1154 54.6027 54.5984 54.5982 54.5982 0 0 054.7277 54.5984 54.5982 54.5982 54.5982 54.5982 0 054.6305 54.5982 54.5982 54.5982 54.5982 54.5982 54.5982 0 54.6062 54.5982 54.5982 54.5982 54.5982 54.5982 54.5982 54.5982Er1 =4.5922e-009Er2 =4.8409e-009Er3 =1.4211e-014第二小题T =2.5000 0 0 0 0 0 0 0 2.0192 1.8590 0 0 0 0 0 0 1.8564 1.8022 1.7984 0 0 0 0 0 1.8088 1.7929 1.7922 1.7921 0 0 0 0 1.7961 1.7918 1.7918 1.7918 1.7918 0 0 0 1.7928 1.7918 1.7918 1.7918 1.7918 1.7918 0 0 1.7920 1.7918 1.7918 1.7918 1.7918 1.7918 1.7918 0 1.7918 1.7918 1.7918 1.7918 1.7918 1.7918 1.7918 1.7918Er1 =4.9383e-009Er2 =4.0302e-009Er3 =1.0132e-012实验二第一小题ans =0.2196 0.2196 0.2196 2.1920 0.3627 0.8003 0.5815 2.1480 0.5711 1.4367 1.0039 2.0560 0.7667 2.0411 1.4039 1.91600.9447 2.5991 1.7719 1.72801.1003 3.09632.0983 1.4920 1.22873.5183 2.3735 1.2080 1.3251 3.8507 2.5879 0.87601.3847 4.07912.7319 0.4960第二小题ans =0.6932 0.6932 0.6932 0.1105 0.4680 0.5532 0.5106 0.5030 0.5236 0.6555 0.5895 0.7793 0.5907 0.8102 0.7005 1.2991 0.6692 1.0727 0.8709 2.3982 0.7473 1.6071 1.1772 5.15720.7567 3.0873 1.9220 14.2888六.实验结果分析1.利用复化辛普森公式比利用复化梯形公式,所取的n更小,当达到相同精度时,利用辛普森公式等分次数n更小,减少计算次数.2.若利用同一公式,所取n的大小与题设给出的精度ε之间的关系:当n越大时,与精度ε之间的误差越小;反之,当n越小时,与精度ε之间的误差越大。

华中科技大学数值分析实验报告

华中科技大学数值分析实验报告

华中科技大学数值分析实验报告系、年级学号姓名类别硕士指导老师路志宏2013年4月13日实验 4.1实验目的:复化求积公式计算定积分实验题目:数值计算下列各式右端定积分的近似值3221(1)ln 2ln 321dx x -=--⎰121(2)41dx x π=+⎰102(3)3ln 3xdx=⎰221(4)xe xe dx =⎰实验要求:(1) 若用复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式做计算,要求绝对误差限为71*102ε-=,分别利用它们的余项对每种算法做出步长的事前估计。

(2) 分别用复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式作计算。

(3) 将计算结果与精确解作比较,并比较各种算法的计算量。

一、事前误差估计3221(1)ln 2ln 321dxx -=--⎰ 令 21()1f x x =- 则有2(2)234(31)()(1)x fx x -+=-(4)552424()(1)(1)fx x x =-+-故(2)52max ()27f x =(4)5808max ()243f x =由题中精度要求,可知对于复化梯形求积公式有22''()(32)52()()121227n b a h R f h f ηε--=-≤≤得步长h=5.582*10-4对于复化Simpson 求积公式有44(4)()(32)5808()()28802880243n b a h R f h f ηε--=-≤≤得步长h=0.04975对于复化Gauss-Legendre I 型求积公式有44(4)()(32)5808()()43204320243n b a h R f h f ηε--=≤≤得步长h=0.05494对于(2)~(4),其步长可以仿上加以确定,此处不再赘述,结果一并列表如下:二、利用求积公式进行计算利用上述求积公式进行计算,结果如下表:三、将计算结果与精确解作比较,并比较各种算法的计算量由上表中的误差分析可知,利用题目所要求的复化求积公式运算的结果均在误差限以内,精度满足要求。

河北工业大学数值分析实验三实验四实验报告

河北工业大学数值分析实验三实验四实验报告

数值分析实验报告指导老师:宛艳萍姓名:班级:学号:实验三 复化辛卜生法,龙贝格法1.实验名称:复化辛卜生法,龙贝格法2.实验目的1)通过实际计算体会各种方法的精确度。

2)会编写用复化辛卜生、龙贝格算法求定积分的程序。

3.算法描述1)用复化辛卜生法计算积分 dxx I ⎰+=12)1/(1算法:复化辛卜生公式为S n =h/6∑∑+-=+++)]()2/(4)([11k k kn k x f h x f xf ,计算过程为:1.令,/)(n a b h -= ),2/(1h a f s +=;02=s2.对1,,2,1-=n k计算),2/(11h kh a f s s +++=)(22kh a f s s ++=3.))(24)((6/21b f s s a f h s +++= 。

2)龙贝格算法计算dxxI ⎰+=102)1/(156e ε=-算法)((12/12∑-=++=n k k n n n x f h T T ;/)(n a b h n -= n k h k x )2/1(2/1+=+)(3/122n n n n T T T S -+= )_(15/122n n n n S S S C +=)(63/122n n n n C C C R -+=用事后估计法控制精度2|5e -6n n R R -< 。

4.源程序:1)/* 用复化辛卜生公式求积分 */ #include "stdio.h" float fx(float x){double f;f=1.0/(1.0+x*x); return f; } double fs(int n){double a=0.0,b=1.0,h,s,s1,s2=0; int i;h=(b-a)/n; s1=fx(a+h/2); for(i=1;i<n;i++){s1=s1+fx(a+i*h+h/2); s2=s2+fx(a+i*h);}s=(h/6.0)*(fx(a)+fx(b)+4*s1+2*s2);return s;}void main(){printf("实验三复化辛卜生法计算机112 耿向飞学号:112434\n");printf("s(2)=%lf\ns(4)=%lf\ns(8)= %lf",fs(2),fs(4),fs(8));}2)/* 龙贝格法 */#include "stdio.h"#include "math.h"#define E 2.71828182//被积函数f(x)double fx(double x){double f;f=1/(1+x*x);return f;}//梯形公式求tndouble tx(int n){double s3=0.0,h,t,b=1.0,a=0.0;int i;h=(b-a)/n;for(i=1;i<n;i++)s3=s3+fx(i*h);t=(h/2)*(fx(a)+fx(b)+2*s3);return t;} double s(int n){double s;s=tx(2*n)+(1.0/3.0)*(tx(2*n)-tx(n ));return s;}double c(int n){double c;c=s(2*n)+(1.0/15.0)*(s(2*n)-s(n)) ;return c;}double r(int n){double r;r=c(2*n)+(1.0/63.0)*(c(2*n)-c(n)) ;return r;}void main(){double rr,pp;int n=1;rr=r(n);pp=r(2*n)-r(n);printf("实验三龙贝格法计算机112 耿向飞学号:112434\n");printf("结果为:%.15lf 误差小于等于: %.15lf",rr,pp);}5.运行结果1)复化辛卜生公式2)龙贝格算法6.对算法的理解与分析:复化辛卜生公式和龙贝格算法适用于求数值积分,而且都能提高计算积分的精度龙贝格算法其实是在复化辛卜生公式递推的基础之上生成的一种精度高,而且收敛速度也较快的一种算法。

数值分析实验报告(华科书本实验4.1,附C++程序)

数值分析实验报告(华科书本实验4.1,附C++程序)

华中科技大学数值分析实验报告考生姓名考生学号班级指导老师路志宏2013年4月15日实验4.1实验目的:复化求积公式计算定积分试验题目:数值计算下列各式右端定积分的近似值。

(1)3221ln 2ln 321dx x -=--⎰; (2)12141dx x π=+⎰; (3)1023ln 3x dx =⎰; (4)221x e xe dx =⎰;实验要求:(1)若用复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式做计算,要求绝对误差限为71102ε-=⨯,分别利用他们的余项对每种算法做出步长的事前估计。

(2)分别用复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式做计算。

(3)将计算结果与精确解做比较,并比较各种算法的计算量。

实验内容:1.公式介绍(1)复化梯形公式: []110(x )(x )2n n k k k h T f f -+==+∑=11(a)2(x )(b)2n k k h f f f -=⎡⎤++⎢⎥⎣⎦∑;余项:2''(f)()12n b a R h f η-=-; (2)复化Simpson 公式:11210(x )4(x )(x )6n n k k k k h S f f f -++=⎡⎤=++⎣⎦∑=111201(a)4(x )2(x )(b)6n n k k k k h f f f f --+==⎡⎤+++⎢⎥⎣⎦∑∑; 余项:4(4)(f)()()1802n b a h R f η-=-; (3)复化Gauss-Legendre I 型公式:11120(x)(x (x 2n bk k ak h f dx f f -++=⎡⎤≈++⎢⎥⎣⎦∑⎰;余项:(22)21()()()()(22)!n b G n a f R f x x dx n ηρω++=+⎰; 2.步长估计(1)1221f x -=-;则可以得到:2(2)1234(3x 1)(x 1)f-+=-;(2)152max 27f =;(4)1552424()(x 1)(x 1)f =-+-;(4)15808max 243f =估计步长:71(f)102n R ε-≤=⨯;将上述结果分别带入到复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式的余项中可以得到:复化梯形公式:45.581610h -≤⨯;1792n ≥;复化Simpson 公式:0.0498h ≤;21n ≥;复化Gauss-Legendre I 型公式:0.0549h ≤;19n ≥;(2)2241f x =+;则可以得到:2(2)2238(3x 1)(x 1)f -=+;(2)2max 8f =;42(4)2596(5x 10x 1)(x 1)f -+=+;(4)2max 96f =估计步长:71(f)102n R ε-≤=⨯;将上述结果分别带入到复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式的余项中可以得到: 复化梯形公式:42.738610h -≤⨯;3652n ≥; 复化Simpson 公式:0.0350h ≤;29n ≥;复化Gauss-Legendre I 型公式:0.0388h ≤;26n ≥;(3)33x f =;则可以得到:(2)233(ln 3)x f =;(2)23max 3(ln3)x f =;(4)433(ln 3)x f =;(4)43max 3(ln3)x f =估计步长:71(f)102n R ε-≤=⨯;将上述结果分别带入到复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式的余项中可以得到: 复化梯形公式:44.070710h -≤⨯;2457n ≥; 复化Simpson 公式:0.0758h ≤;14n ≥;复化Gauss-Legendre I 型公式:0.0838h ≤;12n ≥;(4)4x f xe =;则可以得到:(2)42x x f e xe =+;(2)24max 4f e =;(4)44x x f e xe =+;(4)24max 6f e =估计步长:71(f)102n R ε-≤=⨯;将上述结果分别带入到复化梯形公式、复化Simpson 公式和复化Gauss-Legendre I 型公式的余项中可以得到: 复化梯形公式:41.424810h -≤⨯;7019n ≥; 复化Simpson 公式:0.0424h ≤;24n ≥;复化Gauss-Legendre I 型公式:0.0469h ≤;22n ≥;3.C++编程计算结果(1)区间逐次分半求积法:依据“事后误差法”,将区间逐次分半进行计算,并利用前后两次计算结果来判断误差的大小。

复化梯形求积公式

复化梯形求积公式

第二章1.1复合梯形求积公式复合梯形求积公式是复合求积法的一种,在本章中,将从其原理、概念等方面对它做一个详细介绍。

在本章的最后,会对复合梯形求积法进行程序设计,使得可以从不同的方面对这种方法有更深的理解。

1.1.1 复合梯形求积公式的理论当积分区间[a ,b]的长度较大,而节点个数1+n 固定时,直接使用Newton-Cotes 公式的余项将会较大。

但是如果增加节点个数,即1+n 增加时,公式的舍入误差又很难得到控制。

为了提高公式的精度,又使算法简单易行,往往使用复化方法。

即将积分区间][b a ,分成若干子区间,然后在每个小区间上使用低阶Newton-Cotes 公,最后将每个小区间上的积分的近似值相加,这就叫做复合求积法。

而复合梯形求积公式就是复合求积法的一种。

1.1.2复合求积公式的原理将区间[]b a ,划分为n 等分,分点,,,1,0,,n k nab h kh a x k =-=+= 在每个子区间[](),1,,1,0,1-=+n k x x k k 上采用梯形公式,则得[])()()(2)()(1111f R x f x f h dx x f dx x f I n k n k k ban k x x k k++===+-=-=∑⎰∑⎰+记()[()]()[()()]∑∑-=+-=++=+=11110222n k b k k n k k n x f x f a f hx f x f h T , (1.1)称为复合梯形公式,其余项可由)().,(),(12][''3b a f a b f R ∈--=ηη得()()()110''3,12+-=∈⎥⎦⎤⎢⎣⎡-=-=∑k k k n k k n n x x f h T I f R ηη由于[],,)(2b a C x f ∈ 且()(),max 1min 1010''''10-≤≤-=-≤≤≤≤∑n k k n k k n k f n f ηη所以()b a ,∈∃η使()()k n k f n f ηη∑-==10''''1于是复合梯形公式的余项为()()η''212f h a b f R n --= 可以看出误差是2h 阶,且由()()η''212f h a b f R n --= 式立即得到,当][b a C x f ,)(2∈时,则(),lim dx x f T ba n n ⎰=∞→即复合梯形公式是收敛的.事实上只要设()[]b a C x f ,∈,则可得收敛性,只要把n T 改写成为()()]∑∑=-=-+⎢⎣⎡-=nk k n k k n x f n a b x f n a b T 11021当∞→n 时,上式右端括号内的两个和式均收敛到积分()dx x f ba ⎰,所以复合梯形公式(1.1)收敛.此外,n T 的求积系数为正,由定理可知复合梯形公式是稳定的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数理与信息工程学院
实验报告
课程名称:现代数值分析
实验室:
实验台号:
班级:信息与计算科学121班
姓名:孙佳丽
实验日期:2014年12月03日
实验名称
复化求积公式实验
实验题目
用复化梯形公式、复化辛普生公式、龙贝格公式求下列定积分,要求绝对误差为 ,并将计算结果与精确解进行比较:
(1) ;(2) 。
实验原理
x=linspace(a,b,n+1);%在区间上等分产生n+1个节点
y=feval(f,x);%求f在x节点上的函数值
s=0.5*h*(y(1)+2*sum(y(2:n))+y(n+1));%复化梯形求积公式
复化辛普生msimp.m
functions=msimp(f,a,b,n)
%用复化辛普森公式求积分
n=n+1;
s=msimp(f,2,3,n);
end
n,I,s,error=I-s
龙贝格公式:
formatlong
f=@(x)2*x./(x.^2.-3);
[s,n]=mromb(f,2,3,0.5e-8)
I=log(6)
error=I-s
运行结果:
(1)
复化梯形公式:
复化辛普生公式:
i =
45
I =
龙贝格mromb.m
function[T,n]=mromb(f,a,b,eps)
%用龙贝格公式求积分
%f是被积函数,a,b是积分区间,R返回积分值,eps控制精度,n返回区间等分数
ifnargin<4,eps=1e-6;end
h=b-a;
R(1,1)=(h/2)*(feval(f,a)+feval(f,b));
实验结果分析:
从区间等分上看,复化梯形公式区间等分份数最多,龙贝格公式区间等分份数最少;从误差上看,复化梯形公式误差最大,龙贝格公式误差最小。故复化梯形公式精度最低,龙贝格公式精度最大。
end
err=abs(R(J+1,J+1)-R(J+1,J)) ;
n=2*n;
end
R;
T=R(J+1,J+1);
运行程序:
(1)
复化梯形公式:
formatlong
f=@(x)2/3*x.^3.*exp(x.^2);
n=1;
s=mtrap(f,1,2,n);
I=exp(4);
while(abs(s-I)>0.5e-5)
n=n+1;
s=mtrap(f,1,2,n);
end
n,I,s,error=I-s
复化辛普生公式:
formatlong
f=@(x)2/3*x.^3.*exp(x.^2);
n=1;
s=msimp(f,1,2,n);
I=exp(4);
while(abs(s-I)>0.5e-5)
n=n+1;
s=msimp(f,1,2,n);
%格式:s=msimp(f,a,b,n) f为被积函数,a,b为积分区间的左右端点,n为区间的等分数,s返回积分近似值
h=(b-a)/n;%小区间长度
x=linspace(a,b,2*n+1);%在区间上等分产生n+1个节点
y=feval(f,x);%求f在x节点上的函数值
s=(h/6)*(y(1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n))+y(n+1));%复化辛普森求积公式
end
n,I,s,error=I-s
龙贝格公式:
formatlong
f=@(x)2/3*x.^3.*exp(x.^2);
[s,n]=mromb(f,1,2,0.5e-5)
I=exp(4)
error=I-s
(2)
复化梯形公式:formFra bibliotektlongf=@(x)2*x./(x.^2.-3);
n=1;
s=mtrap(f,2,3,n);
复化梯形公式
复化辛普生公式
复化梯形公式
实验内容和步骤:
1、编程
2、运行
程序:
复化梯形mtrap.m
functions=mtrap(f,a,b,n)
%用途:用复化梯形公式求积分
%格式:s=mtrap(f,a,b,n) f为被积函数,a,b为积分区间的左右端点,n为区间的等分数,s返回积分近似值
h=(b-a)/n;%区间长度
I=log(6);
while(abs(s-I)>0.5e-8)
n=n+1;
s=mtrap(f,2,3,n);
end
n,I,s,error=I-s
复化辛普生公式:
formatlong
f=@(x)2*x./(x.^2.-3);
n=1;
s=msimp(f,2,3,n);
I=log(6);
while(abs(s-I)>0.5e-8)
54.59815003314423
s =
54.59815464193976
error =
-4.60879553e-06
龙贝格公式:
(2)
复化梯形公式:
复化辛普生公式:
n =
17
I=
1.791759469228055
s =
1.791764166622229
error=
-4.697394174e-09
龙贝格公式:
n=1;J=0;err=1;
while(err>eps)
J=J+1;h=h/2;S=0;
fori=1:n
x=a+h*(2*i-1);
S=S+feval(f,x);
end
R(J+1,1)=R(J,1)/2+h*S;
fork=1:J
R(J+1,k+1)=(4^k*R(J+1,k)-R(J,k))/(4^k-1);
相关文档
最新文档