试验三数值积分.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试验三数值积分

佛山科学技术学院 实 验 报 告 课程名称 数值分析 实验项目 常微分方程问题初值问题数值解法 专业班级 12.数学与应用数学(师范) 姓名 叶楚欣 学号 2012214103 指导教师 黄国顺 成 绩 日 期 试验三 数值积分 一、实验目的 1、理解如何在计算机上使用数值方法计算定积分的近似值; 2、学会复合梯形、复合Simpson和龙贝格求积分公式的编程与应用。 3、学会利用Matlab提供的积分函数求二重积分。 函数名 含义 函数名 含义 trapz 梯形求积法 dblquad 二重积分 quad Simpson求积法 triplequad 三重积分 二、实验要求 按照题目要求完成实验内容; 写出相应的Matlab 程序; 给出实验结果(可以用表格展示实验结果); 分析和讨论实验结果并提出可能的优化实验。 写出实验报告。 三、实验步骤 1、用不同数值方法计算积分 (1)取不同的步长,分别用复合梯形及复合辛普森求积计算积分,给出误差中关于的函数,并与积分精确值比较两公式的精度,是否存在一个最小的,使得精度不能被改善? (2)用龙贝格求积计算完成问题(1)。 2、计算二重积分 (1)若积分区域; (2)若积分区域 求积公式参考代码: 1、复化梯形求积公式 function I=T_quad(x,y) % 复化梯形求积公式,其中 % x --- 向量,被积函数自变量的等距节点 % y --- 向量,被积函数在节点处的函数值 n=length(x); m=length(y); if n~=m error('The lengths of X and Y must be equal'); return; end h=(x(n)-x(1))/(n-1); a=[1 2*ones(1,n-2) 1]; I=h/2*sum(a.*y); 2、复化Simpson求积公式 function I=S_quad(x,y) % 复化Simpson求积公式,其中 % x --- 向量,被积函数自变量的等距节点 % y --- 向量,被积函数在节点处的函数值 n=length(x); m=length(y); if n~=m error('The lengths of X and Y must be equal'); return; end if rem(n-1,2)~=0 % 如果n-1不能被2整除,则调用复化梯形公式 warning('给出的点数不适用于Simpson公式,调用梯形公式求积分'); I=T_quad(x,y); return; end N=(n-1)/2; h=(x(n)-x(1))/N; a=zeros(1,n); %如果等分成N段,且从1开始计算,应该是公式N=(n-1)/2; for k=1:N a(2*k-1)=a(2*k-1)+1; a(2*k)=a(2*k)+4; a(2*k+1)=a(2*k+1)+1; % 如果下标k从1开始计算,则每小段区间的下标应该为1、3、5、7、、、,中间节点 % 的下标分别是2、4、6、、,对应书本P107公式(3.4),它们的系数分别为1,4,1; end I=h/6*sum(a.*y); 3、Romberg 求积公式 function I=R_quad_iter(fun, a, b, ep) % Romberg 求积公式,其中 % fun --- 被积函数,在调用之前需要用inline()函数定义其为内置函数。 % a,b --- 积分区间的端点,要求a<b % ep --- 精度要求,省缺为1e-5 % 注意函数feval() 及函数inline()的使用。 % nargin指设定参数的个数 if nargin < 4 ep = 1e-5; end; m=1; h=b-a; I=h/2*(feval(fun, a)+feval(fun,b)); T(1,1)=I; while 1 N=2^(m-1); h=h/2; I=I/2; for i=1:N

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档