Octave:并非所有数值积分都是相同的

时间:2016-11-05 06:05:11

标签: matlab integration octave numerical-integration

我编写了一个脚本来比较精确积分方程,求和和使用各种内置数值积分函数之间的答案。

这是我的计划:

xmin = -2*pi;
xmax = -xmin;
dx = 0.01;
x = [xmin:dx:xmax];
f = sin(x);
fstar = conj(f);

y = fstar.*f; %for the sum
fy = @(x) y;

fsum1 = sum(y.*dx); %approximation by treating integral as a sum

%definite integral (specific to int(sin^2(x)))
fsum2 = 0.5.*(xmax - sin(xmax).*cos(xmax) - xmin + sin(xmin).*cos(xmin)); 

%numerical integrations:
fsum3 = quad(fy,xmin,xmax);
fsum4 = quadv(fy,xmin,xmax);
fsum5 = quadl(fy,xmin,xmax);
fsum6 = quadgk(fy,xmin,xmax);
fsum7 = quadcc(fy,xmin,xmax); 

一切运行正常,直到它挂在fsum4上。好吧,我应该说fsum1fsum2有效。但是,fsum3 = 7.53812e-031(错误)和fsum4 =矩阵的大小与x相同。当我绘制fsum4x的关系时,我得到一个(sin(x))^ 2函数,其幅度略大于12。

我之前已经使用了四合一功能,但我不明白我在这里做错了什么。

0 个答案:

没有答案