Инвертирование функции в положительные реалы - PullRequest
0 голосов
/ 06 июня 2019

Итак, я пытаюсь использовать обратную функцию, которую я затем дифференцирую.Меня интересуют только решения в положительной реальной области.Здесь есть подзадача, которая заключается в том, как обрабатывать показатели в качестве некоторых примеров:

Если я введу x^2 = u, я хочу, чтобы он дал мне u^(1/2).

Если я дам ему u=logx, я хочу, чтобы оно показало мне экспоненту u.И т. Д.,

Есть ли простой способ сделать это?Проблема в том, что он возвращает слишком много решений, есть ли способ просто отбросить отрицательные решения?

from sympy import *
x, b, a, u, t, dt, dW = symbols('x b a u t dt dW', real = True)
utility = Eq(x**2, u)
invutility = solveset(utility, x)

Что дает:

{-sqrt(u), sqrt(u)}

Меня интересует только положительное решение.

1 Ответ

1 голос
/ 08 июня 2019

solve даст вам эти решения, если вы объявите переменные как положительные:

>>> x, u = var('x u',positive=True)
>>> utility = Eq(x**2, u)
>>> solve(utility,x)
[sqrt(u)]
>>> solve(u-log(x),x)
[exp(u)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...