6.4 Newton-Cote求积公式

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

数值分析—龙贝格算法

数值分析 实 验 报 告 专业:信息与计算科学 班级: 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

数值计算课程PROJECT- 牛顿-柯特斯公式(Newton-Cotes Methods)

数值计算课程PROJECT 牛顿-柯特斯公式(Newton-Cotes Methods) 例题介绍: 请在MATLAB环境下编写牛顿-柯特斯公式,以求得π的近似值。 Instruction: Using the Newton-Cotes method to solve all the following problems. Solving the problems with MATLAB, printing out your MATLAB code, figures, as well as necessary problem-solving procedures on paper, and submit before final exam. (No late submission is accepted) Students must solve all these questions correctly to get 5 point extra credits, no partial credit is given. Plagiarizing from other’s work will be treated as 0. Problems I: The value of π can be calculated from the integral 1 2121dx x π-=+?(a)Evaluate the integral by using rectangle method, using 60 subintervals. (b)Evaluate the integral by using midpoint method, using 60 subintervals. (c)Evaluate the integral by using trapezoidal method, using 60 subintervals. (d)Evaluate the integral by using Simpson’s 1/3 method, using 60 subintervals. (e)Evaluate the integral by using Simpson’s 3/8 method, using 60 subintervals. (f)Compare the results and discuss the error from each method.

龙贝格算法的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))

辛普森求积公式

摘要 在工程实验及研究中,实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系.可以说,曲线拟合模型与我们的生活生产密切相关. 本课题着重介绍曲线拟合模型及其应用,其中包括它的基本思想、模型的建立、以及具体应用.为了更好的了解曲线拟合模型,可以将它分为线性与非线性模型,在模型建立的基础上我们可以用最小二乘法来解决一些我们日常所应用的问题. 关键词曲线拟合;线性与非线性模型;最小二乘发

目录 引言 (1) 第一章曲线拟合 (2) §1.1 基本思想及基本概念 (2) §1.1.1 方法思想 (2) §1.1.2几个基本概念 (2) §1.2辛普森算法基本定义及其应用 (4) §1.2.1辛普森求积公式的定义 (4) §1.2.2辛普森求积公式的几何意义 (5) §1.2.3辛普森求积公式的代数精度及其余项 (5) §1.2.4辛普森公式的应用 (6) 第二章辛普森求积公式的拓展及其应用 (7) §2.1 复化辛普森求积公式 (7) §2.1.1问题的提出 (7) §2.1.2复化辛普森公式及其分析 (7) §2.1.3复化辛普森公式计算流程图 (8) §2.1.4复化辛普森公式的应用 (9) §2.2 变步长辛普森求积公式 (10) §2.2.1变步长辛普森求积公式的导出过程 (10) §2.2.2变步长辛普森求积公式的加速过程 (12) §2.2.3变步长辛普森求积公式的算法流程图 (13) §2.2.4变步长辛普森公式算法程序代码 (14) §2.2.5变步长辛普森求积公式的应用 (14) §2.2.6小结 (14) §2.2.7数值求积公式在实际工程中的应用 (14) 参考文献 (16) 附录A (17)

代数精度

3、1 数值积分公式与代数精度,Newton-Cotes 求积公式习题 一、填空题 1、辛普生求积公式具有 次代数精度,其余项表达式为 。 (答案:3,4(4)()(),(,)1802b a b a f a b ζζ--- ∈) 2、设()(0,1,2)j l x j n =L 就是区间[a,b ]上的一组n 次插值基函数。则插值型求积公式的代数精度为 ;插值型求积公式中求积系数j A = ;且0n j j A ==∑ 。 (答案:至少就是n,()b k a l x dx ?, b-a ) 3、牛顿—柯特斯求积公式的系数与()0n n k k C ==∑ 。 (答案: 1 ) 二、计算题 1.试确定下列求积公式中的待定系数,指出其所具有的代数精度。 ① 2''0()[(0)()][(0)()]2 h h f x dx f f h h f f h ≈++-?α; ② 101()()(0)();h h f x dx A f h A f A f h --≈-++? 解:①分别将()1,f x x =代入求积公式,易知求积公式精确成立, 代入2()f x x =,令求积公式精确成立,于就是有33 3232 h h h α===-左右,可得112α=, 代入3 ()f x x =,于就是44h =左,444 ,244h h h =-==右左右,求积公式成立, 代入4 ()f x x =,55h =左,544 ,236h h h =-=≠右左右,求积公式不精确成立, 综合以上可知,该求积公式具有三次代数精度。 ②将21(),,f x x x =分别代入求积公式,令求积公式成立,则有 0120222 022023()()A A A h h A A h A A h ?++=???--=????+=? 从而解得0211433 ,A A h A h ===,所求公式至少具有两次代数精度,且进一步有

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

3.2复化求积公式习题及解答

