@artshelom

Как найти неизвестную в интеграле?

Использую библиотеку 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)
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MechanicZelenyy
Мне лень было разбирать ваш крокодил, так что попробую угадать --- может надо сделать лямбда выражение с C в качестве аргумента?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы