实验名称 数值积分1
《数值计算方法》数值积分实验报告
![《数值计算方法》数值积分实验报告](https://img.taocdn.com/s3/m/18edc6460a1c59eef8c75fbfc77da26925c596b4.png)
《数值计算方法》数值积分实验报告y=zeros(1,N+1);%y为预分配inte=zeros(1,N);%与分配每个区间的积分值for i=0:Ny(i+1)=double(subs(fun,(a+i*h)));%每一个y值endfor j=0:N-1inte(j+1)=(y(j+1)+y(j+2))*h/2;%计算积分endInteg=sum(inte);输出结果:(2)编写辛普森法数值积分的积分函数和牛顿-科特斯数值积分的积分函数,计算积分并比较不同方法的结果。
辛普森法数值积分:function res=simpson(fun,n,a,b)format long;if b<ac=b;b=a;a=c;endh=(b-a)/n;d=fun(a);for i=a+h:h:b-hd=d+(2*fun(i));endfor i=a+h/2:h:b-h/2d=d+(4*fun(i))endd=d+fun(b);res=(d*h/6);end输出结果:牛顿-科特斯数值积分:function y=f(x)y=sin(x);function Cn = Cn(a,b,n)format longh = (b-a)/n;sum1 = 0;sum2 = 0;for i = 0:n-1sum1 = sum1 +32*f(a+(i+1/4).*h)+12*f(a+(i+1/2).*h)+32*f(a+(i+3/4).*h); endfor j = 1:n-1sum2 = sum2 + 14*f(a+j.*h);endCn = h/90*(7*f(a)+sum1+sum2+7*f(b));输出结果:从上述结果可以看出这两个数值积分的结果差不多。
结论分析与心得体会(出现的问题及解决方案):通过本次实验我学会了复合梯形公式法、辛普森数值积分方法和牛顿-科特斯数值积分方法并实现积分的计算。
而且辛普森数值积分方法和牛顿-科特斯数值积分方法运行出来的结果差不多,但是如果精确值越高,这俩个的结果就会显示出较大的差异。
数值分析实验报告--数值积分与数值微分及其并行算法
![数值分析实验报告--数值积分与数值微分及其并行算法](https://img.taocdn.com/s3/m/0a630ae6998fcc22bcd10d48.png)
《数值分析》实验报告实验六 数值积分与数值微分及其并行算法(一) 数值微分一实验目的:① 我们通过 Mat lab 编 来 决数值 的诸多问题 例如这次实验所涉及到得数值微分,使我们进一步学会使用Matlab 来求解复杂的数值微分积分等问题,就进而避免了手算出现的各种错误。
体会Matlab 这门课是多么方便实用 让我体会到了高数和计算方法相结合的重要性,让我更好的学习这门课。
② 并让我们熟悉Mat lab 编 环 并要熟练掌握及应用二.实验要求:会用matlab 编写代码,并把关于数值微分的题目进行结果计算,并进行误差分析,需要画图的把图形画出来。
三.实验内容:用matlab 编写出的代码进行编译运行,来做下面有关于数值微分的例子,然后再进行误差分析的出最终结论。
最后把结果和过程写在实验报告上。
四.实验题目:1.关于数值微分的:设)94^*8cos()162^*4sin()(+−−=x x x f .(1)分别利用前差公式和后差公式计算)27.0('f 的近似值和误差,取4位小数点计算,其中步长分别取1000.0,001.0,01.0,1.0=h ,≤)("x f 100,]1,0[∈x .五.实验原理:1.、数值微分中的前插公式:hx f h x f x f )()()(−+≅′ 后插公式:hh x f x f x f )()()(−−≅′ 前插公式和后插公式的截断误差公式:)()(2),(1h O f h h f R i =′′−=ξ )2,1(=i 六.设计思想:是用离散的方法近似的计算y=f(x)在某点的函数值,当然通常只有函数以离散数值形式给出时才有必要用它。
七.对应程序及实验结果:1.数值微分的程序:在工作区输入:x=0.27;h=[0.1,0.01,0.001,0.0001];M=100;x1=x+h;x2=x-h; y=sin(4.*x.^2-16)- cos(8.*x.^4+9);y1=sin(4.*x1.^2-16)- cos(8.*x.^4+9); y2=sin(4.*x2.^2-16)- cos(8.*x.^4+9); yq=(y1-y)./h, yh=(y-y2)./h,wu=abs(h.*M/2), syms x,f=sin(4.*x.^2-16)- cos(8.*x.^4+9); yx=diff(f,x)得出结果为:yq =-2.5323 -2.1998 -2.1640 -2.1604yh =-1.7509 -2.1198 -2.1560 -2.1596wu =5.0000 0.5000 0.0500 0.0050yx =8*cos(4*x^2-16)*x+32*sin(8*x^4+9)*x^3再算出截断误差:输入:x=0.27; yx =8*cos(4*x^2-16)*x+32*sin(8*x^4+9)*x^3,wuq=abs(yq-yx), wuh=abs(yh-yx)输出:yx =-1.9251wuq =0.6072 0.2748 0.2389 0.2353wuh =0.1742 0.1948 0.2309 0.2345九、实验体会:本实验中,关于数值微分方法的使用,使我个人又对前插公式有了新的一种理念,让我记的更加牢固。
数值分析积分实验报告(3篇)
![数值分析积分实验报告(3篇)](https://img.taocdn.com/s3/m/0c53ac55a22d7375a417866fb84ae45c3b35c287.png)
第1篇一、实验目的本次实验旨在通过数值分析的方法,研究几种常见的数值积分方法,包括梯形法、辛普森法、复化梯形法和龙贝格法,并比较它们在计算精度和效率上的差异。
通过实验,加深对数值积分理论和方法的理解,提高编程能力和实际问题解决能力。
二、实验内容1. 梯形法梯形法是一种基本的数值积分方法,通过将积分区间分割成若干个梯形,计算梯形面积之和来近似积分值。
实验中,我们选取了几个不同的函数,对积分区间进行划分,计算积分近似值,并与实际积分值进行比较。
2. 辛普森法辛普森法是另一种常见的数值积分方法,它通过将积分区间分割成若干个等距的区间,在每个区间上使用二次多项式进行插值,然后计算多项式与x轴围成的面积之和来近似积分值。
实验中,我们对比了辛普森法和梯形法的计算结果,分析了它们的精度差异。
3. 复化梯形法复化梯形法是对梯形法的一种改进,通过将积分区间分割成多个小区间,在每个小区间上使用梯形法进行积分,然后计算所有小区间积分值的和来近似积分值。
实验中,我们对比了复化梯形法和辛普森法的计算结果,分析了它们的精度和效率。
4. 龙贝格法龙贝格法是一种通过外推加速提高计算精度的数值积分方法。
它通过比较使用不同点数(n和2n)的积分结果,得到更高精度的积分结果。
实验中,我们使用龙贝格法对几个函数进行积分,并与其他方法进行了比较。
三、实验步骤1. 编写程序实现梯形法、辛普森法、复化梯形法和龙贝格法。
2. 选取几个不同的函数,对积分区间进行划分。
3. 使用不同方法计算积分近似值,并与实际积分值进行比较。
4. 分析不同方法的精度和效率。
四、实验结果与分析1. 梯形法梯形法在计算精度上相对较低,但当积分区间划分足够细时,其计算结果可以接近实际积分值。
2. 辛普森法辛普森法在计算精度上优于梯形法,但当积分区间划分较细时,计算量较大。
3. 复化梯形法复化梯形法在计算精度上与辛普森法相当,但计算量较小。
4. 龙贝格法龙贝格法在计算精度上优于复化梯形法,且计算量相对较小。
实验四__数值积分[1]
![实验四__数值积分[1]](https://img.taocdn.com/s3/m/033faa79a417866fb84a8e1a.png)
实验四 数值积分
一、实验目的
了解并熟悉梯形公式、牛顿-科特斯公式、复合梯形公式、复合辛普森公式、以及高斯公式等常用的数值积分方法。
通过数值实验理解这些方法的优缺点;熟悉这些方法的程序编制。
二、实验内容
编写复合梯形公式、复合辛普森公式、高斯列让德求积公式的程序,并通过数值方法比较这些积分公式.
三、实验要求
熟悉各种积分公式的程序编制;通过数值方法求一些函数的积分,比较各种积分公式,得到相应的结论。
四、实验设备
装有matlab 等程序语言的计算机
五、实验步骤
1. 编写复合梯形公式、复合辛普森公式、高斯列让德公式的程序代码;
2.
用所编写的程序计算积分0xdx ⎰,1
0sin x dx x ⎰. 3. 从计算量、计算精度、计算能力等方面比较这些求积公式, 得出结论。
五、实验原理
复合梯形公式:
121/20
1()22n n n n k k h T T f x -+==+∑
称为复化辛普森公式. 记 1122110
[()2()4()()]3n n n k k k k h S f a f x f x f b --+===+++∑∑
及格:用复合梯形公式、复合辛普森公式的程序求出2中两个函数的积分良好:完成及格内容,并用高斯列让德公式的程序求出2中两个函数的积分优秀:程序具有较好交互性。
从不同方面体现着三种方法的优劣或者特点!。
数值分析实验二 数值积分1
![数值分析实验二 数值积分1](https://img.taocdn.com/s3/m/a19c068ad0d233d4b14e690e.png)
数值分析实验二 数值积分组号 班级 学号 姓名 分数一:实验目的1、掌握用复化Simpson 公式,复化梯形求积公式计算积分的方法。
2、掌握用龙贝格Romberg 积分公式计算积分的方法。
3、掌握用高斯-勒让德Gauss-Legendre 公式计算积分法。
4、通过实例了解三种方法的联系与区别,并会利用适当的方法计算某函数在某个区间的积分值。
二:实验内容及基本知识介绍(1)复化Simpson 求积公式的原理:将区间[a,b]分为n 等分,在每个子区间[1,k k x x +]上采用辛普森公式:()()462b a a b s f a f f b -⎡+⎤⎛⎫=++ ⎪⎢⎥⎝⎭⎣⎦,若记122k k x h x +=+,则得: ()()()()()111110246k kn bx ax k n k k k n k I f x dx f x dxh f x f x f x R f +-=-++===⎡⎤⎛⎫=+++⎢⎥ ⎪⎢⎥⎝⎭⎣⎦∑⎰⎰∑。
则可以记得:()()()()()⎥⎥⎦⎤⎢⎢⎣⎡++⎪⎪⎭⎫ ⎝⎛+=⎥⎥⎦⎤⎢⎢⎣⎡+⎪⎪⎭⎫ ⎝⎛+=∑∑∑-=-=+-=++1010211012124646n k n k k k n k k k k n b f x f x f a f h x f x f x f h S,称为复化辛普森求积公式。
其余项为:()()()()4141,,1802n n n kkkk k h h R f I S f x x ηη-+=⎛⎫=-=-∈ ⎪⎝⎭∑,此外,由于nS中求积系数均为正数,故知复化辛普森公式计算稳定。
(2)复化梯形求积公式的原理:将区间[a,b]分为n 等分,分点,,2,1,0,,n k nab h kh a x k =-=+=在每个子区间[]()1,,1,0,1-=+n k x x k k 上采用梯形公式()()[]b f a f a b T +-=2计算,则得:()()()()[]()f R x f x f h dx x f dx x f I n n k k k n k x x bak k++===∑∑⎰⎰-=+-=+11121,记:()()[]()()()⎥⎦⎤⎢⎣⎡++=+=∑∑-=-=+`11101222n k k n k k k n b f x f a f h x f x f h T ,称为复化梯形公式。
数值积分算法误差分析
![数值积分算法误差分析](https://img.taocdn.com/s3/m/07fa32d8b52acfc788ebc913.png)
实验名称:数值积分算法误差分析1.实验原理1) 欧拉法原理在数学和计算机科学中,欧拉方法(Euler method)命名自它的发明者莱昂哈德•欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。
它是一种解决常微分方程数值积分的最基本的一类显型方法(Explicit method) 。
微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值,这个过程称为离散化。
实现离散化的基本途径是用向前差商来近似代替导数,这就是欧拉算法实现的依据。
欧拉(Euler)算法是数值求解中最基本、最简单的方法,但其求解精度较低,一般不在工程中单独进行运算。
所谓数值求解,就是求问题的解y(x)在一系列点上的值y(xi)的近似值yi。
对于常微分方程:J = f (x,y),x [a,b]dxy(a) = yO可以将区间[a,b]分成n段,那么方程在第X i点有y'( X i)=f(X i,y(xJ),再用向前差商近似代替导数则为:(血1叮皿))"阳畑)) h,在这里,h是步长,即相邻两个结点间的距离。
因此可以根据xi点和yi点的数值计算出y i+1来:洪门—②”九亍93沁二i=0,1,2丄这就是欧拉格式,若初值y +1是已知的,则可依据上式逐步算出数值解屮,y2丄。
1)龙哥库塔法原理数值分析中,龙格—库塔法(Runge-Kutta )是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。
这些技术由数学家卡尔•龙格和马丁•威尔海姆•库塔于1900年左右发明。
龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“ RK4或者就是“龙格库塔法”。
该方法主要是在已知方程导数和初值信息,利用计算机仿真时应用,省去求解微分方程的复杂过程。
令初值问题表述如下。
y = /(t.y), y(to) = yo则,对于该问题的RK曲如下方程给出:hVn^-l = Vn+ 詁局I 4 2鬲+ 如其中^1 == f(bl i Urt + gkj血3 = f £n + £, Un I £爲)呛=f (tn + k伽+ h如这样,下一个值(y n+i)由现在的值(y n)加上时间间隔(h)和一个估算的斜率的乘积决定。
数学实验报告数值积分
![数学实验报告数值积分](https://img.taocdn.com/s3/m/ddf74e0b7cd184254b3535e0.png)
0.0003*x^5+0.0303*x^4+0.1236*x^3+0.0296*x^2+0.9901*x^1+0.00 13*x^0 把 x=0.596 带入得到: F(0.596)=0.63192 绘制图像有:
求拉格朗日插项式,并由此求出 f(0.596)的近似值 问题分析: 对于已知的 n 个数据点 (x1,y1) , (x2,y2) , (x3,y3) …… ( xn,yn ) , 总可 以唯 一 确定 一 条 n-1 次 y=a(0)+a(1)x+a(2)x^2+a(3) x^3+…… +a(n-1)x^( n-1) 。因为 n 个数据点都在曲线上,所以
(−1 < x ≤ 1)
令 x = 1,即 ln 2 = 1 − 1 + 1 − 1 ++ (−1) n−1 1 + ;其误差为
2 3 4 n
Rn = ln 2 − S n = (−1) n
1 1 1 1 1 + (−1) n+1 + = − + < n +1 n + 2 n +1 n +1 n+2
程序编写 1: clc;clear; n=0; r=1; p=0; k=-1; while r>=1.0e-5 n=n+1; k=k*(-1); p=p+k/n; r=abs(k/n); fprintf('n=%.0f,p=%.10f\n',n,p1); end
-2-
数学实验报告----------------------------------------------------------------能动 04 吴建东
实验一 数值积分算法仿真实验
![实验一 数值积分算法仿真实验](https://img.taocdn.com/s3/m/153f3e781711cc7931b7162f.png)
3
计算机仿真输出图像 h=0.05
h=5.00
h=10.00
4
(3) 四阶龙—库法 数值积分算法如下: 数学模型为 设
初始值为 0;
计算机仿真程序 x1=0; x2=0; t0=0;tf=200;h=0.8; y=0; t=t0; n=round((tf-t0)/h); for i=1:n k11=x2; k21=1-x1-0.1*x2; k12=x2+h/2*k21; k22=1-(x1+h/2*k11)-0.1*(x2+h/2*k21); k13=x2+h/2*k22; k23=1-(x1+h/2*k12)-0.1*(x2+h/2*k22); k14=x2+h*k23; k24=1-(x1+h*k13)-0.1*(x2+h*k23); x1=x1+h/6*(k11+2*k12+2*k13+k14); x2=x2+h/6*(k21+2*k22+2*k23+k24); y=[y,x1]; t=[t,t(i)+h]; end [t',y'] plot(t,y) grid gtext('RK-4') gtext('h=0.8')
5
计算机仿真输出图像 h=0.80
h=5.00
h=10.00
6
实验结论
1、 2、 3、 4、 数值积分算法对仿真建模有三个基本要求:稳定性、准确性、快速性; 随着步距 h 的增大,仿真结果准确性逐渐降低,但速度也随之降低; 在三次仿真中, 四阶龙-库法精度最高, 可以看出, 计算量增加精度提高; 在不同的仿真计算中,要综合考虑要求精度及其运行速度选择合适的仿 真方法及步距,在既保证精度的情况下提高计算速度。
数值分析实验课——数值积分与数值微分实验
![数值分析实验课——数值积分与数值微分实验](https://img.taocdn.com/s3/m/ce65ea95daef5ef7ba0d3c99.png)
数值分析实验报告四数值积分与数值微分实验(2学时)一 实验目的1.掌握复化的梯形公式、辛扑生公式等牛顿-柯特斯公式计算积分。
2. 会用高斯公式计算积分。
3. 掌握数值微分的计算方法。
二 实验内容1.分别用复化的梯形公式和辛扑生公式计算积分。
⎰90dx x M=4 2.给定下列表格值利用四点式(n=3)求)50()50('''f f 和的值。
三 实验步骤(算法)与结果1复化的梯形公式:()()()()01121222bM M a h h h f x dx f f f f f f b a h M -=+++++-=⎰基于上述公式,进行编程,程序代码如下:#include"stdio.h"#include"math.h"#define M 4int main(){float a=9,b=0;int i;float h;float x[M+1];float f=0;h=(a-b)/M;for(i=0;i<M+1;i++){x[i]=b+h*i;}for(i=0;i<M;i++){f=f+h/2*((sqrt(x[i]))+(sqrt(x[i+1])));}printf("\n%f\n",f);return 0;}运行结果如下:复化的辛扑生公式:()()()()01351246243323bM M a M h h f x dx f f f f f f h f f f f b ah M--=+++++++++++-=⎰基于上述公式,进行编程计算,程序代码如下: #include"stdio.h"#include"math.h"#define M 4int main(){float a=9,b=0;int i;float h;float x[M+1];float f=0;h=(a-b)/M;for(i=0;i<M+1;i++){x[i]=b+h*i;}for(i=0;i<M/2;i++){f=f+(h/3)*((sqrt(x[2*i]))+4*(sqrt(x[2*i+1]))+(sqrt(x[2*i+2]))); }printf("\n%f\n",f);return 0;}运算结果如下:2一阶和二阶数值微分公式四点式:()()()()'00123''00123211118926112302466f x y y y y h f x y y y y h ≈-+-+≈-+-基于上述公式,进行编程计算,程序代码如下: #include"stdio.h"int main(){float x[4]={50,55,60,65};float y[4]={1.6990,1.7404,1.7782,1.8129};float f1,f2;float h=x[1]-x[0];f1=(1/(6*h))*(-11*y[0]+18*y[1]-9*y[2]+2*y[3]); f2=(1/(6*h*h))*(12*y[0]-30*y[1]+24*y[2]-6*y[3]);printf("f1=%f",f1);printf("\nf2=%f",f2);return 0;}运算结果如下:四实验收获与教师评语。
数值分析实验——数值积分
![数值分析实验——数值积分](https://img.taocdn.com/s3/m/7ff10a05f78a6529647d531d.png)
桂林电子科技大学数学与计算科学学院实验报告 实验室: 06406 实验日期: 2014 年 11 月 21 日院(系) 数学与应用数学 年级、专业、班 姓名 成绩课程名称 数值分析实验 实验项目 名 称 实验积分 指导 教师李光云 一 、实验目的通过实验掌握利用Matlab 进行数值积分的操作,掌握Matlab 中的几种内置求积分函数,进一步理 解复化梯形,复化辛普生公式,并编程实现求数值积分二、实验原理Matlab 中,有内置函数计算积分:>> z = trapz(x,y)其中,输入x ,y 分别为已知数据的自变量和因变量构成的向量,输出为积分值。
>> z = quad(fun,a,b)这个命令是使用自适应求积的方法计算积分的命令。
其中,fun 为被积函数,a ,b 为积分区间。
我们还可以利用复化梯形公式()()()()⎪⎭⎫ ⎝⎛++-=∑-=11022n i i n x f x f x f n a b I 三、使用仪器,材料电脑 MATLAB四、实验内容与步骤1. 编写复化辛普生公式的Matlab 的程序。
2. 利用复化梯形法程序计算12041I dx x =+⎰,记录下计算结果随着n 增加的变化情况,画图与复化梯形公式的情况比较收敛速度。
3. 积分⎰dx x x sin 的原函数无法用初等函数表达,结合Matlab 复化梯形程序,用描点法绘制其原函数⎰x dt t t 1sin 在区间[]50,1的图形。
五、实验过程原始记录(数据,图表,计算等)一、复化Simpson公式程序:function s=Simpson(a,b,n)%输出s为积分的数值解,输入(a,b)为积分区间,n为等分区间的个数. h=(b-a)/(n*2);s1=0;s2=0;s=h*(f(a)+f(b))/3;%先计算特殊两点相加.for k=1:nx1=a+h*(2*k-1); %利用循环计算其他点的相加.s1=s1+f(x1);endfor k=1:(n-1)x2=a+h*2*k; %利用循环计算其他点的相加.s2=s2+f(x2);ends=s+h*(4*s1+2*s2)/3;画图程序format long;% k为等分区间个数,t存储积分值.k=2:1:40;for i=1:length(k)t(i)=Simpson(0,1,k(i));disp([k(i),t(i)]);endplot(k,t,'.','MarkerSize',20)二、Simpson(0,1,26)ans =3.14159265358779>> Untitled62.000000000000003.141568627450983.00000000000000 3.141591780936044.00000000000000 3.141592502458715.00000000000000 3.141592613939226.00000000000000 3.141592640305387.00000000000000 3.141592648320658.00000000000000 3.141592651224829.00000000000000 3.1415926524231710.00000000000000 3.1415926529697911.00000000000000 3.1415926532398112.00000000000000 3.1415926533821513.00000000000000 3.1415926534613414.00000000000000 3.1415926535074515.00000000000000 3.1415926535353616.00000000000000 3.1415926535528417.00000000000000 3.1415926535641118.00000000000000 3.1415926535715619.00000000000000 3.1415926535766120.00000000000000 3.1415926535801121.00000000000000 3.1415926535825622.00000000000000 3.1415926535843223.00000000000000 3.1415926535856024.00000000000000 3.1415926535865525.00000000000000 3.1415926535872526.00000000000000 3.1415926535877927.00000000000000 3.1415926535881928.00000000000000 3.1415926535885129.00000000000000 3.1415926535887530.00000000000000 3.1415926535889431.00000000000000 3.1415926535890932.00000000000000 3.1415926535892233.00000000000000 3.1415926535893134.00000000000000 3.1415926535893935.00000000000000 3.1415926535894636.00000000000000 3.1415926535895137.00000000000000 3.1415926535895538.00000000000000 3.1415926535895939.00000000000000 3.1415926535896240.00000000000000 3.14159265358964由图形可以知道,复化Simpson求积公式的收敛速度比复化梯形求积公式收敛速度快三、b=2:1:50;>> y=tixing(1,b,26)Warning: Colon operands must be real scalars.> In tixing at 3y =Columns 1 through 40.65931335927431 1.31862671854861 1.97794007782292 2.63725343709723 Columns 5 through 83.29656679637153 3.955880155645844.615193514920155.27450687419446 Columns 9 through 125.933820233468766.593133592743077.25244695201738 7.91176031129169 Columns 13 through 168.57107367056599 9.23038702984030 9.88970038911461 10.54901374838891 Columns 17 through 2011.20832710766322 11.86764046693753 12.52695382621183 13.18626718548614 Columns 21 through 2413.84558054476045 14.50489390403476 15.16420726330906 15.82352062258337 Columns 25 through 2816.48283398185768 17.14214734113198 17.80146070040629 18.46077405968060 Columns 29 through 3219.12008741895491 19.77940077822921 20.43871413750352 21.09802749677782 Columns 33 through 3621.75734085605213 22.41665421532644 23.07596757460075 23.73528093387506 Columns 37 through 4024.39459429314936 25.05390765242366 25.71322101169798 26.37253437097228 Columns 41 through 4427.03184773024659 27.69116108952090 28.35047444879520 29.00978780806952Columns 45 through 4829.66910116734383 30.32841452661813 30.98772788589244 31.64704124516674Column 4932.30635460444105>> x=1:1:49;>> plot(x,y)六、实验结果分析或总结通过这次实验,学会了如何使用Matlab进行数值积分的操作以及几种内置求积分函数的方法,但编程一直都是自己的弱势,一些程序的代码还是无法自己编译出来。
实验一 数值积分算法仿真实验
![实验一 数值积分算法仿真实验](https://img.taocdn.com/s3/m/c6cdd605f011f18583d049649b6648d7c1c708f6.png)
实验一数值积分算法仿真实验数值积分算法是对微积分中每个基本概念的具体应用,它被广泛应用于数学、工程、物理学、计算机科学等领域。
实验一旨在通过仿真实验来理解数值积分的基本原理以及各种算法的优劣。
1. 实验目的通过本实验,我们将探索数值积分算法的基本原理,以及了解求解积分的各种算法的使用方法和适用范围。
具体而言,本实验的目的包括:1. 理解数值积分的基本原理和方法。
2. 掌握数值积分算法的使用方法和步骤。
3. 比较不同积分算法的优缺点,了解它们适用的范围。
2. 实验内容本实验的具体内容包括:1. Simpson 积分算法的仿真实验3. 辛普森—三分积分算法的仿真实验4. 实验结果的分析与比较3. 实验原理在本次实验中,我们将介绍三种数值积分算法,分别是 Simpson 积分算法、梯形积分算法和辛普森-三分积分算法。
Simpson 积分算法也称为复化 Simpson 公式,是一种求解一定区间内函数积分值的数值计算方法。
这种方法的基本思路是将区间内的几何图形近似为二次函数,从而完成积分的近似计算。
具体而言,这种方法是通过将区间内的函数曲线分成若干个小区间,计算每一个小区间内的积分值,最后将这些积分值加起来得到整个区间内的积分值。
Simpson 积分公式如下所示:$I=\frac{h}{3}(f(x_0)+4f(x_1)+2f(x_2)+4f(x_3)+2f(x_4)+...+4f(x_{n-1})+f(x_n))$其中,$n$ 表示小区间的数目,$h$ 表示每个小区间的长度,$f(x_i)$ 表示区间内的函数值。
3.2 梯形积分算法辛普森-三分积分公式如下所示:$I=\frac{2b-a}{6n}(f(a)+f(b)+2\sum_{j=1}^{n/2}f(x_{2j})+4\sum_{j=1}^{n/2-1}f(x _{2j + 1}))$```% Simpson 积分算法function result = simpson(a,b,f,n)h = (b-a)/n;x = a:h:b;y = f(x);result = h/3*(y(1) + 4*sum(y(2:2:n)) + 2*sum(y(3:2:n-1)) + y(n+1));end我们可以通过实验数据来比较不同积分算法的优缺点。
计算方法-数值积分实验
![计算方法-数值积分实验](https://img.taocdn.com/s3/m/2f1f16d228ea81c758f578a6.png)
实验二 数值积分实验一. 实验目的(1)熟悉数值积分与数值微分方法的基本思想,加深对数值积分与数值微分方法的理解。
(2)熟悉Matlab 编程环境,利用Matlab 实现具体的数值积分与数值微分方法。
二. 实验要求用Matlab 软件实现复化梯形方法、复化辛甫生方法、龙贝格方法和高斯公式的相应算法,并用实例在计算机上计算。
三. 实验内容1. 实验题目已知x e x f x 4sin 1)(-+=的数据表分别编写用复化梯形法、复化辛甫生公法、龙贝格法、三点高斯法求积分⎰=10)(dx x f I 近似值的计算机程序。
A. 复化梯形法:a . 编写文件Trapezoid.m,代码如下所示:x 0.00 0.25 0.50 0.75 1.00 f (x ) 1.00000 1.65534 1.55152 1.06666 0.72159b.编写文件f2.m:c.运行:B.复化辛甫生公法a.编写文件FSimpson.m,代码如下所示:b.编写文件f2.m: function f=f2(x)f=1+exp(-x).*sin(4*x);c.运行:C.龙贝格法a.编写文件Romberg.m,代码如下所示:b.运行:D.三点高斯法a.编写文件TGauss.m文件,如下所示:b.运行:2. 设计思想要求针对上述题目,详细分析每种算法的设计思想。
总体的思想是化复杂为简单的重复A.复化梯形法使用直接法,通过递归,缩减规模;B.复化辛甫生也是使用直接法,根据公式直接进行编程,通过递归缩减规模;C.龙贝格算法应该在做了的几个中最体现了“化复杂为简单的重复”的思想,多个循环通过变量的适当递增,和一个for循环语句来实现,循环主体只有一句话,但确是整个程序中的亮点和难点;D.三点高斯法直接通过一条简单的公式来编写程序,难度不大;四.实验体会对实验过程进行分析总结,对比不同方法的精度,指出每种算法的设计要点及应注意的事项,以及自己通过实验所获得的对数值积分方法的理解。
数值积分和数值微分在物理中的应用
![数值积分和数值微分在物理中的应用](https://img.taocdn.com/s3/m/014c5069b84ae45c3b358c67.png)
实验报告实验课程名称计算物理实验项目名称数值积分和数值微分在物理中的应用年级 2009级专业物理学学生姓名学号理学院实验时间:2012 年 6 月 4 日学生所在学院理学院专业:物理学班级:物理091),Z ϕ+∇E=-V 就可以求电场了x=0即只研究0320223/242()IdI r r R IR z μπμ-⨯+萨伐尔定律dB=对于载流圆环,其轴线上的磁感强度由于具有对称性若其轴线取为Z 轴,则磁感应强度的方向垂直圆形线圈平面沿B=而空间其他位置磁感应强度助计算机求数值解便可以直观的将磁场的空间分布表示出来dI 0044x y z z y x z y x z x x y ijkdx dy dzr r r I dB r I dB μπμπ⨯⨯==r=展开计算有:dI r=(r dy-r dz)i+(r dz-r dx)j+(r dx-r dy)k 这样r dy-r dz r dz-r dx r dx-r%画电势分布contour(X(:,:,1),Y(:,:,1),v,[6,8,10,12,14,16,18,20,22,24,26,28,30,32],'g') hold onsx=0.2;sy=[-3.2:0.4:3.2];%计算电场线起点[Sx,Sy]=meshgrid(sx,sy);%利用对称性画电场线streamline(X(:,:,1),Y(:,:,1),Ex,Ey,Sx,Sy);hold onstreamline(-X(:,:,1),Y(:,:,1),-Ex,Ey,-Sx,Sy);xlabel('x');ylabel('y');title('带电细棒的电势及电场分布')(2)clear alllam=1e-9;%带电环的电荷线密度ep0=8.85*1e-12;%真空中的电容器c0=lam/(4*pi*ep0);%归并常数R=1.2;%带电环的半径y=-6:0.11:6;z=-6:0.11:6;phi=0:pi/20:2*pi;[Y,Z,PHI]=meshgrid(y,z,phi);r=sqrt((R*cos(PHI)).^2+(Y-R*sin(PHI)).^2+Z.^2);载流圆环的磁场clear allI0=1e2;%截流圆环中的电流mu0=4*pi*1e-7;%真空中的磁导率c0=I0*mu0/(4*pi);%归并常数R=1.5;y=-2:0.04:2;z=-2:0.04:2;phi=0:pi/40:2*pi;[Y,Z,PHI]=meshgrid(y,z,phi);r=sqrt((R*cos(PHI)).^2+(Y-R*sin(PHI)).^2+Z.^2); r3=r.^3;dBy=c0*R*Z.*sin(PHI)./r3;%求磁场的y,z分量dBz=c0*R*(R-Y.*sin(PHI))./r3;By=pi/20*trapz(dBy,3);Bz=pi/20*trapz(dBz,3);B=sqrt(By.^2+Bz.^2);figureaxis([-2,2,-2,2]);line(R,0,'marker','.','markersize',30,'color','r')line(-R,0,'marker','.','markersize',30,'color','r') hold onsz=0.1;sy=[0.11:0.13:1.28];[Sy,Sz]=meshgrid(sy,sz);streamline(Y(:,:,1),Z(:,:,1),By,Bz,Sy,Sz);%利用对称性画磁场线streamline(-Y(:,:,1),Z(:,:,1),-By,Bz,-Sy,Sz);streamline(-Y(:,:,1),-Z(:,:,1),-By,-Bz,-Sy,-Sz);streamline(Y(:,:,1),-Z(:,:,1),By,-Bz,Sy,-Sz);title('载流圆环磁场分布图')xlabel('y')ylabel('z')figuresubplot(2,2,1)mesh(Y(:,:,1),Z(:,:,1),By);title('磁场y分量')xlabel('y')ylabel('z')subplot(2,2,2)mesh(Y(:,:,1),Z(:,:,1),Bz);title('磁场z分量')xlabel('y')ylabel('z')subplot(2,2,3)mesh(Y(:,:,1),Z(:,:,1),B);title('载流圆环磁场大小分布图')xlabel('y')ylabel('z')zlabel('B')。
数值计算实验报告积分
![数值计算实验报告积分](https://img.taocdn.com/s3/m/7fca5b0c76232f60ddccda38376baf1ffd4fe350.png)
一、实验目的1. 理解积分的概念和基本性质。
2. 掌握数值积分的方法,包括矩形法、梯形法、辛普森法等。
3. 通过实际计算,加深对积分概念的理解。
二、实验原理积分是微积分学中的一个基本概念,表示一个函数在某区间内的累积变化量。
数值积分是指利用数值方法求解积分,常见的方法有矩形法、梯形法、辛普森法等。
1. 矩形法:将积分区间分成若干等份,用每个小区间的宽度乘以函数在该区间的值,再将所有小区间的乘积相加,得到积分的近似值。
2. 梯形法:将积分区间分成若干等份,用每个小区间的宽度乘以函数在该区间的平均值,再将所有小区间的乘积相加,得到积分的近似值。
3. 辛普森法:将积分区间分成若干等份,用每个小区间的宽度乘以函数在该区间的二次多项式近似值,再将所有小区间的乘积相加,得到积分的近似值。
三、实验步骤1. 选择一个具体的积分问题,例如:计算函数f(x) = x^2在区间[0,1]上的积分。
2. 根据所选择的积分方法,设置相应的参数。
例如,对于矩形法,需要设置小区间的数量n;对于梯形法,需要设置小区间的数量n;对于辛普森法,需要设置小区间的数量n。
3. 计算每个小区间的宽度,例如,对于区间[0,1],小区间的宽度为h = (1-0)/n。
4. 根据所选的积分方法,计算积分的近似值。
5. 比较不同积分方法的近似值,分析误差来源。
四、实验结果与分析以函数f(x) = x^2在区间[0,1]上的积分为例,进行数值积分实验。
1. 矩形法:取n=4,计算得到积分的近似值为0.5625。
2. 梯形法:取n=4,计算得到积分的近似值为0.6667。
3. 辛普森法:取n=4,计算得到积分的近似值为0.6667。
通过比较不同积分方法的近似值,可以发现辛普森法的误差较小,且随着n的增大,误差逐渐减小。
这表明辛普森法在数值积分中具有较高的精度。
五、实验总结1. 本实验通过数值积分方法,计算了函数f(x) = x^2在区间[0,1]上的积分,加深了对积分概念的理解。
实验一 数值积分算法的实验概要
![实验一 数值积分算法的实验概要](https://img.taocdn.com/s3/m/f0b3353655270722192ef7dd.png)
实验一 数值积分算法的实验一、实验目的1. 初步了解如何用仿真方法来分析系统的动态性能。
2. 了解不同的数值积分算法与仿真计算的精度之间的关系。
3. 学会一种初步寻求合理仿真步长的方法。
二、实验内容系统模型及其单位阶跃响应如习题2.6所示。
1. 按实验目的、要求和已知条件,建立系统的Simulink 模型。
2. 按经验公式(2.43)或(2.44)初选仿真步长h 。
3. 选择RK4法,运行仿真模型,适当调整步长和仿真起止时间,以得到比较理想的过渡过程,观察纪录此过渡过程的数据。
4. 在相同的条件下,选择欧拉法,再让仿真模型运行,观察纪录过渡过程的数据。
三、预习要求1. 复习数值积分算法及步长寻取方法。
2. 按理论分析初步估计系统可能出现的动态性能。
3. 求c 或min T 。
四、实验报告要求1. 整理各种实验条件下的打印数据和曲线。
2. 将各仿真结果与标准解比较,分析不同数值积分算法对仿真精度的影响。
实验二常用快速数字仿真算法的实验一、实验目的1. 掌握常用的快速数字仿真算法:双线性变换法和根匹配法。
2. 根据连续系统的结构图能够建立相应快速算法的simulink模型,并进行仿真,比较两者之间的差异。
二、实验内容系统模型及其单位阶跃响应如习题2.26所示。
1. 按实验目的、要求和已知条件,分别采用双线性变换法和根匹配法求取对应的脉冲传递函数和相应的差分方程。
2. 建立二阶低通滤波器的系统的Simulink模型,并分别求单位阶跃响应,参照【例2.10】完成。
3. 观察纪录两种方法下的阶跃响应曲线,并作比较。
三、预习要求1. 复习双线性变换法和根匹配法。
2. 按理论分析分别求出双线性变换法和根匹配法对应的脉冲传递函数和相应的差分方程。
四、实验报告要求1. 整理两种方法下的打印数据和曲线。
2. 将仿真结果进行比较,分析算法对仿真精度的影响。
实验七 炉温控制实验一、实验目的1.了解温度控制系统的特点。
2.研究采样周期T 对系统特性的影响。
实验4 数值积分(1)
![实验4 数值积分(1)](https://img.taocdn.com/s3/m/22c529f8fab069dc502201a8.png)
实验四 数值积分1、实验目的1、观察复化梯形公式和复化辛普森公式随区间数n 增加各自误差的减少规律;研究广义积分的数值计算如何将其转化为普通积分,再由已有数值积分方法进行计算2、利用复化梯形公式和复化辛普森公式计算定积分,编程实现。
2、实验要求:1) 认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法;2) 编写上机实验程序,作好上机前的准备工作;3) 上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);4) 分析和解释计算结果; 5) 按照要求书写实验报告; 3、实验内容:1) 分别用复化梯形公式和复化辛普森公式计算定积分,研究随着n 增加各自误差的减少规律dx e I x ⎰+=201,取n=2,4,8,16,精确值为I=4.0069942) 用复化辛普森公式计算积分dx xxI ⎰=10sin 。
3) 附加题:用四阶经典龙格-库塔公式求微分方程初值问题的数值解(取步长h=0.01):(2.00≤≤x )⎪⎩⎪⎨⎧===--0)2.0(,493)0(0)293(3100'22T T T dx dT 4、题目:数值积分5、原理:(1) 复化梯形公式将区间],[b a 等分成N 个子区间],[1+k k x x )1,,1,0(-=N k ,Nab h -=,在每个区间],[1+k k x x 上用梯形公式 )]()([2)(11++==⎰+k k x x k x f x f hdx x f I k k相加后得复化梯形公式)]()(2)([2)(11b f x f a f hdx x f N k k ba++≈∑⎰-=N T 记为其中kh a x k +=)1,,1,0(-=N k 。
右端记为N T 。
当∞→N 时,→+=∑∑=-=])()([21110Nk k N k k N h x f h x f T⎰⎰⎰=+b a b a badx x f dx x f dx x f )(])()([21即N T 收敛于⎰badx x f )(。
数值积分-1
![数值积分-1](https://img.taocdn.com/s3/m/3ce1d246f7ec4afe04a1df35.png)
118第四章 数值积分与积分应用定积分的引入可以从面积求和开始。
当分割的区间无穷小时,求和就转化为积分。
积分的上下限就是我们的积分区间。
尽管我们已经学习了许多积分方法,但还有很多函数的原函数由于不能用初等函数表达而“积不出来”,例如。
特别是对离散的数据或图形表达的函数进行积分演算时,就要求助于数值积分的计算方法。
实验一 数值积分问题:对于定积分()baf x dx ⎰,如果相应的不定积分()f x dx ⎰不易求出,或者根本不可能表示为初等函数时,那么就只能用近似数值计算的办法求定积分的值了。
求定积分的方法很多,例如矩形法、梯形法、抛物线法高斯法、龙贝格法等。
实验目的:学会用Maple 语句按左矩形法、右矩形法、梯形法与辛普森法求某些不可积函数定积分的近似值。
实验准备:Maple 中的有关命令,如下: evalf(int(f(x),x=a..b)或evalf(Int(f(x),x=a..b): 如果Maple 无法解出积分的符号解,可用该命令求积分的数值解;leftbox(f(x),x=a..b,n,options): 画出n 个用以逼近积分值的小矩形,积分区间为a 到b ,而矩形的高度则由函数在矩形左边的值决定,我们称这些小矩形为左接矩形,即leftbox ;leftsum(f(x),x=a..b,n): 求出n 个用以逼近积分值的小矩形的面积总和;rightbox(f(x),x=a..b,options): 画出右接小矩形来逼近定积分; rightsum(f(x),x=a..b,n): 求出右接小矩形的面积总和; trapezoid(f(x),x=a..b,n): 以梯形法求()baf x dx ⎰,取n 个相等间距;119simpson(f(x),x=a..b,n): 以辛普森法求()baf x dx ⎰,取n 个相等间距。
一般要计算定积分()baf x dx ⎰,也就是计算由曲线()y f x =与直线0,,y x a x b ===所围成的曲边梯形的面积,需要用一组平行于y轴的直线(0121(0,i n n x x i n a x x x x x b -=≤≤=<<<<<= )将曲边梯形分成n 个小曲边梯形,总面积s 分成这些小曲边梯形面积之和。
数值积分实验报告1
![数值积分实验报告1](https://img.taocdn.com/s3/m/ff029fc16137ee06eff91811.png)
数学与计算科学学院实验报告实验项目名称数值积分所属课程名称数值计算实验类型验证实验日期2012年10月11日班级学号姓名成绩一、实验概述:【实验目的】【实验原理】【实验环境】二、实验内容:【实验方案】方案一:用复合求积公式验证P85例题4.1,比较各方法的精度。
方案二:用复合求积公式P103 习题2(1)(2)(3),比较个方法的精度;分别讨论当区间n等分,当n=10, 100,时比较n取值不同时对数值精度的影响的结果。
【实验过程】(实验步骤、记录、数据、分析)(一):使用C++运行程序得:显然,各方法的精度大小关系是:梯形公式<辛普森公式<复合梯形公式<复合辛普森公式。
(二):先用积分计算出1115718.0|)4ln(21(214102104)10222=+==+⎰⎰+x xx x dx xd 运行C++程序得到:显然各方法的精度大小关系也是:梯形公式<辛普森公式<复合梯形公式<复合辛普森公式。
(1)当n=10时,运行C++程序得:(2)当n=100时,运行C++程序得:由上两幅图可以看出:n取不同值时,梯形公式,辛普森公式,和复合辛普森公式的精度不受影响,复合梯形公式的精度会随着n的增大而有所提高;【实验结论】(结果)各方法的精度大小关系是:梯形公式<辛普森公式<复合梯形公式<复合辛普森公式。
n取不同值时,梯形公式,辛普森公式,和复合辛普森公式的精度不受影响,复合梯形公式的精度会随着n的增大而有所提高,当n取足够大时,复合梯形公式的精度可能会超过复合辛普森公式。
【实验小结】(收获体会)三、指导教师评语及成绩:评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序#include"stdio.h"#include"math.h"double f(double x){return(x/(4+x*x));}void main(){int n,i;double T,s,Tn,Sn,sum;double a,b,h;printf("please input :");scanf("%lf,%lf,%d",&a,&b,&n);h=1.0*(b-a)/n;T=(f(a)+f(b))/2*(b-a);s=(b-a)/6*(f(a)+4*f((a+b)/2)+f(b));sum=0;for(i=1;i<n;i++)sum=sum+2*f(a+i*h);sum+=f(a)+f(b);Tn=sum*h/2;sum=0;for(i=1;i<n;i++){ if(i%2==0)sum=sum+2*f(a+i*h);elsesum=sum+4*f(a+i*h);}sum+=f(a)+f(b);Sn=sum*h/3;printf("T=%lf; s=%lf;\nTn=%lf; Sn=%lf\n",T,s,Tn,Sn);}附录2:实验报告填写说明1.实验项目名称:要求与实验教学大纲一致。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
探索实验7 数值积分法一、 实验目的了解求积公式及代数精度概念,理解并掌握求定积分的求积公式的算法构造和计算,学习用计算机求定积分的一些科学计算方法和简单的编程技术和能用程序实现这些算法。
二、概念与结论1. 求积公式:计算定积分的如下形式的近似公式:称为求积公式。
2.代数精度:若求积公式对一切不高于m 次的 多项都准确成立,而对于m+1次多项式等号不成立,则称此求积公式 的代数精度为m 。
代数精度越高,求积公式越好。
3.求积余项:4.Newton-Cotes 求积公式的代数精度 n 点Newton-Cotes 求积公式的代数精度至少可以达到n-1,且当n 为奇数时,可以达到n 。
5.Richardson 外推定理:设函数F 1(h)逼近量F*的余项为:F*-F 1(h)=a 1h p1+a 2h p2+····+a k p k +···式中p k >p k-1>···>p 2>p 1>0, F*和a i (i=1,2, ···)都是与h 无关的常数,且k ≥1时,a k ≠0,则由:定义的函数F 2(h)也逼近F*,且有F*-F 2(h)= b 2h p2+····+b k p k +···6. 关于复合梯形公式的展开定理设f(x)在[a,b]区间上无穷次可微,则有如下展开式:⎰∑=≈ba nk k k x f A dx x f 1)()(⎰∑=≈ba nk k k x f A dx x f 1)()()10(1)()()(11112<<--=q q h F q qh F h F p p ⎰∑=-=b a nk k k x f A dx x f f R 1)()()(⎰=b a dxx f I )(T(h)=I+a 1h 2+a 2h 4+a 3h 6+…+a m h 2m +…式中T(h)是函数f(x)在[a,b]区间上的复化梯形值Tn,三、程序中Mathematica 语句解释:1. 随机函数Random[] 随机给出闭区间[0,1]内的一个实数Random[Real, xmax] 随机给出闭区间[0,xmax]内的一个实数Random[Real, {xmin, xmax}] 随机给出闭区间[xmin,xmax]内的一个实数 Random[Integer] 随机给出整数0或1Random[Integer, {xmin, xmax}] 随机给出xmin 到xmax 之间的一个整数Random[Complex] 随机给出单位正方形内的一个复数2.{a1,a2,…,an}表示由元素a1,a2,…,an 组成的一个表,元素可以是任何内容。
如:{1,3,4,5},{1,x,{2,3},x+y},{{1,3},{1,2,3},{3,2,4}}等3.list[[k]]表list 中的第k 个元素4.list[[i,j]]表list 中第i 个元素中的第j 个元素,此时list 中的第i 个元素应该也是一个表。
四、方法与程序在实际问题中,往往会遇到被积函数f(x)的原函数无法用初等函数来表示,或函数只能用表格表示,或有的虽然能用初等函数表示,但过分复杂,所以这些情形都需要去建立定积分的近似计算公式来做积分计算。
数值积分是进行定积分计算的一种方法,它可以解决不能用定积分基本公式计算的所有定积分问题。
数值积分涉及很多计算公式,这里主要介绍Newton-Cotes 求积公式、复合求积公式、Romberg 求积方法和Monte-Carlo 方法的构造过程和算法程序。
1. n 点 Newton —Cotes 求积公式n 点 Newton —Cotes 求积公式又称为等距节点求积公式,它是利用被积函数f(x)在积分区间[a,b]的n 个等分节点上的函数值构造的插值函数ϕ(x)代替f(x)做定积分计算所构造求积公式。
这个求积公式是通常做定积分近似计算的梯形公式和抛物线公式的推广,主要在理论上用的多些。
1.1 n 点 Newton —Cotes 求积公式的构造过程:将积分区间[a,b] 分为n-1等分,其中n 个节点 x i =a+(i-1}h, i=1,2,…,n ,h=(b -a)/(n-1),然后用f(x)在这n 个节点上建立插值于f(x)的n-1次代数多项式P n-1(x),引入变换x=a+th, 0≤t ≤n-1则有)1)(())(()(,11,111∏∑∏∑≠==≠==--+-=--=n i k k n i i ni k k k i k n i i n k i k t x f x x x x x f x P带入定积分,有:C k (n)称为Cotes(柯特斯)系数, 则得到n 点 Newton —Cotes 求积公式:n 点 Newton —Cotes 求积公式的求积余项为当n=2时,2点的 Newton —Cotes 求积公式就是如下梯形公式:梯形求积公式求积余项为当n=3时,3点的Newton —Cotes 求积公式就是如下抛物线(Simpson )公式:Simpson 求积公式求积余项为如果想得到其他的 Newton —Cotes 求积公式只要在有关书中查出Cotes 系数表就可以马上得到相应的Newton —Cotes 求积公式。
⎰∑=-≈ba n k k n k x f C ab dx x f 1)()()()())()((2)(b f a f a b dx x f b a +-≈⎰))()2(4)((6)(b f b a f a f a b dx x f b a +++-≈⎰⎰∏⎰∏∑⎰∏∑⎰⎰-≠=-≠==≠==--+--=-+---=--=≈10,1)(10,11,111111)1)((1))(()()(n ni k k n i n n i k k ni i b a ni k k k i k n i i b a n ba dtk i k t n c dt k i k t x f n a b dx x x x x x f dx x P dx x f 令dx x x x x x x n f f R n b a n )())((!)()(21)(---=⎰ξ],{)()(121)(3b a f a b f R ∈''--=ηη],{)()(28801)()4(5b a f a b f R ∈--=ηη1.2 n点 Newton—Cotes求积公式算法:1.输入被积函数f(x)及积分上下限a,b2.选择Cotes系数构造求积公式3.用求积公式求定积分1.3 n点 Newton—Cotes求积公式程序:Clear[a,b,x,n,s];a=Input["a="]b=Input["b="]f[x_]=Input["被积函数f(x)="]n= Input["求积节点个数n="];c={{1/2,1/2},{1/6,4/6,1/6},{1/8,3/8,3/8,1/8},{7/90,16/45,2/15,16/45,7/90},{19/288,25/96,25/144,25/144,25/96,19/288},{41/840,9/35,9/280,34/105,9/280,9/35,41/840},{751/17280,3577/17280,1323/17280,2989/17280,1323/17280,3577/17280,751/17280},{989/28350,5888/28350,-928/28350,10496/28350,-4540/28350,10496/28350,-928/28350,5888/28350,989/28350}};h=(b-a)/(n-1);x=Table[a+k*h,{k,0,n-1}];s=(b-a)*Sum[c[[n-1,k]]*f[x[[k]]],{k,1,n}]Print["定积分=",N[s,8]];说明:本程序用n(n=2,3,4,5,6,7,8,9)点 Newton—Cotes求积公式求[a,b]上的定积分近似值。
程序执行后,按要求通过键盘输入积分下限a、积分上限b、被积函数f(x)和求积节点个数n后,计算机则给出定积分的近似值。
程序中变量说明:a:存放积分下限b: 存放积分上限f[x]: 存放被积函数f(x)n: 存放求积节点个数c: 存放Cotes系数s: 存放定积分近似值h: 存放节点步长x:存放节点xi注:语句c={{1/2,1/2},{1/6,4/6,1/6},{1/8,3/8,3/8,1/8},{7/90.16/45,2/15,16/45,7/90},{19/288,25/96,25/144,25/144,25/96,19/288}}的第i个分量表是具有i个节点的Cotes系数。
1.4 例题与实验例1. 用n=3和n=4的Newton-Cotes 求积公式求定积分的近似值。
解:执行n 点 Newton —Cotes 求积公式程后,在输入的窗口中按提示分别输入1、3、Exp[-x/2]、3,每次输入后用鼠标点击窗口的“OK ”按扭,计算机在屏幕上给出用n=3的Newton-Cotes 求积公式计算出的定积分结果:1 2 12 (------ + --- + --------- )6E 3/2 3 E 6 Sqrt[E]定积分=0.76705953再执行n 点 Newton —Cotes 求积公式程后,在输入的窗口中按提示分别输入1、3、Exp[-x/2]、4,每次输入后用鼠标点击窗口的“OK ”按扭,计算机在屏幕上给出用n=4的Newton-Cotes 求积公式计算出的定积分结果:1 3 3 12 (------ + ------ + ------ + ----------)8E 3/2 8E 7/6 8E 5/6 8 Sqrt[E]定积分=0.76691628因此用n=3和n=4的Newton-Cotes 求积公式求本题定积分近似值分别为0.76705953和0.76691628注意到本题的精确值为0.766800999….,可见n=4的Newton-Cotes 求积公式计算结果较好。
2. 复化求积公式复化求积公式是把积分区间分成若干小区间,在每个小区间上采用次数不高的插值公式,如梯形公式或抛物线公式,构造出相应的求积公式,然后再把它们加起来得到整个区间上的求积公式。