复化求积实验报告

合集下载

复化抛物线积分报告

复化抛物线积分报告

复化抛物线积分公式实验的目的及意义:前边考虑到数值计算的稳定性,用增大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 的求积系数为正,由定理可知复合梯形公式是稳定的。

数值计算方法第五章第二节 复化求积公式

数值计算方法第五章第二节 复化求积公式

sin x dx x 0
Using the Composite Trapezoidal rule and Composite Simpson’s rule
x=eps:0.01:pi; y=sin(x)./x; plot(x,y); legend('f(x)=sin(x)/x');
0.1 0
0
0.5
数值分析
数值分析
数值试验结果

用复化Simpson公式求解,当区间分成64份 时,计算结果: sp=1.85193705600861 比用复化梯形公式,当区间分成8192份 时的计算结果: tp=1.85193704808136 还要精确。
启发:寻求精度更高的求解方法!
数值分析
数值分析
例:当用复化梯形公式与复化辛卜生公式计算积分 1 1 x -4 e dx 的近似 值时,若要求误差不超过 10 , 0 2 问至少各取多少个节点?
1 。 3
数值分析
数值分析
变步长复化梯形求积公式的算法
ba 1.h b a , T ( f (a ) f (b )) 2 ba h T1 [ f (a ) f (b )] 2. H 0, x a 2 2 Hn 1 1 T2 n Tn Tn 3. H H f ( x ), x x h 2 2 2 n 1 ba ba f ( a (2 j 1) ) 4.若x b,则转 3. 2n j 0 2n n 1, 2, 1 5.T1 T h * H 2 6.若 T1 T , 则I T1 ,输出I ,停机。 h 7.h , T T1 , 转2. 2
数值分析
数值分析
变步长复化梯形公式的递推公式: (由n到2n) Hn 1 T2 n Tn 2 2 n 1 hn 其中Tn ( f (a ) f (b)) hn f ( xk ) 2 k 1

三种复化求积分算法的精度分析

三种复化求积分算法的精度分析

【摘要】分别利用复化梯形公式、复化simpson公式和复化gauss-legendre i型公式对定积分进行运算,得到近似数值解,并对各算法的精度和计算复杂度进行了比较与分析。

数值举例结果表明,三种复化求积分算法的运算结果均在绝对误差限ε=5e-8内,并且在相同的精度下,复化gauss-legendre i型公式的步长和计算量最小。

【关键词】复化梯形公式;复化simpson公式;gauss-legendre公式1 引言数值积分是计算数学的基本内容,在工程技术和科学计算中起着十分重要的作用,当积分的精确值不能不能求出时,数值积分就变得越来越重要。

通常数值积分的计算常利用机械积分来实现,其基本思想为:(1)2 理论模型2.1 复化梯形求积公式将区间[a,b]划分成n等分,分点xk=a+kh(,k=1,2,3…n),在每个子区间[xk,xk+1] (k=1,2,3 …n-1)上采用梯形式,则得到(2)记(3)上式(3)为复化梯形公式,其余项可由式,(a≤η≤b)(4)得,ηk∈[xk,xk+1] (5)由于f(x)∈c2[a,b]且,(0≤k≤n-1)(6)所以?∈(a,b),使(7)于是复化梯形公式余项为(8)2.2 复化simpson求积公式将区间[a,b]划分为n等分,在每个子区间[xk,xk+1]上采用simpson式,若记,则得(9)记(10)上式(10)为复化simpson求积公式,其余项可由式,(a≤η≤b)(11)得,ηk∈[xk,xk+1] (12)于是当f(x)∈c4[a,b]时,与复化梯形公式相似有,η∈[a,b] (13)2.3 复化gauss-legendre i型求积公式gauss型求积公式是具有最高代数精度的插值求积公式。

通过适当选取求积公式(1)的节点ε=5e-8和求积系数ak≥0和xk∈[a,b] (k=1,2,3…n),可使其代数精度达到最高的2n+1次。

利用特殊区间[-1,1]上n+1次legendre正交多项式的根作为节点,我们可以建立gauss-legendre型求积公式。

复化求积公式课程设计

复化求积公式课程设计

复化求积公式课程设计一、课程目标知识目标:1. 理解复化求积公式的概念和基本原理;2. 掌握复化求积公式的推导过程;3. 学会运用复化求积公式解决数值积分问题;4. 能够分析复化求积公式的误差来源及改进方法。

技能目标:1. 培养学生运用数学软件或计算器进行复化求积运算的能力;2. 提高学生解决实际数值积分问题的计算技巧;3. 培养学生将复化求积公式应用于其他数学及物理问题的能力。

情感态度价值观目标:1. 培养学生对数学学习的兴趣和热情,增强自信心;2. 培养学生团队合作精神,学会倾听、交流、分享;3. 培养学生严谨的科学态度,敢于面对和克服困难;4. 培养学生运用数学知识解决实际问题的意识和责任感。

