matlab梯形法求f(x)在[a,b]上的定积分

如题所述

matlab中,用梯形法计算定积分的函数是trapz函数。tapz调用格式为:

Z = trapz(X,Y,DIM)

X为自变量,可以缺省,缺省时函zhuan数将做间隔为1的积分。Y可以是矩阵或是向量,当Y是矩阵时由dim决定,把y看成一个个列向量或是一个个行向量,再对每个向量分别积分;dim一般缺省为1,这时是看成列向量积分。

例如:

x=-1:0.05:1的积分区间划成步长为0.05的41个等分

y=exp(-x.^2) %被积函数f(x)

trapz(x,y) %梯形积分法函数

运行结果:

ans=1.4933

扩展资料:

定理1:设f(x)在区间[a,b]上连续,则f(x)在[a,b]上可积。

定理2:设f(x)区间[a,b]上有界,且只有有限个间断点,则f(x)在[a,b]上可积。

定理3:设f(x)在区间[a,b]上单调,则f(x)在[a,b]上可积。

定积分与不定积分看起来风马牛不相及,但是由于一个数学上重要的理论的支撑,使得它们有了本质的密切关系。把一个图形无限细分再累加,这似乎是不可能的事情,但是由于这个理论,可以转化为计算积分。

参考资料来源:百度百科-定积分

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-08
matlab中,用梯形法计算定积分的函数是trapz函数。tapz调用格式为:
Z = trapz(X,Y,DIM)
X为自变量,可以缺省,缺省时函数将做间隔为1的积分。Y可以是矩阵或是向量,当Y是矩阵时由dim决定,把y看成一个个列向量或是一个个行向量,再对每个向量分别积分;dim一般缺省为1,这时是看成列向量积分。

使用案例:
clc;clear;
a=0;b=pi;%定义积分区间,可以根据具体问题做修改
syms f(x)
f(x)=sin(x);%定义f(x),可以根据具体问题做修改
int(f(x),x,a,b)%输出精确的定积分
X=linspace(a,b);
Y=eval(f(X));
trapz(X,Y)%输出梯形法数值积分结果

结果:
linspace取点,自变量默认间隔为(b-a)/99。这时得到精确积分值为2,梯形法数值积分结果为1.9998,误差较小。如果把间距进一步调小,可以降低数值算法误差。
第2个回答  推荐于2017-12-16
给你一个例子。
x=-1:0.05:1的积分区间划成步长为0.05的41个等分
y=exp(-x.^2) %被积函数f(x)
trapz(x,y) %梯形积分法函数
运行结果:
ans=1.4933本回答被网友采纳
第3个回答  2015-04-12
用现成函数,百度上搜