求积的近似数

求积的近似数
求积的近似数

《求积的近似数》电化教学设计

一、教学内容:

小学数学教材

二、教学设计:

求积的近似数是在学生已掌握了小数乘除法的计算方式,用“四舍五入”法求数的近似值的基础上,学习求积的近似值。本堂课要让学生知道根据实际需要取近似值,并进一步掌握用“四舍五入”法来截取小数的近似值;教材中还渗透了近似值的取值范围、精确度等知识。因此在教学设计上,根据学生的特点和教材的只是结构,通过“数学抽象、符号变换、数学应用”的教学过程教学;培养和发展学生的数学基础能力,初步的创新能力;运用学具,数行结合构建数学模型,帮助学生克服学习中的难点的同时,充分利用多媒体这一教学手段,突破重难点,优化教学手段。

在教学求积的近似数运用计算机多媒体教学,在这节课中主要是体现两点优化:其一,提供直观生动形象的教学情境,让学生如临其境,主动地建构知识,培养学生实事求是的科学态度,辨证地理解生活中的数学现象,培养他们处理实际问题的能力。其二,让本节课有个抢眼的亮点,投影几次出示放大的数轴,这种教学模型,在这里,它是用图象语言形象、表达抽象的数学概念的一种手段。教学模型既抽象又形象,它是实际问题数学化的“桥梁”,也是小学生掌握比较抽象的数学知识、攀登“数学大楼”的“梯子”。从思维训练的角度看,这里数行结合,调动了学生的形象思维和逻辑思维,两种思维协同作用,大大提高了学习的效率。

三、教学目标分解图:

四、教学重难点:

1、重点:求积的近似值的方法;

2、难点:一个数取不同的近似值时,所表示的精准度是不同的。

五、电教媒体运用情况:

六、教学过程:

㈠导入新课

投影出示:“2元商店”里的各种商品:圆珠笔、勺子、小皮球、塑料盒子、文具盒等。同时播放促销广告:“一件2元,件件2元”。

接着投影出示:“百货商店”里各种货品的标价。

师:2元商店里的货品,在百货商店里卖多少元?

生:圆珠笔2.05元、勺子2.45元、小皮球2.18元、塑料盒子2.35元、文具盒2.25元等。

师:你们猜猜:“2元商店”里的价钱是把“百货商店”里的价钱,采用了什么数学方法后得到的。

生:运用了“四舍五入”法取整得到的。

师:对,今天我们继续学习“四舍五入”法,同时出课题:“求积的近似数”。

㈡自学思考

师:我们先学习例1,请同学们带着思考题云自学,有什么问题请提出来。

例1:小华和小英到纸张店去买彩色的书面纸。小华买了14张,小英买了17张,每张纸的价钱是0.231元。两人各应付多少元?

思考题:

⑴为什么要取近似值?

⑵怎样根据要求运用“四舍五入”法?

⑶一个三位小数的近似值是3.23,这样的三位小数有哪些?怎样简便地表示它们?

⑷在表示近似值的情况下,为什么5.0末尾的“0”不能去掉?

自学后,有学生提出:为什么说5.0比5精确?

㈢讨论探究

在学生求知的积极性调动起来后,组织学生四人一组,分组展开讨论。

1、结合例1,说说为什么要取近似值。

生:我根据单价×数量=总价,算出小华应付的钱:

0.231×14=3.234≈3.23(元)。

小英应付的钱:0.231×17=3.927≈3.93(元)。

师:这里为什么要取近似值?

生:因为人民币常用的单位是元、角、分,3.234元就是3元2角3分4,人民币的最小单位是“分”,所以,根据具体情况,要把4舍去,约等于3.23元。

生:在实际应用中,小数乘法或除法所得的积或商,常常遇到小数位数太多,但实际并不需要的情况。所以要取它的近似值。

2、怎样用“四舍五入”法截取近似值?

师:得数保留两位小数,该怎样“四舍五入”?

