python、Matlab求定积分的实现

python求定积分

计算

python、Matlab求定积分的实现

from sympy import *
x = symbols('x')
print(integrate(sin(2*x)/(1+x**2), (x, 0, 3)))

sympy库中integrate函数

integrate(f, (x, lower_bound, upper_bound))
# f-函数,x-变量,lower_bound-下限,upper_bound-上限

但是发现求不出来,如果是sin(2*x)就可以,为什么?

matlab求定积分

syms x
f = sin(2*x)/(1+x^2)
int(f, x, 0, 3)

或者:

syms x
f = @(x) sin(2*x)/(1+x^2) #句柄
integral(f, 0, 3)

同样得到的是要么是化简之后的结果,要么报错,说明这个函数不可能得到理论解。