• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python sympy.integrate函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中sympy.integrate函数的典型用法代码示例。如果您正苦于以下问题:Python integrate函数的具体用法?Python integrate怎么用?Python integrate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了integrate函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_issue841

def test_issue841():
    from sympy import expand_mul
    from sympy.abc import k

    assert expand_mul(integrate(exp(-x ** 2) * exp(I * k * x), (x, -oo, oo))) == sqrt(pi) * exp(-k ** 2 / 4)
    a, d = symbols("a d", positive=True)
    assert expand_mul(integrate(exp(-a * x ** 2 + 2 * d * x), (x, -oo, oo))) == sqrt(pi) * exp(d ** 2 / a) / sqrt(a)
开发者ID:arunenigma,项目名称:sympy,代码行数:7,代码来源:test_integrals.py


示例2: test_integrate_omit_var

def test_integrate_omit_var():
    y = Symbol('y')

    assert integrate(x) == x**2/2

    raises(ValueError, lambda: integrate(2))
    raises(ValueError, lambda: integrate(x*y))
开发者ID:baoqchau,项目名称:sympy,代码行数:7,代码来源:test_integrals.py


示例3: test_integrate_linearterm_pow

def test_integrate_linearterm_pow():
    # check integrate((a*x+b)^c, x)  --  issue 3499
    y = Symbol('y', positive=True)
    # TODO: Remove conds='none' below, let the assumption take care of it.
    assert integrate(x**y, x, conds='none') == x**(y + 1)/(y + 1)
    assert integrate((exp(y)*x + 1/y)**(1 + sin(y)), x, conds='none') == \
        exp(-y)*(exp(y)*x + 1/y)**(2 + sin(y)) / (2 + sin(y))
开发者ID:baoqchau,项目名称:sympy,代码行数:7,代码来源:test_integrals.py


示例4: setThreshold

	def setThreshold(self):
		import sympy
		# f(x) is probability density of processing times 
		# Using Bounded Pareto,
			# f(x) = {0 if x < 0, main.customEquation if x >= 0}
		# Probability jobs will be in class 1, ie. their processing time will be between Lower and Threshold
		# Prob(Lower <= procTime <= Threshold) = integral{from L to T}f(x)dx >> 0.8 (should be very close to 1)
		# Most jobs will be small, only a few will be big

		# ???
		# lambda * integral{from L to U} x*f(x) dx < numServers

		#HOW TO FIND THRESHOLD
		# integral{from L to T} x*f(x)dx / integral{from L to U} x*f(x)dx = 0.8 (becasue 80% of jobs will be small)
		# solve for T
		x, L, U, T, alpha = sympy.symbols('x L U T alpha', real=True)
		
		numerator = sympy.integrate((x*BoundedParetoDist.Function), (x, L, T))
		denominator = sympy.integrate((x*BoundedParetoDist.Function), (x, L, U))
		expected = numerator/denominator

		#expected = expected.subs(dict(alpha=JobClass.BPArray[0], L=JobClass.BPArray[1], U=JobClass.BPArray[2]))
		expected = expected.subs([(alpha, JobClass.BPArray[0]), (L, JobClass.BPArray[1]), (U, JobClass.BPArray[2])])
		#print "expected subed"
		#print expected
		
		#Equate expected = 0.8, solve for T
		#thresholdRange = sympy.solve(sympy.Eq(expected, 0.8), T)
		#MachineClass.Threshold = thresholdRange[1] #set only positive number

		##FORCE THRESHOLD AS LOGICAL VALUE
		MachineClass.Threshold = 800000
		GUI.writeToConsole(self.master, "Class threshold = %s"%MachineClass.Threshold)
开发者ID:rsmailach,项目名称:MultiServerSRPT,代码行数:33,代码来源:SRPTE_Multi_KnownDist.py


示例5: test_issue_8368

