整合蟒蛇包含一些参数

问题描述:

import numpy as np 
from scipy.integrate import quad 
def integrand(x,A,k,p): 
return A*(np.sin(k*x+p)) #A is a parameter 

k=1 
p=56 
print quad(integrand,0,np.pi,args=(A,k,p))  

^^这给了错误整合蟒蛇包含一些参数

如何执行含有积分参数?

+2

感觉像tellins我们这是什么错误? –

+0

你有安装numpy和scipy吗? 'pip安装numpy''pip安装scipy'。 –

+0

'NameError回溯(最近最后调用) () 6 K = 1 7 P = 56 ----> 8打印四(积,0,NP .pi,args =(A,k,p)) NameError:名称'A'未定义' **这是错误** – MSD

看样子你是不是定义变量“A”,尝试做

A=15 

或类似的东西,只要确保你调用它前面定义一个。

+0

但我想使用A作为像常量一样整合Asin(x)我们得到-Acos(x)+ c – MSD

+0

那么你必须将它定义为某种东西,否则代码将无法工作,目前它试图找到A和一无所获。如果你希望它是一个常量,那么你必须将它定义为那个常量 –

我们可以使用sympy libray用于集成函数而不为其变量赋值。从我的项目之一

示例代码:

from sympy import * 
A = symbol('A') 
k = symbol('k') 
p = symbol('p') 
x = symbol('x') 
s = symbol('s') 

f = integrate(exp(-1*s*x)*A*sin(k*x+p),(x,0,oo)) 

f = f.subs(A,50) 

print str(f) 

(X,0,∞)是指X从零整合WRT(0)至infinty(OO)