课程性质:本课程属于数学学科,以高中数学知识为基础,重点讲解复化求积公式及其应用。

学生特点:学生具备一定的数学基础,具有较强的逻辑思维能力和抽象思维能力。

教学要求:通过本课程的学习,使学生能够掌握复化求积公式的推导和应用,提高解决实际问题的能力,同时培养良好的情感态度价值观。

在教学过程中,注重理论与实践相结合,充分调动学生的积极性,激发学生的学习兴趣。

教学设计和评估将围绕课程目标的实现进行,确保学生达到预期学习成果。

二、教学内容1. 引入数值积分的概念,回顾牛顿-莱布尼茨公式及其局限性;2. 讲解复化求积公式的原理,包括复合梯形公式、复合辛普森公式等;3. 详细推导复化求积公式的过程,并通过示例展示其应用;4. 分析复化求积公式的误差,探讨提高精度和稳定性的方法;5. 介绍数学软件(如MATLAB、Python等)在复化求积运算中的应用;6. 结合实际案例,让学生运用复化求积公式解决具体数值积分问题;7. 总结复化求积公式在数学及物理领域中的应用,拓展学生视野。

教学内容安排和进度:第一课时:回顾数值积分概念,引入复化求积公式;第二课时:讲解复化求积公式原理,进行公式推导;第三课时:分析误差来源,提高精度和稳定性方法;第四课时:数学软件在复化求积运算中的应用;第五课时:实际案例分析与讨论;第六课时:总结复化求积公式应用,拓展学生视野。

复化积分法(复化梯形求积复化Simpson公式变步长求积法)MATLAB编程实验报告

复化积分法(复化梯形求积复化Simpson公式变步长求积法)MATLAB编程实验报告
h=(b-a)/n;
f=0;
for k=1:n
x(k)=a+h*(k-1);
w(k)=x(k)+h/2;
z(k)=subs(y,t,w(k));
f=f+z(k);
end
T(i)=T(i-1)/2+h/2*f
if ((T(i)-T(i-1))/3)<=R0
break;
end
end
tl=T(i)
clc,clear;
T=vpa(T,7)
clc,clear;
syms t;
a=1;b=2;
y=exp(1/t);
n=5;
simpson(a,b,n,y);
(3)变步长求积法:以书本例4.5为例
function [f]=TN(a,b,y,R0)
syms t;
T=[];
f=0;
q=subs(y,t,a);
if y=='sin(t)/t'&&a==0
format long;
syms t;
y=sin(t)/t;
a=0;b=1;
R0=0.5*10^(-3);
TN(a,b,y,R0);
结论如下:
三、结论:
复化梯形求积:
复化Simpson公式
变步长求积法
复化积分法(复化梯形求积,复化Simpson公式,变步长求积法)MATLAB编程实验报告
一、问题描述:
编写函数实现复化积分法。
二、实验步骤(过程):
(1)复化求积法
(1)复化梯形求积:用复化梯形求积公式求解
function [f]=Tn(a,b,n,y)
syms t;
h=(b-a)/n;

数值分析数值微积分实验

数值分析数值微积分实验

实验报告
一、实验目的
复化求积公式计算定积分。

二、实验题目
1.用复化梯形公式、复化辛普森公式求下列定积分,要求绝对误差为3
10-=ε,并将计算结果与精确解进行比较: dx e x e x 232
143
2⎰= 三、实验原理
复化求积公式程序,复化辛普森公式程序。

四、实验内容及结果
五、实验结果分析
实验1中复化梯形公式和复化辛普森公式的比较:
运行复化梯形公式的时候,因为要去找区分精度,所以花的时间比较长,需要将区间分为365份时才能达到规定的误差范围。

而复化辛普森公式则只需要将区间分为12份即可。

说明复化辛普森比较好。

复化中矩形求积公式余项

复化中矩形求积公式余项

复化中矩形求积公式余项复化中矩形求积公式余项,这可真是个有点复杂但又超级有趣的数学概念啊!咱们先来说说啥是复化中矩形求积公式。

想象一下,你有一条弯弯曲曲的曲线,就像你在公园里走的那种没有规律的小道。

现在你想知道这条小道下面的面积大概是多少。

那咱们就把这条小道切成好多好多的小段,每一小段都近似看成一个矩形。

比如说,把区间 [a, b] 分成 n 等分,每个小区间的长度就是 h = (b - a) / n 。

然后在每个小区间的中点找一个点,以这个点的函数值乘以小区间的长度,把所有这些乘积加起来,这就是复化中矩形求积公式啦。

但是,这里面就有个小问题,咱们这样算出来的面积并不是完全准确的,总会有那么一点点误差,这就是余项啦。

我记得有一次给学生们讲这个的时候,有个小家伙特别较真儿。

他瞪着大眼睛问我:“老师,为啥就不能完全算准呢?”我笑着跟他说:“这就好比你用尺子量一个弯弯曲曲的线,尺子是直的,线是弯的,怎么可能量得一点不差呀!”这小家伙似懂非懂地点点头。