生:得数保留两位小数,要把千分位上的数字“四舍五入”。如上面的 3.234,把千分位上的“4”舍去,得3.23,表示精确到百分位。又如上面的3.927,把千分位上的“7”去掉,同时向前一位(百分位)上的2进1,得3.93,表示精确到百分位。

投影出示:4.951(保留两位小数),把千分位上的“1”舍去。约等于4.95,表示精确到百分位。

再显示出:4.9⑤1(保留一位小数)≈

生:4.951(保留一位小数),把百分位上的“5”去掉,同时向前一位(十分位)进1,约等于5.0,表示精确到十分位。

接着再显示出:4.⑨51(保留整数)≈

生:4.951(保留整数),把十分位上的“9”去掉,同时向前一位(个位)进1,约等于5,表示精确到个位。

师:根据不同要求,怎样运用“四舍五入”法?

生:得数保留整数,表示精确到个位,所以,要把十分位上的数四舍五入。得数保留一位小数,表示精确到十分位,所以,要把百分位上的数四舍五入。得数保留两位小数,表示精确到百分位,所以,要把千分位上的数四舍五入……

师:谁能用一句话简明扼要地说说怎样用“四舍五入”法取近似值。

生:取近似值时,要把精确到的数位右边一位上的数四舍五入。

师:对,讲得很好。我们来做个练习。(课本76页);

按要求取下列各数的近似值:

5.995(保留两位小数)≈

3.949(保留一位小数)≈

4.904(保留整数)≈

㈣近似值的取值范围和精确度

师:我们继续讨论第⑶题:近似值是3.23的三位小数有哪些?

生:我们小组是采用先举出一个数,再用“四舍五入”法保留两位小数,看它是否得3.23。如3.225,“四舍五入”保留两位小数是3.23,查出这样的三位小数有3.225,3.226,3.227,3.228,3.229,3.230,3.231,3.232,3.233,3.234共10个。

生:这10个数都是大于或等于3.225,而且又都小于3.235的三位小数。

师:对,表达得非常确切。请在你们的直尺上指出下列各近似数的取值范围:0.1,0.10,0.100。

生:等于0.05或大于0.05且小于0.15(不包括0.15)的数,都可以用“四舍五入”法得到近似数0.1。

(0.10,0.100的回答类此,略)

根据学生的回答。投影显示出放大的直尺:

师:哪个近似数的取值范围最接近0.1?

生:0.100的取值范围最接近0.1。

师:哪个近似数的精确度最高?

生:因为0.1m=1dm,表示精确到1分米,

0.10m=10cm,表示精确到1厘米,

0.100m=100mm,表示精确到1毫米。

就是说,用分米去量,至多误差0.5分米;用厘米去量,至多误差0.5厘米;用毫米去量,至多误差0.5毫米。因为1毫米<1厘米<1分米,所以用毫米量误差最小,精确度最高。可见0.100的精确度最高。

师:现在你能回答为什么近似数5.0末尾的“0”不能去掉,5.0比5精确了吗?

生:因为5.0表示精确到十分位,5表示精确到个位,精确度不同。

生:我用长度单位来考虑。

5.0米=50分米,5米=5米,5.0米就是精确到1分米,用分米量,误差最多0.5分米,5米表示精确到1米,用米量误差0.5米。

因为0.5分米比0.5米小,所以5.0比5精确。

生:近似数5表示大于或等于4.5,且小于5.5的许多数;近似数5.0表示大于或等于4.95,且小于5.05的许多数;我们用数轴表示如下:

从图上可以看出5表示的数的范围大,5.0表示的范围小,而且都在5的附近,所以,5.0比5精确。

练一练:

投影出示选择题:

⑴近似数0.6,0.60,0.600这三个数()。

A.相等

B.不相等

C.0.600最大

D.大小相等,但精确度不同。

生:选D。因为根据小数的性质,0.6=0.60=0.600;0.6精确到十分位,0.60精确到百分位,0.600精确到千分位,所以,这三个近似数的精确度不同。

⑵计算下列各题,得数保留两位小数。

0.092×8.0565.3×0.508

㈤师生共同小结

1.在实际应用中,小数乘法(或除法)所得的积(或商)常常遇到小数位太多但实际并不需要的情况。这时可以根据要求或具体情况,同“四舍五入”法保留一定的小数位数,取它的近似值。表示近似值的数叫“近似数”。

2.相对于近似数来说,“我们班上有57名同学”,“课堂中此刻只有一位老师在上课”,这里的57,1都是“准确数”。准确数是一个确定的数,而近似数的取值有一定的范围,在这个范围内的各数,可以用同一个近似数表示。

有同学问:“近似数的精准度是不是越高越好?”有同学说:“当然罗!我国研制的…神州号?宇宙飞船,有十几万个数据要保留9位小数,只要一个数据达不到这种精准度,就要影响整个宇宙飞船的制造。”可是另一位同学说:“如果支付人民币,一般算到分,也就是只要两位小数,也就可以了”。老师说:“两种意见都是对的,怎样把两种意见统一起来呢?”大家沉思之后,得出一致的结论:近似数的精准度高低,要根据实际情况来决定。

这样,矛盾解决了,同学们带着兴奋的心情,热烈地鼓起掌来。

㈥课外作业

师:近似数在我们的生活中普遍存在着,它有着广泛的用处。课外同学们可以在家庭、学校和社会上,从书本、报刊或广播中,找找看,你看到了哪些近似数?它在实际生活中是怎样应用的?下次课上交流。

matlab实现复化NewtonCotes公式求积分的程序应用和代码

执行函数为1、使用方法: Step1:在MATLAB命令窗口输入被积函数 2 1 2 t t e dt 。 输入应为:。 Step2:执行函数。输入形式为mymulNewtonCotes(ft,a,b,m,n); 其中ft—被积函数,此体重,已经在第一步赋值; a—积分下限,本题中为0; b—积分上限,本题中为1; m—将区间[a,b]等分的子区间数量,本题可选为10; n—采用的Newton-Cotes公式的阶数,必须满足n<8,否则积分没法保证稳定性。 当n=1时,即为复化梯形公式;n=2时,即为复化复化辛普森公式。 所以,分别输入mymulNewtonCotes(ft,0,1,10,1)和mymulNewtonCotes(ft,0,1,10,2)就可以得到两种方法的积分计算结果。 2、计算结果 而根据积分运算,可得: 说明复化梯形和复化辛普森公式计算出的结果基本一致,与实际结果相符。 3、程序代码 functionyy=mymulNewtonCotes(ft,a,b,m,n) %复化Newton-Cotes数值积分公式,即在每个子区间上使用Newton-Cotes公式,然后求和, %参考的输入形式为mymulNewtonCotes(ft,0,1,10,2) %参数说明: %ft——被积函数,此题中ft=@(t)t.*exp(t^2/2) %a——积分下限 %b——积分上限 %m——将区间[a,b]等分的子区间数量 %n——采用的Newton-Cotes公式的阶数,必须满足n<8,否则积分没法保证稳定性 %(1)n=1时为复化梯形公式

%(2)n=2时为复化辛普森公式 xx=linspace(a,b,m+1); forl=1:m s(l)=myNewtonCotes(ft,xx(l),xx(l+1),n); end yy=sum(s); function[y,Ck,Ak]=myNewtonCotes(ft,a,b,n) %牛顿-科特斯数值积分公式 %Ck——科特斯系数 %Ak——求积系数 %y——牛顿-科特斯数值积分结果 xk=linspace(a,b,n+1); forj=1:n+1 ff(j)=ft(xk(j)); end %计算科特斯系数 fori=1:n+1 k=i-1; Ck(i)=(-1)^(n-k)/factorial(k)/factorial(n-k)/n*quadl(@(t)intfun(t,n,k),0,n); end %计算求积系数 Ak=(b-a)*Ck; %求和算积分 y=Ak*ff'; functionf=intfun(t,n,k) %科特斯系数中的积分表达式 f=1; fori=[0:k-1,k+1:n] f=f.*(t-i); end

