77范文网 - 专业文章范例文档资料分享平台

数值积分用matlab实现

来源:网络收集 时间:2020-06-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

东北大学秦皇岛分校

数值计算课程设计报告

教师评语:

数值积分及Matlab实现

学 院 数学与统计学院 专 业 信息与计算科学

学 号 5133117 姓 名 楚文玉 指导教师 张建波 姜玉山

成 绩

指导教师签字: 2015年07月14日

数学与统计学院课程设计(实习)报告 第 1 页

1 绪论

在科研计算中,经常会碰到一些很难用公式定理直接求出精确解的积分问题,对于这类问题,我们一般转化为数值积分问题,用计算机来实现求解问题. 1.1 课题的背景

对于定积分?f(x)dx在求某函数的定积分时,在一定条件下,虽然有牛顿-莱布里

ab茨公式I??f(x)dx?F(b)?F(a)可以计算定积分的值,但在很多情况下的原函数f(x)ab不易求出或非常复杂.被积函数的原函数很难用初等函数表达出来,例如

f(x)?sinx?x2,e等;有的函数f(x)的原函数F(x)存在,但其表达式太复杂,计算量太x大,有的甚至无法有解析表达式.因此能够借助牛顿-莱布尼兹公式计算定积分的情形是不多的.另外,许多实际问题中的被积函数f(x)往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解,只能设法求其近似值.因此,探讨近似计算的数值积分方法是有明显的实际意义的,即有必要研究定积分的数值计算方法,以解决定积分的近似计算.而数值积分就是解决此类问题的一种有效的方法,它的特点是利用被积函数在一些节点上的信息求出定积分的近似值.微积分的发明是人类科学史上一项伟大的成就,在科学技术中,积分是经常遇到的一个重要计算环节数值积分是数学上重要的课题之一,是数值分析中重要的内容之一.随着计算机的出现,近几十年来,对于数值积分问题的研究已经成为一个很活跃的研究领域.现在,数值积分在计算机图形学,积分方程,工程计算,金融数学等应用科学领域都有着相当重要的应用,所以研究数值积分问题有着很重要的意义.国内外众多学者在数值积分应用领域也提出了许多新方法.在很多实际应用中,只能知道积分函数在某些特定点的取值,比如天气测量中的气温、湿度、气压等,医学测量中的血压、浓度等等.通过这个课题的研究,我们将会更好地掌握运用数值积分算法求出特殊积分函数的定积分的一些基本方法、理论基础;并且通过Matlab软件编程的实现,应用于实际生活中. 1.2 课题的主要内容框架 1.2.1 数值积分各求积公式简介

数学与统计学院课程设计(实习)报告 第 2 页

简介牛顿-柯特斯求积公式及其辛普森求积公式,龙贝格求积公式,高斯求积公式的基本理论基础和方法. 1.2.2 求积公式的代码实现

通过理解各种数值积分求积公式的原理方法,通过Matlab软件编程,实现以上求积公式. 1.2.3 应用举例

通过简单举例,自建一个相对简单和复杂的函数,用上面编写的Matlab源程序来解决实际问题,体会数值积分和Matlab的优势.

2 牛顿-柯特斯公式及Matlab实现

2.1 牛顿-柯特斯公式的基本原理方法

设将积分区间[a, b]划分为n等分,步长为h?出的差值型求积公式

In?(b?a)?Ck(n)f(xk), (2.1)

k?0nb?a,选取等距节点xk?a?kh构造n称为牛顿-柯特斯公式,式中Ck(n)称为柯特斯系数.根据

Ak??l(x)dx, k?0,1,2,?,n. (2.2)

ab引进变量代换x?a?th,则有

C(n)knnhnnt?j(?1)n?k?dt?(t?j)dt (2.3) ????00b?aj?0k?jnk!(n?k)!j?0j?kj?k当n = 2时,此时柯特斯系数为C0(2)?普森求积公式:

S?141(2)?,相应的求积公式就是辛,C1(2)?,C2666b?a?a?b?f(a)?4f(?)fb( ) (2.4) ??6?2?2.2 牛顿-柯特斯公式的Matlab实现 function[C, g] = NCotes(a, b, n, m)

数学与统计学院课程设计(实习)报告 第 3 页

% a,b分别为积分的上下限; % n是子区间的个数; % m是被调用第几个被积函数;

% 当n=1时计算梯形公式;当n=2时计算辛普森公式,以此类推; I = n; h = (b - a) / i; z = 0;

for j = 0 : i

x(j + 1) = a + j * h;

s = 1;

if j == 0 s = s; else

for k=1 : j s =s * k; end end r = 1; if i - j == 0 r = r; else

for k = 1 : (I - j) r = r * k; end end

if mod((I - j), 2) == 1 q = -(I * s * r); else

q = i * s * r; end y = 1; for k = 0 : i

数学与统计学院课程设计(实习)报告 第 4 页

if k ~= j

y = y * (sym('t') - k); end end

l = int(y, 0 , i); C(j + 1)= l / q;

z = z + C(j + 1)*f1(m, x(j + 1)); end

g=(b - a)*z

3 复合求积公式及Matlab实现

3.1 复合梯形公式的基本原理

b?a,k?0,1,?n,在每个子区间[xk,xk?1]将区间[a, b]划分成n等分,分点xk?a?kh,n(k?0,1,?n?1)上采用梯形公式得:

I??f(x)dx???ak?0bn?1xk?1xkhn?1f(x)dx??[f(xk)?f(xk?1)]?Rn(f) (3.1)

2k?0记

n?1hn?1hTn??[f(xk)?f(xk?1)]?[f(a)?2?f(xk)?f(b)] (3.2)

2k?02k?0称式(3.2)为复合梯形公式. 3.2 复合梯形公式的Matlab实现 function s = trapr1(f, a, b, n) % f表示被积函数; % a,b表示积分上下限; % n是子区间的个数; h = (b - a) / n; s = 0;

for k = 1 : (n - 1) x = a + h * k; s = s + feval('f', x);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库数值积分用matlab实现在线全文阅读。

数值积分用matlab实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1101363.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: