我目前正在尝试创建步长从2 ^ 0、2 ^(-1),2 ^(-2),...,我的函数P(x)的辛普森规则近似的17x1列向量2 ^(-16)。我正在手动计算近似值,但它们似乎并未收敛到约1.2119的真实积分值。这是我到目前为止的内容:
P = @(x) exp(-((x-1).^2)/(8));
a = 2;
b = 4;
approx_simp = zeros(17,1);
for k = 0:16
dx = 2:(2^(-k)):4;
first = P(2);
last = P(4);
dx2 = dx(2:length(dx)-1);
odds = 1:length(dx2);
evens = 1:length(dx2);
for jj = 1:2:length(dx2)-1
odds = P(dx2(jj));
end
for ii = 2:2:length(dx2)-2
evens = P(dx2(ii));
end
result = ((2^(-k))/3)*sum(first + last + 4*sum(odds) + 2*sum(evens));
approx_simp(k+1) = result;
end
true_area = integral(P,a,b);
我正在使用在WikiPedia上找到的Simpson规则的公式,因此我需要将偶数索引项乘以2,将奇数索引项乘以4(不包括端点),并将该总和乘以步长除以3我很确定问题是如何处理偶数和奇数索引项。就像我之前提到的,它应该收敛到1.2119左右,但是我在向量中的迭代非常不完善。有人可以帮我解决这个问题吗?