祖暅求积法

祖暅求积法 祖暅(音gèng),一名祖暅之,是祖冲之的儿子,他的活动时期大约在公元504—526年.祖氏父子在数学和天文学上都有杰出的贡献. 祖暅的主要工作是修补编辑祖冲之的《缀术》.他推导球体积公式的方法非常巧妙. 根据中国算书《九章算术》中李淳风的注释,下面我们使用现代的术语,并将原来的图形略加修改,把祖暅当时推导球体积公式的方法介绍如下: .底面OABC是一个正方形,边长为r(图2-18).高作一个几何体V 1 取一点S,过点S与底面平行的截面为SPQR,设它的边长为a,OS为h,则截面面积a2=r2-h2.

另取一个边长为r的正方体V 2 (图2-19),连结O′D′,O′C′,O′A′, 锥体O′-A′B′C′D′记作V 3,V 2 -V 3 是正方体O′D′挖去锥体O′-A′B′C′ D′剩下的几何体.下面来证明 V 1=V 2 -V 3 . 设平行于底面与底面距离为h的平面,截V 2 的截面是正方形P′TS′M,面 积等于r2,截V 3 的截面是正方形Q′TR′N,面积等于h2(因为Q′T=O′T=h),所以这两个正方形的差形成曲尺形P′Q′NR′S′M,它的面积等于r2-h2. 比较V 1与V 2 -V 3 在等高(h)处的截面,它们的面积都是r2-h2,因此体积相等, 即V 1=V 2 -V 3 . 祖暅原理的原文是“幂势既同,则积不容异.”“幂”是截面积,“势”是 几何体的高.意思是:两个同高的几何体,如果与底等距离的截面积总相等,那么几何体的体积相等.这就是现在说的:夹在两个平行平面间的两个几何体,被平行于这两个平面的任意平面所截,如果截得的两个截面的面积总相等,那么这两个几何体的体积相等. 积为V 4(是未知数).和V 1 比较,在高h处的截面积C″EF是以a为半

数值分析—龙贝格算法

数值分析 实 验 报 告 专业:信息与计算科学 班级: 10***班 学号: 1008060**** 姓名: ******

实验目的: 用龙贝格积分算法进行积分计算。 算法要求: 龙贝格积分利用外推方法,提高了计算精度,加快了收敛速度。 1--4R R R R 1-j 1-j 1-k 1-j k 1-j k j k ,,,,+= ,k=2,3,… 对每一个k ,j 从2做到k ,一直做到|R R 1-k 1-k k k -,,| 小于给定控制精 度时停止计算。 其中: T R h k 1k =,(复化梯形求积公式),2h 1-k k a -b = 程序代码: #include #include #define M 10 static float a, b, T[M], S[M], C[M], R[M]; float f(float x) { float y; if(0.0 == x) { x = 0.0000001f; } y = (float)1/sqrt(1-x*x); return y; } int p(int n) { int i=0,t=1;

