matlab近似计算求积分,matlab 实验二 定积分的近似计算

实验二定积分的近似计算

利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分.

本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法.对于定积分的近似数值计算,Matlab有专门函数可用.5623949_1.gif

1.sum(a):求数组a的和.

2.format long:长格式,即屏幕显示15位有效数字.

(注:由于本实验要比较近似解法和精确求解间的误差,需要更高的精度).

3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数值则转化为相应的实型数值.

4.quad():抛物线法求数值积分.

格式:quad(fun,a,b),注意此处的fun是函数,并且为数值形式的,所以使用*、/、^等运算时要在其前加上小数点,即.*、./、.^等.

例:Q = quad('1./(x.^3-2*x-5)',0,2);

5.trapz():梯形法求数值积分.

格式:trapz(x,y)

其中x为带有步长的积分区间;y为数值形式的运算(相当于上面介绍的函数fun)

例:计算5623949_2.gif

x=0:pi/100:pi;y=sin(x);

trapz(x,y)

6.dblquad():抛物线法求二重数值积分.

格式:dblquad(fun,xmin,xmax,ymin,ymax),fun可以用inline定义,也可以通过某个函数文件的句柄传递.

例1:Q1 = dblquad(inline('y*sin(x)'), pi, 2*pi, 0, pi)

顺便计算下面的Q2,通过计算,比较Q1与Q2结果(或加上手工验算),找出积分变量x、y的上下限的函数代入方法.

Q2 = dblquad(inline('y*sin(x)'), 0, pi, pi, 2*pi)

例2:Q3 = dblquad(@integrnd, pi, 2*pi, 0, pi)

这时必须存在一个函数文件integrnd.m:

function z = integrnd(x, y)

z = y*sin(x);

7.fprintf(文件地址,格式,写入的变量):把数据写入指定文件.

例:x = 0:.1:1;

y = [x; exp(x)];

fid = fopen('exp.txt','w');   %打开文件

fprintf(fid,'%6.2f %12.8f\n',y);    %写入

fclose(fid)                 %关闭文件

8.syms变量1变量2…:定义变量为符号.

9.sym('表达式'):将表达式定义为符号.

解释:Matlab中的符号运算事实上是借用了Maple的软件包,所以当在Matlab中要对符号进行运算时,必须先把要用到的变量定义为符号.

10.int(f,v,a,b):求f关于v积分,积分区间由a到b.

11.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值.若简单地使用subs(f),则将f的所有符号变量用可能的数值代入,并计算出值.5623949_1.gif

1.矩形法

根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即

5623949_3.gif

在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度.

针对不同5623949_4.gif的取法,计算结果会有不同,我们以<

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值