用python求解积分方程

2024-09-27 19:30:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在win7中用python3.2来求解一个积分方程。在

我想先找到一个初始的猜测解,然后使用“fsolve()”在python中解决它。在

代码如下:

import numpy as np
from scipy.optimize.minpack import fsolve
from cmath import cos, exp
from scipy.integrate.quadpack import quad

def integrand2(x, b):
    return exp(-x)/b 

def intergralFunc2(b):
    integral,err = quad(integrand2, 0, 10, args=(b))  // **error here** 
    return 0.01 - integral

import matplotlib.pyplot as plt

def findGuess():
    vfunc = np.vectorize(intergralFunc2)
    f = np.linspace(-20, 20,10)
    plt.plot(f, vfunc(f))
    plt.xlabel('guess value')
    plt.show()

def solveFunction():
    y= fsolve(intergralFunc2, 10)
    return y


if __name__ == '__main__':
    findGuess()
    solution = solveFunction()
    print("solution is ", solution)

我有个错误:

^{pr2}$

任何帮助都将不胜感激。在


Tags: fromimportreturndefasnppltscipy
1条回答
网友
1楼 · 发布于 2024-09-27 19:30:32

只是做了以下的改变,它应该起作用(它对我有用)。在

删除:

from cmath import exp, cos

包括:

^{pr2}$

如注释中所述,cmath函数只接受float输入,而不接受数组。在

相关问题 更多 >

    热门问题