def test_issue_8368():
    assert integrate(exp(-s*x)*cosh(x), (x, 0, oo)) == \
        Piecewise(
            (   pi*Piecewise(
                    (   -s/(pi*(-s**2 + 1)),
                        Abs(s**2) < 1),
                    (   1/(pi*s*(1 - 1/s**2)),
                        Abs(s**(-2)) < 1),
                    (   meijerg(
                            ((S(1)/2,), (0, 0)),
                            ((0, S(1)/2), (0,)),
                            polar_lift(s)**2),
                        True)
                ),
                And(
                    Abs(periodic_argument(polar_lift(s)**2, oo)) < pi,
                    cos(Abs(periodic_argument(polar_lift(s)**2, oo))/2)*sqrt(Abs(s**2)) - 1 > 0,
                    Ne(s**2, 1))
            ),
            (
                Integral(exp(-s*x)*cosh(x), (x, 0, oo)),
                True))
    assert integrate(exp(-s*x)*sinh(x), (x, 0, oo)) == \
        Piecewise(
            (   -1/(s + 1)/2 - 1/(-s + 1)/2,
                And(
                    Ne(1/s, 1),
                    Abs(periodic_argument(s, oo)) < pi/2,
                    Abs(periodic_argument(s, oo)) <= pi/2,
                    cos(Abs(periodic_argument(s, oo)))*Abs(s) - 1 > 0)),
            (   Integral(exp(-s*x)*sinh(x), (x, 0, oo)),
                True))
开发者ID:baoqchau,项目名称:sympy,代码行数:32,代码来源:test_integrals.py


示例6: compute_psi_stats

    def compute_psi_stats(self):
        # define some normal distributions
        mus = [sp.var("mu_%i" % i, real=True) for i in range(self.input_dim)]
        Ss = [sp.var("S_%i" % i, positive=True) for i in range(self.input_dim)]
        normals = [
            (2 * sp.pi * Si) ** (-0.5) * sp.exp(-0.5 * (xi - mui) ** 2 / Si) for xi, mui, Si in zip(self._sp_x, mus, Ss)
        ]

        # do some integration!
        # self._sp_psi0 = ??
        self._sp_psi1 = self._sp_k
        for i in range(self.input_dim):
            print "perfoming integrals %i of %i" % (i + 1, 2 * self.input_dim)
            sys.stdout.flush()
            self._sp_psi1 *= normals[i]
            self._sp_psi1 = sp.integrate(self._sp_psi1, (self._sp_x[i], -sp.oo, sp.oo))
            clear_cache()
        self._sp_psi1 = self._sp_psi1.simplify()

        # and here's psi2 (eek!)
        zprime = [sp.Symbol("zp%i" % i) for i in range(self.input_dim)]
        self._sp_psi2 = self._sp_k.copy() * self._sp_k.copy().subs(zip(self._sp_z, zprime))
        for i in range(self.input_dim):
            print "perfoming integrals %i of %i" % (self.input_dim + i + 1, 2 * self.input_dim)
            sys.stdout.flush()
            self._sp_psi2 *= normals[i]
            self._sp_psi2 = sp.integrate(self._sp_psi2, (self._sp_x[i], -sp.oo, sp.oo))
            clear_cache()
        self._sp_psi2 = self._sp_psi2.simplify()
开发者ID:rajivsam,项目名称:GPy,代码行数:29,代码来源:sympykern.py


示例7: E

 def E(expr):
     res1 = integrate(expr*exponential(x, rate)*normal(y, mu1, sigma1),
                      (x, 0, oo), (y, -oo, oo), meijerg=True)
     res2 = integrate(expr*exponential(x, rate)*normal(y, mu1, sigma1),
                     (y, -oo, oo), (x, 0, oo), meijerg=True)
     assert expand_mul(res1) == expand_mul(res2)
     return res1
开发者ID:chaffra,项目名称:sympy,代码行数:7,代码来源:test_meijerint.py


示例8: test_integrate_linearterm_pow

