Различные интеграционные ответы с использованием Python и MATLAB - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь сравнить процесс интеграции в 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

Я удивлен.Почему это происходит?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...