我编写了一个脚本来比较精确积分方程,求和和使用各种内置数值积分函数之间的答案。
这是我的计划:
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
上。好吧,我应该说fsum1
和fsum2
有效。但是,fsum3 = 7.53812e-031
(错误)和fsum4 =
矩阵的大小与x
相同。当我绘制fsum4
与x
的关系时,我得到一个(sin(x))^ 2函数,其幅度略大于12。
我之前已经使用了四合一功能,但我不明白我在这里做错了什么。