def test_integrate_linearterm_pow():
    # check integrate((a*x+b)^c, x)  --  #400
    y = Symbol("y")
    assert integrate(x ** y, x) == x ** (y + 1) / (y + 1)
    assert integrate((exp(y) * x + 1 / y) ** (1 + sin(y)), x) == exp(-y) * (exp(y) * x + 1 / y) ** (2 + sin(y)) / (
        2 + sin(y)
    )
开发者ID:vks,项目名称:sympy,代码行数:7,代码来源:test_integrals.py


示例9: test_issue_1791

def test_issue_1791():
    z = Symbol("z", positive=True)
    assert integrate(exp(-log(x) ** 2), x) == pi ** (S(1) / 2) * erf(-S(1) / 2 + log(x)) * exp(S(1) / 4) / 2
    assert integrate(exp(log(x) ** 2), x) == -I * pi ** (S(1) / 2) * erf(I * log(x) + I / 2) * exp(-S(1) / 4) / 2
    assert integrate(exp(-z * log(x) ** 2), x) == pi ** (S(1) / 2) * erf(
        z ** (S(1) / 2) * log(x) - 1 / (2 * z ** (S(1) / 2))
    ) * exp(S(1) / (4 * z)) / (2 * z ** (S(1) / 2))
开发者ID:vks,项目名称:sympy,代码行数:7,代码来源:test_integrals.py


示例10: T_exact_symbolic

def T_exact_symbolic(verbose=False):
    """Compute the exact solution formula via sympy."""
    # sol1: solution for t < t_star,
    # sol2: solution for t > t_star
    import sympy as sym
    T0 = sym.symbols('T0')
    k = sym.symbols('k', positive=True)
    # Piecewise linear T_sunction
    t, t_star, C0, C1 = sym.symbols('t t_star C0 C1')
    T_s = C0
    I = sym.integrate(sym.exp(k*t)*T_s, (t, 0, t))
    sol1 = T0*sym.exp(-k*t) + k*sym.exp(-k*t)*I
    sol1 = sym.simplify(sym.expand(sol1))
    if verbose:
        # Some debugging print
        print 'solution t < t_star:', sol1
        #print sym.latex(sol1)
    T_s = C1
    I = sym.integrate(sym.exp(k*t)*C0, (t, 0, t_star)) + \
        sym.integrate(sym.exp(k*t)*C1, (t, t_star, t))
    sol2 = T0*sym.exp(-k*t) + k*sym.exp(-k*t)*I
    sol2 = sym.simplify(sym.expand(sol2))
    if verbose:
        print 'solution t > t_star:', sol2
        #print sym.latex(sol2)

    # Convert to numerical functions
    exact0 = sym.lambdify([t, C0, k, T0],
                          sol1, modules='numpy')
    exact1 = sym.lambdify([t, C0, C1, t_star, k, T0],
                          sol2, modules='numpy')
    return exact0, exact1
开发者ID:hplgit,项目名称:decay-book,代码行数:32,代码来源:cooling.py


示例11: __init__

    def __init__(
            self,
            tau,  # A float
            start=None,
            ):
        print('''
tau={0}'''.format(tau))
        if start==None:
            start = tau -.05 + 2*tau
        x,lam = sympy.symbols('x lam'.split())
        self.tau = tau
        k = 0
        term = 1.0 + x*0   # \frac{1}{k!} * (-\frac{x}{lam})^k
        pk = 0             # sum_{n=0}^k term_k
        cum_prod = 1       # prod_{n=0}^k pk(tau)
        integral = 0       # integral_0^? rho(s) ds
        while tau*k < 1.0:
            pk += term              # Polynomial of x/lam
            pk_tau = pk.subs(x,tau) # Polynomial of tau/lam
            print('''  k={0}
  term={1}
  pk={2}
  '''.format(k, term, pk))
            if tau*(k+1) >= 1.0:
                d = 1.0 - tau*k
                integral += sympy.integrate(pk, (x, 0, d))/cum_prod
                break
            integral += sympy.integrate(pk, (x, 0, tau))/cum_prod
            # integral is a rational function of tau and lam
            cum_prod *= pk_tau      # Polynomial of tau/lam
            k += 1
            term *= -x/(k*lam)      # Monomial of x/lam
        print('''  cum_prod={2}  Solving
  {0}={1}'''.format(lam,integral.simplify(), cum_prod))
        self.eigenvalue = sympy.solve(lam-integral, lam)