while(t!=n) { t*=2; ++i; } return i; } float t(int n) { float g,h,q=0; if(1==n) { h = (float)fabs(b-a); q = (f(a)+f(b))*h/2; } else { float x = a; g = 0; h = (float)fabs(b-a)*2/n; x = x+h/2; while(x

龙贝格算法的matlab实现

作业三——龙贝格算法的matlab实现程序流程图:

程序源代码: 文件f.m function fx = f(x) if x == 0 fx = 1; else fx = sin(x) / x; end end 文件longbeige.m clc clear all; format long a=input('请输入你要求得积分的下限:'); b=input('请输入你要求得积分的上限:'); e=input('请输入你要求得积分的结束精度:'); k=input('请输入你要求得积分的最大次数:'); fx=@(x)sin(x)/x; lbg(@f,a,b,k,e) 文件lbg.m function lbg(fx,a,b,k,e) T=zeros(k,k); T(1,1)=(b-a)*(1+fx(b))/2; for i=1:k m=0; for j=1:2^(i-1) m=m+fx(a+(2*j-1)*(b-a)/(2^i)); end T(i+1,1)=0.5*T(i,1)+(b-a)*m/2^i; for n=1:i T(i+1,n+1)=(4^n*T(i+1,n)-T(i,n))/(4^n-1); end if abs(T(i+1,i+1)-T(i,i))<=e & i>=4 break; else ; end end for i=1:k

if T(i,1)==0 j=i; break; else ; end end if j==k error('所求次数不够或不可积') else ; end T=T(1:j-1,1:j-1) disp('所求的积分值为:') disp(T(j-1,1))

龙贝格公式和辛普森公式和复合梯形公式

实验八数值积分 信息与计算科学金融崔振威201002034031 一、实验目的: 1、掌握数据积分算法设计及程序实现 二、实验内容: 1、p290-1、p301-2 三、实验要求: 主程序: 复合梯形公式: function [I,step,h2] = CombineTraprl(f,a,b,eps) %f 被积函数 %a,b 积分上下限 %eps 精度 %I 积分结果 %step 积分的子区间数 if(nargin ==3) eps=1.0e-4; end n=1; h=(b-a)/2; I1=0; I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps n=n+1; h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 x=a+h*i; x1=x+h; I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1)); end end I=I2; step=n; h2=(b-a)/n;

function [I,step,h] = IntSimpson(f,a,b,type,eps) %type = 1 辛普森公式 %type = 2 辛普森3/8公式 %type = 3 复合辛普森公式 if(type==3 && nargin==4) eps=1.0e-4; %精度为0.0001 end I=0; switch type case 1, I=((b-a)/6)*(subs(sym(f),findsym(sym(f)),a)+... 4*subs(sym(f),findsym(sym(f)),(a+b)/2)+... subs(sym(f),findsym(sym(f)),b)); step=1; case 2, I=((b-a)/8)*(subs(sym(f),findsym(sym(f)),a)+... 3*subs(sym(f),findsym(sym(f)),(2*a+b)/3)+ ... 3*subs(sym(f),findsym(sym(f)),(a+2*b)/3)+subs(sym(f),findsym(sym(f)),b)); step=1; case 3, n=2; h=(b-a)/2; I1=0; I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps n=n+1; h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 x=a+h*i; x1=x+h; I2=I2+(h/6)*(subs(sym(f),findsym(sym(f)),x)+... 4*subs(sym(f),findsym(sym(f)),(x+x1)/2)+... subs(sym(f),findsym(sym(f)),x1)); end end I=I2; step=n; end

数值分析与实验复化辛卜生公式龙贝格算法

数值分析与实验课程设计 班级: 姓名: 学号:

08级应用数学《数值分析与实验(实践)》任务书 一、设计目的 通过《数值分析与实验(实践)》实践环节,掌握本门课程的众多数值解法和原理,并通过编写C语言或matlab程序,掌握各种基本算法在计算机中的具体表达方法,并逐一了解它们的优劣、稳定性以及收敛性。在熟练掌握C语言或matlab语言编程的基础上,编写算法和稳定性均佳、通用性强、可读性好,输入输出方便的程序,以解决实际中的一些科学计算问题。 二、设计教学内容 1、数值方法的稳定性; 2、禾U用牛顿法和割线法程序求出非线性方程的解,并比较它们之间的优 劣; 3、高斯消去法和列主元高斯消去法求解线性方程组; 雅克比法和高斯-赛德尔迭代法解方程组; 4、利用Lagrange插值多项式求未知点的近似值; 5、利用所给数据进行数据的多项式和可转化成多项式形式的函数拟合; 6、编写复化辛卜生公式和龙贝格算法,通过实际计算体会各种方法的精确 \ 度; 7、利用改进Euler方法和四阶Runge-Kutta方法求解初值问题的微分方程组; &利用幕法求矩阵按模最大的特征值及对应特征向量; \ (8个中选取1个) 二、设计时间 2011 —2012学年第1学期:第16周共计一周 教师签名: 2011年12月12日

、八 刖 数值计算方法是一种利用计算机解决数学 .言 问题的数值近似解方法, 特别是无法用人工过计算器计算的数学问题。数值计算方法常用于矩阵高次代数方程矩阵特征值与特征向量的数值解法,插值法,线性方程组迭代法,函数逼近,数值积分与微分,常微分方程初值问题数值解等。 作为数学与计算机之间的一条通道,数值计算的应用范围已十分广泛,作为用计算机解决实际问题的纽带,数值算法在求解线性方程组,曲线拟合、数值积分、数值微分,迭代方法、插值法、拟合法、最小二乘法等应用广泛。 数值计算方法是和计算机紧密相连的,现代计算机的出现为大规模的数值计 算创造了条件,集中而系统的研究适用于计算机的数值方法是十分必要的。数值计算方法是在数值计算实践和理论分析的基础上发展起来的。 通过数值计算方法与实验将有助于我们理解和掌握数值计算方法基本理论和相关软件的掌握,熟练求解一些数学模和运算,并提高我们的编程能力来解决实际问题。

龙贝格算法

龙贝格算法 一、问题分析 1、1龙贝格积分题目 要求学生运用龙贝格算法解决实际问题(塑料雨篷曲线满足函数y(x)=l sin (tx),则给定雨篷得长度后,求所需要平板材料得长度). 二、方法原理 2、1龙贝格积分原理 龙贝格算法就是由递推算法得来得。由梯形公式得出辛普生公式得出柯特斯公式最后得到龙贝格公式. 在变步长得过程中探讨梯形法得计算规律.设将求积区间[a,b]分为n个等分,则一共有n+1个等分点,n.这里用表示复化梯形法求得得积分值,其下标n 表示等分数。 先考察下一个字段[],其中点,在该子段上二分前后两个积分值 显然有下列关系 将这一关系式关于k从0到n-1累加求与,即可导出下列递推公式 需要强调指出得就是,上式中得代表二分前得步长,而 梯形法得算法简单,但精度低,收敛速度缓慢,如何提高收敛速度以节省计算量,自然式人们极为关心得. 根据梯形法得误差公式,积分值得截断误差大致与成正比,因此步长减半后误差将减至四分之一,既有 将上式移项整理,知

由此可见,只要二分前后两个积分值与相当接近,就可以保证计算保证结果计算结果得误差很小,这种直接用计算结果来估计误差得方法称作误差得事后估计法。 ?按上式,积分值得误差大致等于,如果用这个误差值作为得一种补偿,可以期望,所得得 应当就是更好得结果。 ?按上式,组合得到得近似值直接验证,用梯形二分前后得两个积分值与按式组合,结果得到辛普生法得积分值。 再考察辛普生法。其截断误差与成正比.因此,若将步长折半,则误差相应得减至十六分之一。既有 由此得 不难验证,上式右端得值其实就等于,就就是说,用辛普生法二分前后得两个积分值与,在按上式再做线性组合,结果得到柯特斯法得积分值,既有 重复同样得手续,依据斯科特法得误差公式可进一步导出龙贝格公式 应当注意龙贝格公式已经不属于牛顿—柯特斯公式得范畴. 在步长二分得过程中运用公式加工三次,就能将粗糙得积分值逐步加工成精度较高得龙贝格,或者说,将收敛缓慢得梯形值序列加工成熟练迅速得龙贝格值序列,这种加速方法称龙贝格算法。 三、算法设计 3、1龙贝格积分算法 就就是求出,再走一遍求出,根据求出,再走一遍求出,根据求出,根据求出,再走一遍程序求出,根据得出,根据得出,再根据得出,再走一边程序,得出,根据得出,根据得出,再由得出。再根据相减得绝对值小于其精度。那其中为求出得值.

matlab实现复化Newton-Cotes公式求积分的程序应用和代码

执行函数为mymulNewtonCotes.m 1、使用方法: Step1:在MATLAB 命令窗口输入被积函数212 0t t e dt ?。 输入应为:ft=@(t)t.*exp(t^2/2)。 Step2:执行函数。输入形式为mymulNewtonCotes(ft,a,b,m,n); 其中ft —被积函数,此体重ft=@(t)t.*exp(t^2/2),已经在第一步赋值; a —积分下限,本题中为0; b —积分上限,本题中为1; m —将区间[a,b]等分的子区间数量,本题可选为10; n —采用的Newton-Cotes 公式的阶数,必须满足n<8,否则积分没法保 证稳定性。 当n=1时,即为复化梯形公式;n=2时,即为复化复化辛普森公式。 所以,分别输入mymulNewtonCotes(ft,0,1,10,1)和 mymulNewtonCotes(ft,0,1,10,2)就可以得到两种方法的积分计算结果。 2、计算结果 而根据积分运算,可得: 221112 110222 220000() 1.648710.64872t t x x t t e dt e d e dx e e e ====-=-=??? 说明复化梯形和复化辛普森公式计算出的结果基本一致,与实际结果相符。

3、程序代码 function yy = mymulNewtonCotes(ft,a,b,m,n) % 复化Newton-Cotes数值积分公式,即在每个子区间上使用Newton-Cotes公式,然后求和, % 参考的输入形式为mymulNewtonCotes(ft,0,1,10,2) % 参数说明: % ft——被积函数,此题中ft=@(t)t.*exp(t^2/2) % a——积分下限 % b——积分上限 % m——将区间[a,b]等分的子区间数量 % n——采用的Newton-Cotes公式的阶数,必须满足n<8,否则积分没法保证稳定性 % (1)n=1时为复化梯形公式 % (2)n=2时为复化辛普森公式 xx = linspace(a,b,m+1); for l = 1:m s(l) = myNewtonCotes(ft,xx(l),xx(l+1),n); end yy = sum(s); function [y,Ck,Ak] = myNewtonCotes(ft,a,b,n) % 牛顿-科特斯数值积分公式 % Ck——科特斯系数 % Ak——求积系数 % y——牛顿-科特斯数值积分结果 xk = linspace(a,b,n+1); for j = 1:n+1 ff(j) = ft(xk(j)); end % 计算科特斯系数 for i=1:n+1

Vb程序梯形求积法

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' 文件名:梯形求积法.bas ' 模块名:梯形求积法 ' 功能:用复化梯形求积公式计算定积分I=∫f(x)dx的近似值,使迭代法中相邻两项值的相对误差 ' 小于给定的误差限Eps=10^(-6) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' 文件名:梯形求积法.bas ' 模块名:梯形求积法 ' 函数名:TrapeziumIntergal(a, b, s) ' 参数:a ——实型变量,输入参数,积分下限 ' b ——实型变量,输入参数,积分上限 ' s ——实型变量,输出参数,输出积分近似值 ' 功能:以误差限Eps=10^(-6)和最大迭代步数20计算定积分的近似值 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub TrapeziumIntergal(a As Single, b As Single, s As Single) Const Eps As Single = 0.000001 '影响计算速度 Const Jmax As Integer = 20 '影响计算速度 Dim Olds As Single: Olds = -1E+30 Dim j As Integer For j = 1 To Jmax Call TrapeziumIntergalStep(j, a, b, s) If Abs(s - Olds) < Eps * Abs(Olds) Then Exit Sub Olds = s Next j MsgBox "Too many steps." End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' 文件名:梯形求积法.bas ' 模块名:梯形求积法 ' 函数名:TrapeziumIntergalStep(n, a, b, s) ' 参数:n ——整型变量,输入参数,迭代的阶段 ' a ——实型变量,输入参数,积分下限 ' b ——实型变量,输入参数,积分上限 ' s ——实型变量,输出参数,输出第n步的迭代值 ' 功能:用于计算每一步的迭代值 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub TrapeziumIntergalStep(n As Integer, a As Single, b As Single, s As Single) Dim j As Single, it As Single, tnm As Single Dim del As Single, x As Single, sum As Single

复式求积法(计算方法实验报告)

实验名称:实验6 复化求积法 实验题目:测得飞机在高度h 时上升速度v (h )的数据如表所列: 飞机从地面上升到H km 高度所需时间可用公式 dh h v 1t H 0?=)( 分别用复化梯形公式和复化Simpson 公式计算飞机上升到8km 高空所需时间。 实验目的:用复化求积法解决实际问题 基础理论:复化求积公式:复化梯形公式和复化Simpson 公式 实验环境:操作系统:windows 7 实验平台:Visual C++ 实验过程:根据教材书本P-86-92复化求积公式的概念和复化梯形公式和复化Simpson 公式以及算法,在VS2010中编写C++代码,调试并运行程序。 结果分析: 附 录: 程序清单: #include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[]) { return 0; } #include #include #define n 4; using namespace std; void main() { int i; float h,temp,xk,xm,xr,yl,ym,yr; float B[6]={50.0,46.0,40.0,32.2,22.5,10.0}; cout<

复化求积法

复化求积法 1.实验题目 H1/v(h)dh t=∫ 分别用复化梯形公式和复化Simpson公式计算飞机上升到8km高空所需的时间. 2.实验目的 验证复化梯形公式和复化Simpson公式对求积分的数值结果。用C++程序设计语言编程实现这一算法,加深对其的优缺点的理解。 3.基础理论 4.实验环境 Visual C++ 语言 5.实验过程 #include #define f(v) 1/v double g(double x) { double h[6]={0,2,4,6,8,10}; double v[6]={50,46,40,32.2,22.5,10}; for(int i=0;i<6;i++) { if(x==h[i]) return v[i]; if(x

double a=0,b=8; int n=4; int h=2; double t=0; double x=a; double xx=g(x); t=t+f(xx); x=a+h/2; xx=g(x); t=t+4*f(xx); for(int i=0;i=eps) { s=0; for(k=0;k<=n-1;k++) { x=a+(k+0.5)*h; s=s+f(x); } t=t1/2+h*s/2; p=fabs(t1-t); cout<<"步长n为:"<

"<<"Tn="<>eps; result=ffts(a,b,eps); cout<<"经过变步长梯形求积法得方程结果为:"<

数值分析 复化求积 龙贝格 实验报告

实验报告 课程名称:《数值计算方法》 实验名称:数值积分 实验类型:验证性■综合性□设计性□ 实验室名称:数学实验室 班级学号: 09072 学生姓名: 任课教师(教师签名): 成绩: 实验日期:2012年3月29日 一、实验目的及题目 实验目的:掌握利用复化辛普森公式和龙贝格方法计算积分,掌握复化辛普森公式以及龙贝格方法的原理,熟悉matlab的操作。

题目:利用复化辛普森公式和龙贝格方法计算下列积分: 1、dx e x ?-5 .002 2、dx x x ?20 2 sin )2sin(cos π 二、实验原理、程序框图、程序代码等 实验原理: 1、复化求积公式 由于高阶插值的不稳定性,为了提高计算积分的精度,可把积分区间分为若干个小区间, 将()I f 写成这些小区间上的积分之和,然后对每一个小区间上的积分应用到辛普森公式,或柯特斯公式,并把每个小区间上的结果累加,所得到的求积公式就称为复化求积公式。 将求积区间作n 等分,并记,(0),i b a h x a ih i n n -= =+≤≤于是 11 ()()k k n x x k I f f x dx +-== ∑? 并记 1()()k k x k x I f f x dx += ? 1.1复化辛普森公式 记112 1()2 k k k x x x ++ = +,对每一个()k I f 应用辛普森公式,得到复化辛普森公式 11 01102()()2()()4()6n n n k n k k k h S f f x f x f x f x --+==? ?=+++???? ∑∑ 其截断误差为 14 (4) ()()() ()1802n n k k h h I f S f f η-=-=- ∑ 设[]4(),f x C a b ∈,则 (3) (3) 4 1()()[()()]()180 2 n h I f S f f a f b -=- - 1.2、复化柯斯特公式

相关文档
最新文档