3.2-3.5习题 一、填空题 1. 梯形求积公式和复化梯形公式都是插值型求积公式_____(对或错)。 (答案:错) 2.已知(1)1.2,(2)1.4,f f f = ==,则用复合梯形公式计算求得 3 1 ()f x dx ≈? , (答案:2.75) 3. 已知,在[0, 1] 内 ,有一位整数,用复合 梯形求积公式计算要保证有3位有效数字,至少应将[0, 1]( )等分。 A. 4 B. 5 C. 6 D. 7 4、(1)1,(2)2,(3)2f f f -===-,则[1,2,3]f -=_________,三点高斯求积公式 2 ()f x dx ≈? ______________. 答案: )531(95)1(98)531(95,1213+++-- f f f 二、计算题 1.建立Gauss 型求积公式111220 ()()A f x A f x ≈+? 答案 12120.0455363610.6421930581.035301293 0.964698706x x A A ==== 2. 试确定常数A ,B ,C 和,使得数值积分公式 有尽可能高的代数精度。试问所得的数值积分公式代数精度是多少?它是否为Gauss 型的? 答案: , 该数值求积公式具有5次代数精确度,它是Gauss 型的。 3、用Romberg 算法计算积分3 0?(只作两次外推)。 解:取2,0,3t a b === (0)11 (()())14.230249472 T f a f b =+=, 1t =,0 2(1)(0)1 10 1 111 (()11.17136992 222i T T f a b a =??=++ -= ? ?? ? ∑ ,

高斯求积公式-数值分析课程设计2

一、 引言 介绍高斯型求积公式,并使用其求积分? = 1 sin I xdx 。 要求:数值实验结果要体现出随高斯点的增加误差的变化。 我们知道,求积公式 ? ∑=≈ b a n i i i x f A dx x f 0 ) ()( (1.1) 含有22+n 个待定常数i x 及),,2,1,0(n i A i =,如果它具有n 次代数精确度,则它应使1+m 个方程 m k dx x x A b a k n i k i i ,,2,1,0, == ? ∑ = (1.2) 精确成立。作为插值型求积公式(1.1)它至少具有n 次代数精确度;另一方面,令 ) ())(()(101n n x x x x x x x ---=+ ω,则对22+n 次多项式) ()(2 1x x f n +=ω而言, (7.5.1)右端为零,而左端严格大于零,即(7.5.1)式对22+n 次多项式)(2 1x n +ω不准确成立。但要确定方程组(7.5.2)中的22+n 个待定常数i x 与i A ,最多需要给出 22+n 个独立条件,所以m 最大取12+n 。因此,插值型求积公式(1.1)的代数精确 度最小是n ,最大是12+n . 由此可见,高斯公式的代数精度比牛顿-科特斯公式高,求解高斯求积公式的关键就是解出上述2n+2个待定常数。 为解决上述问题,首先要先给出三个定理: 定理一: 以n x x x ,,,10 为节点的插值型求积公式(7.5.1)具有12+n 次代数精确度的充要条件是以这些节点为零点的多项式 ) ())(()(101n n x x x x x x x ---=+ ω 与任意次数不超过n 的多项式)(x P 均在区间],[b a 上正交,即 ?=+b a n dx x x P 0 )()(1ω (1.3)

高斯求积型公式及其程序开发

2011年1月19日 摘要 在实际中,求非代数函数的积分往往要求精度很高,因为高斯型求积公式据有最高代数精度且高斯型求积公式是收敛和稳定的,同时它可以使更多的函数准确成立,所以研究高斯型求积公式及其程序开发是很必要的.目的是总结分析高斯型求积公式,在掌握其基本思想的基础上,深入学习几种常见的高斯型求积公式. 本文共包含两章,第一章主要介绍高斯型求积公式的概述,包括理论知识以及分类性质,还有算法分析及流程图.第二章主要介绍几种常用的高斯型求积公式,内容包括其定义及余项,还有部分C程序和流程图以及应用举例等. 关键词高斯型求积公式; 正交多项式;流程图;C程序

目录 引言 (1) 第一章高斯型求积公式 (2) §1.1 高斯型求积公式的概述 (2) §1.1.1 高斯型求积公式的定义及理论 (2) §1.1.2 高斯型求积公式的分类及性质 (3) §1.2 高斯型求积公式的方法及其流程图 (4) §1.2.1 高斯型求积公式的方法 (4) §1.2.2 高斯型求积公式的方法流程图 (5) 第二章常用的高斯型求积公式 (5) §2.1 高斯-勒让德求积公式 (5) §2.1.1高斯-勒让德求积公式的概述 (6) §2.1.2高斯-勒让德求积公式的算法及引例 (7) §2.1.3 C程序:用递归法求5阶勒让德值 (9) §2.2 高斯-切比雪夫求积公式 (10) §2.2.1高斯-切比雪夫求积公式的概述 (10) §2.2.2 高斯-切比雪夫求积公式应用举例及算法流程图 (11) §2.3 高斯-埃尔米特求积公式 (11) §2.3.1高斯-埃尔米特求积公式的概述 (12) §2.3.2高斯-埃尔米特求积公式应用举例 (13) 参考文献 (15)

代数精度

3.1 数值积分公式与代数精度,Newton-Cotes 求积公式习题 一、填空题 1、辛普生求积公式具有 次代数精度,其余项表达式为 。 (答案:3,4(4)()(),(,)1802b a b a f a b ζζ---∈) 2、设()(0,1,2)j l x j n = 是区间[a,b ]上的一组n 次插值基函数。则插值型求积公式的代数精度为 ;插值型求积公式中求积系数j A = ;且0 n j j A ==∑ 。 (答案:至少是n ,()b k a l x dx ?, b-a ) 3.牛顿—柯特斯求积公式的系数和() n n k k C ==∑ 。 (答案: 1 ) 二、计算题 1.试确定下列求积公式中的待定系数,指出其所具有的代数精度。 ① 2'' 0()[(0)()][(0)()]2h h f x dx f f h h f f h ≈++-?α; ② 101()()(0)();h h f x dx A f h A f A f h --≈-++? 解:①分别将()1,f x x =代入求积公式,易知求积公式精确成立, 代入2()f x x =,令求积公式精确成立,于是有3 33232h h h α===-左右,可得1 12α=, 代入3()f x x =,于是4 4h =左,4 4 4 ,244h h h =-==右左右,求积公式成立, 代入4()f x x =,55h =左,544 ,236h h h =-=≠右左右,求积公式不精确成立, 综合以上可知,该求积公式具有三次代数精度。 ②将21(),,f x x x =分别代入求积公式,令求积公式成立,则有 0120222 02202 3()()A A A h h A A h A A h ?++=???--=????+=? 从而解得02114 ,A A h A h ===,所求公式至少具有两次代数精度,且进一步有

复化辛普森公式和高斯求积公式方法计算积分,matlab程序

一、实验目的及题目 实验目的:掌握利用复化辛普森公式和高斯求积公式方法计算积分,熟悉matlab 的操作。 题目:1.利用复化辛普森公式计算积分: 1、xdx x ln 10? 2.利用高斯求积公式计算积分: 1、xdx x ln 1 0? 2、 sinx (1+x 2) 10dx 实验步骤: 1.利用复化辛普森公式计算积分: 1.1.建立M 文件 function y=f(x) y=sqrt(x)*log(x); 1.2.建立M 文件 function T_n=F_H_T(a,b,n) h=(b-a)/n; for k=0:n x(k+1)=a+k*h; if x(k+1)==0 x(k+1)=10^(-10); end end T_1=h/2*(f(x(1))+f(x(n+1))); for i=2:n F(i)=h*f(x(i)); end T_2=sum(F); T_n=T_1+T_2; 1.3.在命令窗口输入 T_n=F_H_T(0,1,20) 输出结果:

2.利用高斯求积公式计算积分: 2.1.建立M文件 function s=guassl(a,b,n) h=(b-a)/n; s=0.0; for m=0:(1*n/2-1) s=s+h*(guassf(a+h*((1-1/sqrt(3))+2*m))+guassf(a+h*((1+1/sqrt( 3))+2*m))); end s; I=int('sin(x)',0,1); c=(I-s)/I; d=vpa(c,10); 2.2.1.建立M文件 function y=guassf(x) y=sqrt(x)*log(x); 2.2.2.建立M文件 function y=guassf(x) y=sinx/(1+x*x); 2.3.运行结果 2.3.1.在命令窗口输入s=guassl(0,1,20) 2.3.2.在命令窗口输入s=guassl(0,1,20)

1、直接验证梯形公式(1)与中矩形公式(2)具有一次代数精度,...

1、直接验证梯形公式(1)与中矩形公式(2)具有一次代数精度,而辛甫生公式(3)则 具有3次代数精度。 2、试判定下列求积公式的代数精度: )1(41 )31(43)(1 f f dx x f +≈ ? 3、确定下列求积公式中的特定参数,使其代数精度尽量地高,并指明求积公式所具有的代 数精度: (1) ) ()0()()(210h f A f A h f A dx x f h h ++-≈? - (2) )43 ()21()41()(2101 0f A f A f A dx x f ++≈? (3) )()0(41)(0010x f A f dx x f +≈? 4、下列求积公式称作辛甫生3/8公式: )] 3()2(3)1(3)0([83 )(1 f f f f dx x f +++≈? 试判定这一求积公式的代数精度。 5、证明上述辛甫生3/8公式是插值型的。 6、给定求积节点 410= x ,431=x ,试构造计算积分 ?=1 0)(dx x f I 的插值型求积公式,并指明该求积公式的代数精度。 7、证明:如果求积公式(4)对函数)(x f 和)(x g 准确成立,则它对于)()(x g x f βα+亦 准确成立,因之,只要求积公式(4)对于幂函数k x ),,1,0(m k =是准确的,则它至少具有m 次代数精度。 8、已给数据表 试分别用辛甫生法与复化梯形法计算积分? 1 .1dx e x 。 9x e x f x 4sin 1)(-+= 分别用复化梯形法、复化辛甫生法与柯特斯法求积分 ?=1 )(dx x f I 的近似值。 10、设用复化梯形法计算积分?=1 0dx e I x ,为使截断误差不超过51021 -?,问应当划分区 间]1,0[为多少等分?如果改用复化辛甫生法呢? 11、推导下列三种矩形公式:

相关文档
最新文档