开发者ID:fraserphysics,项目名称:metfie,代码行数:35,代码来源:sym.py


示例12: integrar

    def integrar(self):

        f = self.ui.lineEdit_int_funcion.text()

        f_var = [Symbol(self.ui.lineEdit_int_var_1.text()),
            Symbol(self.ui.lineEdit_int_var_2.text()),
            Symbol(self.ui.lineEdit_int_var_3.text())]

        f_min = [(self.ui.lineEdit_int_min_1.text()),
            (self.ui.lineEdit_int_min_2.text()),
            (self.ui.lineEdit_int_min_3.text())]

        f_max = [(self.ui.lineEdit_int_max_1.text()),
            (self.ui.lineEdit_int_max_2.text()),
            (self.ui.lineEdit_int_max_3.text())]

        for i in range(0, int(self.ui.spinBox_int.text())):
            if self.ui.radioButton_int_def.isChecked() is True:
                f = integrate(f, (f_var[i], f_min[i], f_max[i]))
                self.ui.label_int_solucion.setText(str(f))
                print (f)

            else:
                f = integrate(f, f_var[i])
                self.ui.label_int_solucion.setText(str(f))
                print (f)
开发者ID:zerberros,项目名称:tercera_mano,代码行数:26,代码来源:tercera_mano.py


示例13: benefit_from_demand

def benefit_from_demand(x, p, demand):
    """Converts the demand curve to the benefit.  It assumes that the
    demand is a x=d(p) function, where the x= is implicit.

    >>> sp.var('x p')
    (x, p)
    >>> sp.simplify(benefit_from_demand(x, p, 10/p -1) -
    ...             10*sp.log(x+1))
    0
    >>> sp.simplify(benefit_from_demand(x, p, sp.Eq(x, 10/p -1)) -
    ...             10*sp.log(x+1))
    0
    >>> sp.simplify(benefit_from_demand(x, p, 100-p) -
    ...             (-x**2/2 + 100*x))
    0
    >>> benefit_from_demand(x, p, sp.Piecewise((0, p < 0),
    ...                                        (-p + 100, p <= 100),
    ...                                        (0, True)))
    -x**2/2 + 100*x
    """
    if isinstance(demand, sp.relational.Relational):
        return sp.integrate(sp.solve(demand, p)[0], (x, 0, x))
    substracting = sp.solve(demand-x, p)
    if substracting:
        toint = substracting[0]
    else:
        substracting = sp.solve(demand, p)
        if substracting:
            toint = substracting[0] - x
        else:
            return None

    return sp.integrate(toint, (x, 0, x))
开发者ID:juanre,项目名称:econopy,代码行数:33,代码来源:tools.py


示例14: integrate_f_over_polygon_code

def integrate_f_over_polygon_code(f):
    """Generate code that will integrate a function over a polygon

    Parameters
    ----------
    f : sympy expression
        Expression to be integrated over the polygon.

    Returns
    -------
    out : str
        Multiline string of function code

    """

    x, y, z=sympy.symbols('x,y,z')
    x0, x1, y0, y1, z0, z1=sympy.symbols('x0,x1,y0,y1,z0,z1')
    t = sympy.symbols('t')
    s2 = [(x, x0+t*(x1-x0)), (y, y0+t*(y1-y0)), (z, z0+t*(z1-z0))]

    ff = sympy.integrate(f,x)
    ff = ff.subs(s2)
    ff = sympy.integrate(ff, (t,0,1))
    ff *= (y1 - y0) #if integrating in y direction 1st then *-(x1-x0)

    ff = replace_x0_and_x1_with_vect(ff)

    template ="""def ifxy(pts):
    "Integrate f = {} over polygon"

    x, y, z = xyz_from_pts(pts, True)

    return np.sum({})"""

    return template.format(str(f), ff)
