Я пытаюсь сравнить процесс интеграции в Python и MATLAB.Я выполняю следующие блоки кода:
Python
from scipy.integrate import nquad
from time import time
import math
I=[[0,1],[0,1]]
x=0
t0=time()
for a in [.1,.3,.7,.85]:
x+=nquad(lambda x,y: math.cos(1+x**a+y**a),I)[0]
print('ET = '+str(time()-t0))
print('x = '+str(x))
MATLAB
x=0;
tic
for a=[0.1,0.3,0.7,0.85]
fun=@(x,y) cos(1+x.^a+y.^a);
x=x+integral2(fun,0,1,0,1);
disp(a)
end
toc
disp(['x = ' num2str(x)])
Однако я получаю разные ответы:
Python
ET = 0.17189550399780273
x = -1.6300541157909005
MATLAB
Elapsed time is 0.014947 seconds.
x = -2.7234
Я удивлен.Почему это происходит?
Заранее спасибо.