我是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规则
答案 0 :(得分:0)
这两种实现方法都不是更准确,但是trapz(y)
假定每个数据点的单位间隔(例如,数据点之间的间隔统一为x = 1)。参见trapz documentation。
因为您知道x坐标,所以请使用trapz(x,y)
。