开发者ID:rtrwalker,项目名称:geotecha,代码行数:35,代码来源:geometry.py


示例15: case0

def case0(f, N=3):
    B = 1 - x ** 3
    dBdx = sm.diff(B, x)

    # Compute basis functions and their derivatives
    phi = {0: [x ** (i + 1) * (1 - x) for i in range(N + 1)]}
    phi[1] = [sm.diff(phi_i, x) for phi_i in phi[0]]

    def integrand_lhs(phi, i, j):
        return phi[1][i] * phi[1][j]

    def integrand_rhs(phi, i):
        return f * phi[0][i] - dBdx * phi[1][i]

    Omega = [0, 1]

    u_bar = solve(integrand_lhs, integrand_rhs, phi, Omega, verbose=True, numint=False)
    u = B + u_bar
    print "solution u:", sm.simplify(sm.expand(u))

    # Calculate analytical solution

    # Solve -u''=f by integrating f twice
    f1 = sm.integrate(f, x)
    f2 = sm.integrate(f1, x)
    # Add integration constants
    C1, C2 = sm.symbols("C1 C2")
    u_e = -f2 + C1 * x + C2
    # Find C1 and C2 from the boundary conditions u(0)=0, u(1)=1
    s = sm.solve([u_e.subs(x, 0) - 1, u_e.subs(x, 1) - 0], [C1, C2])
    # Form the exact solution
    u_e = -f2 + s[C1] * x + s[C2]
    print "analytical solution:", u_e
    # print 'error:', u - u_e  # many terms - which cancel
    print "error:", sm.expand(u - u_e)
开发者ID:jorisVerschaeve,项目名称:INF5620,代码行数:35,代码来源:ex_varform1D.py


示例16: test_issue_841

def test_issue_841():
    a, b, c, d = symbols('a:d', positive=True, bounded=True)
    assert integrate(
        exp(-x**2 + I*c*x), x) == sqrt(pi)*erf(x - I*c/2)*exp(-c**S(2)/4)/2
    assert integrate(exp(a*x**2 + b*x + c), x) == \
          I*sqrt(pi)*erf(-I*x*sqrt(
              a) - I*b/(2*sqrt(a)))*exp(c)*exp(-b**2/(4*a))/(2*sqrt(a))
开发者ID:jenshnielsen,项目名称:sympy,代码行数:7,代码来源:test_integrals.py


示例17: least_squares_orth

def least_squares_orth(f, phi, Omega):
    """
    Same as least_squares, but for orthogonal
    basis such that one avoids calling up standard
    Gaussian elimination.
    """
    N = len(phi) - 1
    A = [0]*(N+1)       # plain list to hold symbolic expressions
    b = [0]*(N+1)
    x = sm.Symbol('x')
    print '...evaluating matrix...',
    for i in range(N+1):
        print '(%d,%d)' % (i, i)
        A[i] = sm.integrate(phi[i]**2, (x, Omega[0], Omega[1]))

        # Fallback on numerical integration if f*phi is too difficult
        # to integrate
        integrand = phi[i]*f
        I = sm.integrate(integrand,  (x, Omega[0], Omega[1]))
        if isinstance(I, sm.Integral):
            print 'numerical integration of', integrand
            integrand = sm.lambdify([x], integrand)
            I = sm.mpmath.quad(integrand, [Omega[0], Omega[1]])
        b[i] = I
    print 'A:\n', A, '\nb:\n', b
    c = [b[i]/A[i] for i in range(len(b))]
    print 'coeff:', c
    u = 0
    for i in range(len(phi)):
        u += c[i]*phi[i]
    # Alternative:
    # u = sum(c[i,0]*phi[i] for i in range(len(phi)))
    print 'approximation:', u
    return u
