你好,我在python(34)中很难解出这个方程,我还添加了35和36作为Ci.
的信息
以下是我目前所掌握的情况:
import numpy as np
import scipy as sp
import sympy as smp
smp.init_printing(True)
C_i = smp.Function('C_i')
t, x, v, tao = smp.symbols('t, x, v, tao', positive=True) # tao = lambda x, v: x/v
m2 = smp.Integral((C_i(t-tao))**2,(tao, 0,t))
m2.doit()
m2_s = m2.doit().simplify()
t_arr = np.arange(0,1000,1)
fm2_1 = smp.lambdify((x,v,t), m2_s, ['scipy', {'C_i': lambda e:0.666666}])
我不知道如何添加条件,陶= x/v。我不需要使用sympy,它只是我可以找到网上作为指导。
2条答案
按热度按时间pkln4tw61#
可以使用
Integral.transform
方法在积分中进行替换:否则我不太确定你的方程34是什么意思。
koaltpgm2#
你的sympy表达式是一个未赋值的积分:
得到的lambda化函数使用
scipy.integrate.quad
:当您指定
x,v
作为函数参数时,它们根本不会在表达式中使用!如果要对
scipy
积分进行更多的控制,则应该对要积分的表达式进行lambdify
操作: