高斯曲线'trapz(y)'和'trapz(x,y)'函数下的matlab面积哪个更准确?

时间:2018-10-13 15:34:06

标签: matlab

我是Mat实验室的新手,我正努力掌握曲线下的积分方法。

我想看看使用'trapz(y)'和'trapz(x,y)'查找高斯函数曲线下的区域之间的区别,我似乎无法理解的是为什么我得到两个不同的面积值,我正在尝试找出哪一个更准确。

dataset = xlsread('Lab 3 Results 11.10.18 (1).xlsx','Sheet3','C6:D515');
x=dataset(:,1);
a1=38.38;
b1=1179;
c1=36.85;
d1=6.3
y=a1*exp(-((x-b1)/c1).^2)-d1;
int1=trapz(x,y)
int2=trapz(y)

因此,当我运行此代码时,我得到int1 = 1738.3和int2 = 5.78.4,但是当我使用梯形规则手动集成此函数时,我的ans变得更接近int1而不是int2那里有人可以抛弃一些如果可能的话点亮我只是无法想象visulay如何用两种不同的方式使用trapz规则

1 个答案:

答案 0 :(得分:0)

这两种实现方法都不是更准确,但是trapz(y)假定每个数据点的单位间隔(例如,数据点之间的间隔统一为x = 1)。参见trapz documentation

因为您知道x坐标,所以请使用trapz(x,y)