那这个余项到底咋算呢?其实它跟函数的高阶导数有关系。

简单来说,函数越弯曲,余项就可能越大。

咱们来举个例子,假如有个函数 f(x) = x²,要在区间 [0, 1] 上用复化中矩形求积公式来算面积。

分成 10 等分,算出来的结果和准确值一比较,就能看到那个小小的误差。

在实际应用中,了解这个余项很重要哦。

比如说在工程计算里,如果对精度要求很高,就得搞清楚这个余项有多大,看看咱们用的方法合不合适。

再比如说,在做科学研究的时候,一点点误差可能就会导致完全不同的结论。

所以得把这个余项控制在一个能接受的范围内。

总之,复化中矩形求积公式余项虽然有点复杂,但只要咱们认真琢磨,就能搞清楚它的门道,让数学为咱们的学习和生活服务!怎么样,这下对复化中矩形求积公式余项是不是有点感觉啦?。

LAB05_复化求积实验

LAB05_复化求积实验

Lab5.复化求积实验【实验目的和要求】1.使学生深入理解复化求积方法,能用Matlab 语言编写按复化梯形公式和复化Simpson 公式进行数值积分的程序;2.掌握用复化梯形公式和复化Simpson 公式进行数值积分的方法。

3.对dx x ⎰+=10142π,用所编写的程序计算T 8和S 4,通过结果的比较和理论分析,以了解复化梯形公式和复化Simpson 公式精度。

【实验内容】1.根据Matlab 语言特点,描述复化梯形公式和复化Simpson 公式。

2.用Matlab 语言编写按复化梯形公式和复化Simpson 公式求积分的程序。

3.对于dx x ⎰+=10142π,用所编写的程序计算T 8和S 4。

并比较计算结果的精度。

【实验仪器与软件】1.CPU 主频在1GHz 以上,内存在128Mb 以上的PC ;2.Matlab 6.0及以上版本。

实验讲评:实验成绩:评阅教师:200 年 月 日Lab5.复化求积实验一、复化梯形公式和复化Simpson 公式将区间[a,b]划分为N 等分,分点Xk=a+(k-1)h,h=(b-a)/n,k=1,2,…,n,n+1,在每个子区间[Xk,Xk+1](k=1,…n)上采用梯形公式,则得I=)()]()([2)()(1111f R x f x f h dx x f dx x f n k n k k n k xk xk b a ∑∑⎰⎰=+=+++==把∑∑==++++=n k k n k k k n b f x f a f h x f x f h T 211)]()(2)([2]()([2=)称为复化梯形公式,其余项为)(12)(2ηn n f h a b f R --= ),(b a ∈η将区间划分为N 等分,且N=2M ,在每个子区间上采用辛普森公式,若记,22h x x k k +=+则得I=⎰∑∑==+--+++==b a m k m k f n k k k k k R x f x f x f h dx x f x dx x f 11)(12212212)]()(4)([62)()( 记∑∑∑==+=+-+++=++=m k m k k k m k k k k n b f x f x f a f h x f x f x f h S 12122112212)]()(2)(4)([3)]()(4)([3称为复化辛普森求积公式,其余项为:)()2(180)(44ηf h a b f R n --= ),(b a ∈η二、复化梯形和复化Simpson 的程序x=a;T=0;for i=1:(n-1)x=x+h;T=T+f(x);ends=(f(a)+2*T+f(b))*h/2;%复化Simpson程序function s=fhxps(a,b,n)%[a,b] %为积分区间,n为等分数h=(b-a)/n;x=a;x2=a+h/2;T=0;S=f(x2);for i=1:(n-1)x2=x2+h;x=x+h;S=S+f(x2);T=T+f(x);ends=(f(a)+4*S+2*T+f(b))*h/6;三、数值计算实验function f=fun(x)f=x./(4+x.^2);%利用梯形求积公式:a=0;b=1;n=8;T=ftxing(a,b,n)运行计算得:T=0.1114代数精度为1次%利用辛普森求积公式:a=0;b=1;n=4;S=fxpin(a,b,n)运行计算得:S=0.1116代数精度为3次四、实验总结答:通过实验发现,利用辛普森公式进行数值计算所得结果的代数精度为三次。

复化求积公式计算定积分

复化求积公式计算定积分

复化求积公式计算定积分试验四试验报告专业:数学与应用数学(师范)年级:08 班级:学号:姓名:试验目的1.掌握各种复化求积公式,并利用它们求定积分;2.掌握比较一阶导数和二阶导数的数值方法;3.通过用不同复化求积公式计算定积分,并与精确解得比较,明白各个复化求积公式的优缺点。

二:试验题目1、复化求积公式计算定积分用复化梯形公式、复化辛普森公式、龙贝格公式求下列定积分,要求绝对误差为8105.0-?=ε,并将计算结果与精确解进行比较:(2) ?-=322.326ln dx x x2、比较一阶导数和二阶导数的数值方法利用等距节点的函数值和端点的导数值,用不同的方法求下列函数的一阶和二阶导数,分析各种方法的有效性,并用绘图软件绘出函数的图形,观察其特点。

(2)y=e (-1/x)一、实验原理1、复化求积公式计算定积分1.1复化梯形公式将积分区间[a,b]分为n 等分,分点为k x =a+kh (k=0,1,….,n ),其中h=(b-a )/n 。

在每个小区间[k x 1+k x ]上用梯形公式,则])(2)()([2)]()([2][)]()([2][)]()([2)()(11101101011011101∑∑∑∑∑∑??-=-=+-=-=+-=++-=++=+=++=++-==+n k k n k k k N n k n k k k k n k k k k k k n k x x ba x fb f a f h x f x f h T f R x f x f h f R x f x f x x dx x f dx x f k k 记1.2复化辛普森公式将积分区间[a,b]分为n 等分,分点为k x =a+kh (k=0,1,….,n ),其中h=(b-a )/n 。

记区间[k x ,1+k x ]的中点为21+k x 在每个小区间[k x 1+k x ]上用辛普森公式,则S ])(4)(2)()([6112111++++=∑∑-=+-=n k k n k k n x f x f b f a f h1.3 龙贝格公式步1:输入a,b 及精度ε;步2:置h=b-a, 11T =h/2*(f(a)+f(b));步3:置i=1,j=1,n=2,对分区间[a,b],并计算111,+++i j i j T T :144,)(221111121111--=+=+++=-+∑j i j i j j i j n k k i i T T T x f h T T ;步4:若不满足终止条件,作循环:i:=i+1,h:=h/2,n:=2n,144i 1j ,)(221111121111--==+=+++=-+∑j i j i j j i j n k k i i T T T x f h T T ,计算:,对计算:终止条件一般去|11++i j T -ε≤|i j T . 2、比较一阶导数和二阶导数的数值方法2)h -(2f(a)-)h a ()(2)h -(-)h a ()()h -()()()()()(h a f f a f ha f f a f h a f a f a f ha f h a f a f ++=+=-=-+=二阶导数:中心插商:向后插商:向前插商:二、实验内容1、复化求积公式计算定积分(2)n=10;a=0.5*10^(-8);fun2=inline('2*x./(x.^2-3)');f2=log(6)s21=matrap(fun2,2,3,n)s22=masimp(fun2,2,3,n)w21=norm(f2-s21)w22=norm(f2-s22)实验设备: matlab 软件。

复化求积思想 数值计算

复化求积思想 数值计算

复化求积思想实验报告一、 题目重述计算曲边梯形面积dx e I 2x ⎰=,可用内接梯形的面积n S 来进行逼近,用动画形象地描述这一逼近的过程。

二、 程序的编辑运用MATLAB 软件编辑程序,实现实验内容:function EX1()a=input('请输入参数a 的值:'); %输入参数b=input('请输入参数b 的值:');n=input('请输入参数n 的值:');sum=0;i=1;h=(b-a)/n;g=exp(a);while i<n %运用while 循环结构求得内接梯形面积sumy=exp(a+i*h);g=[g;y]; %构造y 值的矩阵,用作直方图的输入参数sum=sum+y*h;i=i+1;endx2=0:h:2-h; %定义直方图的横坐标bar(x2,g,'c') %做直方图,并定义图形的颜色为青色hold on 使当前坐标系和图形保留x=0:0.1:2;plot(x,exp(x),'r'); %做y 的曲线title('y=exp(x)ͼÏñ') %定义图形标题sum %输出内接梯形面积sumf=sym('2.71828^x'); %取e 的值为2.71828U=int(f,'x',a,b)三、程序运行结果(1)当n=5时,命令窗口输入为:请输入参数a 的值:0请输入参数b 的值:2请输入参数n 的值:5sum =4.7962U =6.389050456>>图形为:(2)当n=10时,命令窗口输入如下:请输入参数a的值:0请输入参数b的值:2请输入参数n的值:10sum =5.5714U =6.389050456>>图形为:(3)当n=15时,命令窗口输入为:请输入参数a的值:0请输入参数b的值:2请输入参数n的值:15sum =5.8392U =6.389050456>>图形为:(4)当n=20时,命令窗口输入为:请输入参数a的值:0请输入参数b的值:2请输入参数n的值:20sum =5.9749U =6.389050456>>图形为:(5)当n=100时,命令窗口输入为:请输入参数a的值:0请输入参数b的值:2请输入参数n的值:100sum =6.3054U =6.389050456>>图形为:四、实验结果由MA TLAB软件作出的图形可以看出,当n趋于无穷大时,内接阶梯形面积趋近于曲边梯形的面积。

复化求积公式的算法及其应用

复化求积公式的算法及其应用

摘要在数值计算中,低阶牛顿柯特斯求积方法存在很多缺陷,从余项公式可以看出其要求提高求积公式的代数精度,必须增加结点个数,会导致插值多项式出现龙格现象,且数值稳定性不能保证.基于以上原因,我们往往采用复化求积方法,此方法不仅可以克服以上缺点而且便于在计算机上实现,值得研究和学习.在本课程设计中,我们首先从复化求积公式的思想引入,然后详细介绍复化梯形求积公式、复化辛普森求积公式和复化柯特斯求积公式的推导过程和相关性质,再对三种求积公式进行比较和总结,其次画出三种求积公式的流程图,最后通过求解例题写出三种求积算法的程序设计.关键词复化求积算法;流程图;程序设计目录引言 0第一章复化求积算法 (2)§1.1复化求积公式 (2)§1.1复化求积公式的思想 (3)§1.2复化求积公式的构造 (3)§1.2复化梯形求积公式 (3)§1.2.1复化梯形求积公式的推导过程 (3)§1.2.2复化梯形求积公式的性质 (3)§1.3复化辛普森求积公式 (4)§1.3.1复化辛普森求积公式的推导过程 (4)§1.3.2复化辛普森求积公式的性质 (4)§1.4复化柯特斯求积公式 (5)§1.4.1复化柯特斯求积公式的推导过程 (5)§1.4.2复化柯特斯求积公式的性质 (5)§1.5三种复化求积公式的比较及总结 (6)第二章复化求积公式算法的流程图及其应用 (9)§2.1 流程图 (9)§2.2 应用 (12)参考文献 (15)附录A (16)附录B (17)附录C (18)引言积分计算在分析数学领域里是个古老的问题,在数值分析中已被广泛应用.但在计算机上却不能像在分析数学中那样,用原函数[满足)()('x f x F =的函数)(x F 就是函数)(x f 的原函数]计算积分.这是因为在实际问题中,函数关系往往是用列表数据或曲线给出的.即使知道了函数的表达式,求其一个原函数并非一个简单问题.许多函数难以用初等函数表示(如2,/sin x e x x -等).在计算机上,通常利用函数的若干个离散值,以代数运算近似计算积分值,这类近似计算法称为数值积分法.设给定区间],[b a 上的函数)(x f .需要建立计算积分dx x f f I ba ⎰=)()(的近似方法.数值积分的基本思想是试图用一个简单又易于积分的函数逼近)(x f ,以计算积分)(f I .显然插值多项式是一个很好的选择,因为插值多项式可由)(x f 的若干值构造出来,其积分很容易计算.为此,需将],[b a 分为n 等分n i x x i i ,,2,1],,[1 =+,其中b x x x x a n =<<<<=+1321 .分割步长h ,因此,1,3,2,/)1(1+=-+=n i h i x x i 对应的函数值)()(,),(),()(121b f x f x f x f a f n ==+ .显然)(f I 可以表示为所有小区间上各函数的积分的和,即)()(1f I f I ni i ∑==其中 dx x f I i ix x i ⎰+=1)(通常把为每个)(f I i 建立的计算公式简称为求积公式,而把)(f I 建立的求积公式称为复化求积公式.由于在实际计算时,不宜使用高阶的牛顿——柯特斯公式,但若积分区间较大,单独用一个低阶的牛顿——柯特斯公式来计算积分的近似值,显然精度不好,为了提高数值求积的精确度,可利用积分对区间的可加性来解决这个问题,这就是通常采用的复合求积法.而且使用这种方法之后,求积公式的收敛性和稳定性也得到了改善.第一章 复化求积算法牛顿—柯特斯公式的求积余项表明,求积节点n 越大,对应的求积公式精度越高,但由于牛顿—柯特斯公式在8>n 时数值不稳定,因此不能用增加求积节点数的方法来提高计算精度.实用中常将求积区间],[b a 分成若干个小区间,然后在每个小区间上采用数值稳定的牛顿—柯特斯公式求小区间上的定积分,最后把所有小区间上的计算结果相加来作为原定积分的近似值.采用这种方法构造的求积公式就称为复合求积公式.复合求积公式具有计算简单且可以任意逼近所求定积分值的特点,这是牛顿—柯特斯公式一般做不到的.常用的复合求积公式有复合梯形求积公式和复合辛普森求积公式以及复合柯特斯求积公式.以下我们将从三种复化求积算法的构造、余项、稳定性、收敛性等几方面进行讨论,并写出相应的流程图以及应用中所涉及到的算法的程序设计.§1.1复化求积公式§1.1.1 复化求积公式的思想n 很大时,牛顿——柯特斯求积公式出现了不稳定、不收敛现象,往往使用低阶牛顿——柯特斯求积公式,误差比较大,故将],[b a 若干等分,在每个子区间上反复使用低阶牛顿——柯特斯公式,进行累加.而构造出来的新的求积公式,称之为复化求积公式.在构造求积公式的过程中,我们将求积区间],[b a 进行等距细分:n i nab ia x i ,,1,0, =-+=,在每个小区间],[1i i x x -上用相同的“基本”求积公式(如梯形公式;中矩形公式;左(右)矩形公式或辛普森公式)计算出dx x f i i x x ⎰-1)(的近似值i S .§1.1.2 复化求积公式的的构造将定积分⎰ba dx x f )(的区间],[b a 划分为n 等分,各节点为kh a x k +=,n k ,,1,0 =,nab h -=,在子区间)1,,1,0](,[1-=+n k x x k k 上使用牛顿——柯特公式,将],[1+k k x x 分割为l 等份,步长为l h,节点为1,,2,,+=+++k k k k k x llhx l h x l h x x记121,,,,++++=k ll k lk lk k x xxxx为在],[1+k k x x 上作)(x f 的l 阶牛顿——柯特斯求积公式.∑∑⎰=++=+=-=≈+li li k l i li k li l i k k k i x x xf C h xf C x x I dx x f k)(0)(1)()()()()(1由积分区间的可加性,可得nli k n k li l i n k k l n k k k baI xf C h I dxx f dx x f ==≈=+-==-=-=+∑∑∑∑⎰⎰)()()(100)(1)(11§1.2 复化梯形求积公式§1.2.1 复化梯形求积公式的的推导过程将积分区间],[b a 划分等分,步长nab h -=,求积节点kh a x k +=,n k ,,1,0 =在每个小区间)1,,1,0](,[1-=+n k x x k k 上应用梯形公式)]()([2)(11++≈⎰+k k x x x f x f hdx x f k k然后将它们累加求和,作为所求积分I 的近似值.])()(2)([2)]())()()((2)([2)]()([2)()(11121011011∑∑∑⎰⎰---+-=-=++=+++++=+≈==+n i k n n k k n k n k x x bab f x f a f hx f x f x f x f x f hx f x f hdx x f dx x f I k k记n T )]()(2)([211b f x f a f hn i k ++=∑-=式为复化梯形求积公式,下标n 表示将区间n 等分,若把区间n 2等分,在每个小区间上仍用梯形求积公式,则可得到n n T T ,2和n H 间的关系为:)(212n n n H T T +=其中∑=--+=nk n nab k a f h H 1]2)12([ §1.2.2复化梯形求积公式的性质性质1.1复化梯形求积公式余项当)(x f 在],[b a 上有连续的二阶导数,则复化梯形公式的余项:)(12)()(''2ηf h a b T dx x f R n ba T --=-=⎰ ],[b a ∈η 性质1.2稳定性若],[,)(''b a x M x f ∈≤,则有估计式M na b R nT 2312)(-≤ 复化梯形求积公式的系数均大于零,且满足a b nh n hA ni i -==+-+=∑=]1)1(21[2因此,复化梯形求积公式的计算过程是数值稳定的.性质1.3收敛性可证复化梯形求积公式是收敛的. 性质1.4代数精度定义1.1 若积分⎰b adx x f )(的数值积分公式⎰badx x f )()(0k nk k x f A ∑=≈对于任意一个次数不高于m 次的多项式都精确成立,且存在一个1+m 次多项式使之不精确成立,则称该数值积分公式的代数精度为m .可证复化梯形求积公式的代数精度为2.§1.3 复化辛普森求积公式§1.3.1 复化辛普森求积公式的的推导过程将积分区间],[b a 划分等分,记子区间],[1+k k x x 的中点为h x x k k 2121+=+在每个小区间上应用辛普森公式,则有))()(2)(4)((6)444(6)]()(4)([6)()(101121211223112101211011b f x f x f a f hf f f f f f f f f hx f x f x f hdxx f dx x f I n k n k k k n n n k k k n k n k x x bak k+++=+++++++++=++≈==∑∑∑∑⎰⎰-=-=+--++-=-=+其中h x xk k 2121+=+记 )]()(2)(4)([6111021b f x f x f a f hS n k k n k k n +++=∑∑-=-=+式为复化辛普森求积公式§1.3.2复化辛普森求积公式的性质性质1.5复化辛普森求积公式余项当)(x f 在],[b a 上有连续的四阶导数,复化辛普森公式的求积余项为:)(2880)()2(180)4(4)4(4ηηf h a b f h a b R S --=--= ],[b a ∈η 性质1.6稳定性同复化梯形求积公式,复化辛普森求积公式的系数均大于零,且满足总和为a b - 因此,复化辛普森求积公式的计算过程是数值稳定的.性质1.7收敛性可证复化辛普森求积公式是收敛的. 性质1.8代数精度可证复化辛普森求积公式的代数精度为4.§1.4 复化柯特斯求积公式§1.4.1 复化柯特斯求积公式的的推导过程将积分区间],[b a 划分等分,若把每个子区间],[1+k k x x 四等份,内点依次记为432141,,+++k k k xxx,同理可得复化柯特斯求积公式)](7)(14)(32)(12)(32)(7[9010101143211041b f x f x f x f x f a f hC n k n k n k k k k n k k n +++++=∑∑∑∑-=-=-=++-=+(1-1)其中h x xh x x h x x k k k k k k 43;21;41432141+=+=+=+++ 记(1-1)为复化柯特斯求积公式§1.4.2复化柯特斯求积公式的性质性质1.9复化柯特斯求积公式余项当)(x f 在],[b a 上有连续的四阶导数,复化柯特斯公式的求积余项为:)()4(945)(2)6(6ηf h a b R c --= ],[b a ∈η性质1.10稳定性同复化梯形求积公式,复化柯特斯求积公式的系数均大于零,且满足总和为a b - 因此,复化柯特斯求积公式的计算过程是数值稳定的.性质1.11收敛性可证复化柯特斯求积公式是收敛的. 性质1.12代数精度可证复化柯特斯求积公式的代数精度为6.§1.5 三种复化求积公式的比较及总结为了更形象的表述三种复化求积公式之间的关系,我们通过一个例子来进行比较例1.1使用各种复化求积公式计算定积分dx xxI ⎰=10sin 为简单起见,依次使用8阶复化梯形公式、4阶复化辛普森公式和2阶复化柯特斯公式,可得各节点的值如下表表1-1节点值94569086.0)]1()(2)0([161718=++=∑=f x f f T k k 94608331.0)]1()(2)(4)0([2413031214=+++=∑∑==+f x f x f f S k k k k 94608307.0)]1(7)(14)](32)(12)(32[)0(7[180111104342412=+++++=∑∑==+++f x f x f x f x f f C k k k k k k 比较三个公式的结果:精度最低 94569086.08=T 精度次高 94608331.04=S 精度最高 94608307.02=C原积分的精确值为6719460830703.0sin 10==⎰dx xxI . 我们知道,三种求积公式的余项分别如表1-2表1-2 复化梯形、辛普森、柯特斯求积公式的余项定义1.2对于复化求积公式n I 若存在0>p 及0≠c ,使其余项n I I -满足c h I I pnh =-→0lim则称复化求积公式n I 是p 阶收敛的 P 阶收敛性的意义:对于一个数值求积公式来说,收敛阶越高,近似值n I 收敛到真值dx x f ba ⎰)(的速度就越快.由于三种求积公式的余项分别是h 的2,4,6阶无穷小量 所以n n n C S T ,,趋于定积分I 的速度依次更快.从这三种求积公式的构造过程中可以看出,它们都属于机械求积公式,但不属于插值行和牛顿柯特斯公式.都具有稳定性和收敛性,且收敛速度一个比一个快,一个比一准确.在使用函数值个数相等的情况下,248,,C S T 的精度逐渐升高.第二章复化求积公式算法的流程图及其应用§2.1 流程图1.复化梯形求积公式图2.1 复化梯形求积公式算法的流程图Step1给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑-=1)(),(),(n k k x f b f a f ;Step4得)]()()([211b f x f a f h T n k k n ++=∑-=2. 复化辛普森求积公式图2.2 复化辛普森求积公式算法的流程图Step1 给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑∑-=+-=1211)(,)(),(),(n k k n k k xf x f b f a f ;Step4得)]()(2)(4)([6111021b f x f x f a f hS n k k n k k n +++=∑∑-=-=+3. 复化柯特斯求积公式图2.3 复化柯特斯求积公式算法的流程图Step1给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑∑∑∑-=-=+-=+-=+11143121141)(,)(,)(,)(),(),(n k k n k k n k k n k k x f xf xf xf b f a f ;Step4得)](7)(14)(32)(12)(32)(7[9010101143211041b f x f x f x f x f a f hC n k n k n k k k k n k k n +++++=∑∑∑∑-=-=-=++-=+§2.2 应用例2.1.分别用复化梯形,复化辛普森,复化柯特斯公式计算函数32)(x x x f -=在区间]1,0[上的弧长S .(要求写出源程序和运行结果) *注 在],[b a 上的弧长dx x f S ba⎰+=2'))((11.用复化梯形公式计算S 的过程:(1).写出变量说明表2-1 复化梯形求积公式程序设计的变量说明Step1 输入n ,nab h -=,被积函数0),(1=s x f ; Step2 for 1=k to 1-n ;{计算11)(s kh a f s →++}))(2)((21b f s a f hs ++=; Step3 输出近似值s .(3) 写出源程序和运行结果(见附录A) 2.用复化辛普森公式计算S 的过程: (1).写出变量说明表2-2 复化辛普森求积公式程序设计的变量说明Step1:输入n ,nab h -=,被积函数0),(1=s x f 0,2=s ; Step2:for 1=i to 1-n ,2+=i i ;{计算11)2/*(s h i a f s →++} Step3:for 2=j to 1-n ,2+=j j ; {计算22)2/*(s h j a f s →++}))(24)((621b f s s a f hs +++=; Step4:输出近似值s .(3).写出源程序和运行结果(见附录B) 3.用复化柯特斯公式计算S 的过程: (1).写出变量说明表2-3 复化柯特斯求积公式程序设计的变量说明Step1输入n ,nab h -=,被积函数0),(1=s x f 0,2=s 0,3=s ; Step2 for 1=i to 1-n ,2+=i i ;{计算11)4/*(s h i a f s →++} Step3:for 2=j to 1-n ,4+=j j ; {计算22)4/*(s h j a f s →++} Step4: for 4=k to 2-n ,2+=k k ; {计算33)4/*(s h k a f s →++}))(141232)((90321b f s s s a f hs ++++=; Step5:输出近似值s .(3).写出源程序和运行结果(见附录C)根据运行结果可知,由三种复化求积公式求得的S 的值分别为064837.1、061199.1、061189.1,精度逐渐升高.参考文献[1] 薛毅,耿美英.数值分析[M]. 北京:北京工业大学出版社.2003年. [2] 刘长安.数值分析教程[M].西安:西北工业大学出版社.2005年.[3] 朝伦巴根,贾德彬.数值计算方法[M].北京:中国水利水电出版社.2007年.[4] 韩旭里,万中.数值分析与实验[M].北京: 科学出版社.2006年.[5] 林成森.数值分析[M].北京: 科学出版社.2007年.[6] 封建湖,车刚明,聂玉峰.数值分析原理. 北京: 科学出版社.2001年.附录A1.复化梯形求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){ int n,k;float h;float a;float b;double s=0.0;double s1=0.0;double t;printf("Please input the deng fen ;");scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for (k=1;k<n;k++){ t=a+k*h;s1=s1+f(t);}s=(h/2)*(f(a)+2*s1+f(b));printf("%f\n",s);}(2).运行结果:图1 复化梯形求积公式计算弧长结果附录B2.复化辛普森求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){ int n,i,j;float h;float a;float b;double s=0.0;double s1=0.0,s2=0.0;double t,l;printf("Please input the deng fen ;");scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for(i=1;i<8;i=i+2){t=a+i*h/2;s1=s1+4*f(t);}for(j=2;j<8;j=j+2){l=a+j*h/2;s2=s2+2*f(l);}s=(h/6)*(f(a)+s1+s2+f(b));printf("%f\n",s);}(2).运行结果:图2 复化辛普森求积公式计算弧长结果附录C3.复化柯特斯求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){int n,i,j,k;float h;float a;float b;double s=0.0;double s1=0.0,s2=0.0,s3=0.0;double t,l,m;printf("Please input the deng fen ;"); scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for(i=1;i<8;i=i+2){t=a+i*h/4;s1=s1+32*f(t);}for(j=2;j<7;j=j+4){l=a+j*h/4;s2=s2+12*f(l);}for(k=4;k<6;k=k+2){m=a+k*h/4;s3=s3+14*f(m);}s=(h/90)*(7*f(a)+s1+s2+s3+7*f(b)); printf("%f\n",s);}(2).运行结果:图3 复化柯特斯求积公式计算弧长结果。

复化求积公式求数值积分

复化求积公式求数值积分

应用软件课程设计——复化求积公式求数值积分数学0801班 ***一、实验目的程序1:利用复化梯形公式以及复化辛普森公式求解定积分的数值解。

程序2:分析剖分区间个数对复化梯形公式精度的影响。

程序3:比较MATLAB 的quad 、quadl 命令与上述两种方法的精度;比较在相同剖分区间下两种求数值积分方法的精度。

分析与探讨两种方法精度不同的原因。

说明:原题目给出的积分精确值I=4.006994稍过粗糙,所以通过计算机求解得到更为精确的解析解。

详见测试结果。

二、算法说明自定义函数有:积分函数〔在此题中为dx e I x ⎰+=201〕:hanshu.m 〔附录1〕复化梯形公式求定积分数值解tixing.m 〔附录2〕 复化辛普森公式求定积分数值解xps.m 〔附录3〕 积分原函数解析解jxj.m 〔附录4〕程序1:p1.m 〔附录5〕1、n=2000;%确定积分区间分割份数2、tx=tixing(0,2,n);%用复化梯形公式求解3、xps=xps(0,2,n);%用复化辛普森公式求解4、显示结果disp(['积分区间分割分数为:',num2str(n)]) disp('复化梯形公式的求解结果:'),disp(tx) disp('复化辛普森公式的求解结果:'),disp(xps)程序2-1:p21.m 〔附录6〕1、jxj=jxj(2)-jxj(0);%求出解析解。

2、tx=zeros(5,1);%给数值解向量赋值。

d=zeros(5,1);%给误差向量赋值。

3、i=1,2,3,4,54、n=10^i;%定义剖分份数。

5、tx(i)=tixing(0,2,n);%将剖分份数n 代入,求出该n 下的数值解。

d(i)=tx(i)-jxj;%求出误差。

6、结束循环 7、输出结果程序2-2:p22.m 〔附录7〕1、jxj=jxj(2)-jxj(0);%求出解析解。

  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);
相关文档
最新文档