Использую библиотеку sympy и scipy, для нахождения интеграла и неизвестной через метод nsolve
Неизвестная C (если С подставить и убрать nsolve, все считает):
C = Symbol('C')
print(nsolve(integrate.quad(lambda p:(((p**2-1)*(p-f))*(2*C**2)).subs('f', self.f).subs('k', self.k), math.sqrt((((self.h * self.f * self.gamma) / C) + 1)), self.f+math.sqrt(1+self.f**2))), C, 1)
А ошибка:
can't convert expression to float
Как сделать поиск неизвестной в интеграле через подбор?
Я интегрирую по p, нужно чтобы (integralP[1]-integralP[0]-545.7245820872807)=0
Вот такой код:
self.k = 1.4281480067421142
self.f = 0.7002075382097097
self.s = 1.63044141640584
self.h = 27.5620864142761
C = Symbol('C')
lambdaP=lambda p:(((p**2-1)*(p-f))*(2*C**2)).subs('f', self.f).subs('k', self.k)
integralP=integrate.quad(lambdaP, math.sqrt((((self.h * self.f * self.gamma) / C) + 1)), self.f+math.sqrt(1+self.f**2))
print(integralP[1]-integralP[0]-545.7245820872807)