开发者ID:abushets,项目名称:INF5620,代码行数:34,代码来源:approx1D.py


示例18: __init__

 def __init__(self, cu,cv):
   x, y, z = sympy.symbols('x y z')
   self.cu=cu
   self.cv=cv
   self.u=sympy.Lambda((x,y,z),cu)
   self.v=sympy.Lambda((x,y,z),cv)
   self.fu=eval("lambda x,y,z: "+cu)
   self.fv=eval("lambda x,y,z: "+cv)
   if self.u.is_polynomial(x,y,z):
     D=sympy.polys.Poly(cu,x,y,z).as_dict()
     self.du=max(numpy.sum(list(D.keys()),axis=1))
   else:
     self.du=-1
   if self.v.is_polynomial(x,y,z):
     D=sympy.polys.Poly(cv,x,y,z).as_dict()
     self.dv=max(numpy.sum(list(D.keys()),axis=1))
   else:
     self.dv=-1
   self.I=sympy.integrate(
            sympy.integrate(
              sympy.integrate(
                sympy.diff(self.u(x,y,z),x)*sympy.diff(self.v(x,y,z),x)+
                sympy.diff(self.u(x,y,z),y)*sympy.diff(self.v(x,y,z),y)+
                sympy.diff(self.u(x,y,z),z)*sympy.diff(self.v(x,y,z),z),
                (x,0,1)),
              (y,0,1)),
            (z,0,1))
开发者ID:gscarella,项目名称:pyOptFEM,代码行数:27,代码来源:validStiff3DP1.py


示例19: test_issue524

def test_issue524():
    assert integrate(cos((n+1) * x), x)   == sin(x*(n+1)) / (n+1)
    assert integrate(cos((n-1) * x), x)   == sin(x*(n-1)) / (n-1)

    assert integrate(cos((n+1) * x) + cos((n-1) * x), x) == \
                                             sin(x*(n+1)) / (n+1)  + \
                                             sin(x*(n-1)) / (n-1)
开发者ID:wxgeo,项目名称:sympy,代码行数:7,代码来源:test_integrals.py


示例20: FEM_function_norms

def FEM_function_norms(N):

	h = 1.0/N
	print "N = ", N, " |  h = ", h

	# set up mesh points
	x = linspace(0,1,N+1)

	# set up function u(x)
	u = zeros(N+1)
	u[int(N/2)] = 1.0

	print "**** Analytical norms ****"
	import sympy as sym
	X = sym.Symbol('X')
	u1 = sym.Rational(1,h)*X - sym.Rational(1,h)*(0.5-h) 
	u2 = sym.Rational(-1,h)*X + sym.Rational(1,h)*(0.5+h) 

	L2 = sym.integrate(u1*u1,(X,0.5-h,0.5)) + sym.integrate(u2*u2,(X,0.5,0.5+h))
	print "L2: ", sqrt(float(L2))

	H1 = L2 + sym.integrate(sym.diff(u1,X)*sym.diff(u1,X),(X,0.5-h,0.5)) + sym.integrate(sym.diff(u1,X)*sym.diff(u1,X),(X,0.5,0.5+h))
	print "H1: ", sqrt(float(H1))

	print "**** Numerical norms ****"

	num_L2 = sum((u**2)/len(u))
	print  "L2: ", sqrt(num_L2) 

	dudx = (u[1:] - u[:-1])/(x[1]-x[0]) 
	num_H1 = sum(u[1:]**2 + dudx**2 )/len(u)
	print "H1: ", sqrt(num_H1) 

	return L2, H1
开发者ID:krikarls,项目名称:MEK4250,代码行数:34,代码来源:hat_norms.py



注:本文中的sympy.integrate函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python sympy.isprime函数代码示例发布时间:2022-05-27
下一篇:
Python sympy.init_printing函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap