如何解决在Python中为系列扩展实现分析集成
我非常想在计算器中实现分析集成。在成功尝试之前,我已经使用了数值积分。但是,我似乎无法使我的代码正常工作。
我正在使用scipy.integrate模块,得到的错误代码为TypeError: can't convert expression to float
我的代码是:
from sympy.functions import sin,cos,tan
from sympy.abc import x
from sympy import series
import scipy.integrate as integrate
import scipy.special as special
function1 = str(input("The function that should be expanded: "))
x0 = float(input("Point of developement: "))
n = 1 + int(input("Grade of polynomial: "))
# input 0 -> n=1 -> konstant (1 term,konstant)
# input 1 -> n=2 -> lineær (2 termer,konstant + linear)
# input 2 -> n=3 -> kvadratisk (3 termer,konstant + linear + kvadratisk)
# ...
function2 = series(function1,x,x0,n)
print(function2)
a = float(input("Integrate from: "))
b = float(input("Integrate to: "))
def f(x):
return function2.removeO()
x = Symbol('x')
result = integrate.quad(lambda x: f(x),a,b)
print("...................")
print("Here is your answer: ")
print(result)
我认为可能是由于代码使用了不同的模块(sympy和scipy),或者我只是需要以某种方式转换表达式。我尝试使用lambdify,但没有成功。
def f(x):
return function2.removeO()
lam_f = lambdify(x,f(x))
result = integrate.quad(lambda x: lam_f,b)
又遇到另一个TypeError,因为lambdify会将表达式转换为函数。
有人可以帮忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。