from sympy import integrate ,cos,sin
from sympy.abc import a,x,y
import numpy as np
integrate(x*sin(x), x)
如果指定x的取值范围的话,integrate
则进行定积分运算:
import math
from sympy import *
integrate(x*sin(x), (x, 0, 2*pi))
为了计算球体体积,首先让我们来看看如何计算圆形面积,假设圆形的半径为r, 则圆上任意一点的Y坐标函数为:
y(x) = √r2 − x2
因此可以直接对上述函数在 -r
到 r
区间上进行积分得到半圆面积,
注意这里使用 symbols
函数一次创建多个符号:
x, y, r = symbols('x,y,r')
2 * integrate(sqrt(r*r-x**2), (x, -r, r))
很遗憾,integrate
函数没有计算出结果,而是直接返回了我们输入的算式。
这是因为 SymPy
不知道 r
是大于 0
的,如下重新定义 r
,就可以得到正确答案了:
r = symbols('r', positive=True)
circle_area = 2 * integrate(sqrt(r**2-x**2), (x, -r, r))
circle_area
接下来对此面积公式进行定积分,就可以得到球体的体积,但是随着X轴坐标的变化,
对应的切面的的半径会发生变化,现在假设X轴的坐标为x,球体的半径为r,
则x处的切面的半径为可以使用前面的公式 y(x)
计算出。
因此我们需要对 circle_area
中的变量r进行替代:
circle_area = circle_area.subs(r, sqrt(r**2-x**2))
circle_area
integrate(circle_area, (x, -r, r))