如何将函数y = f [x]重新排列为x = g [y]

时间:2014-05-29 03:05:17

标签: wolfram-mathematica

我有一个微分方程A * dx / dt + B(y-y0)= 0 其中x是y的一个非常复杂的函数。

如何使用Mathematica重新排列y以获得函数x以解决此问题?

由于

1 个答案:

答案 0 :(得分:1)

您可能会问这里有两三个不同的问题:

选项1:主题

首先,如果您确实定义了函数f [x]并且想要重新排列它,那么您将执行以下操作:

f[x_]=2+x+x^2;
Solve[y==f[x],x]

然而,即使在这里你也应该注意到反函数不一定是唯一的。给出了两个函数,每个函数的域仅用于y> = 7/4。

选项2:解决DE

现在,您给出的等式是微分方程。这与“将函数y = f [x]重新排列为x = g [y]”不同,因为涉及衍生物。

Mathematica有一个内置的微分方程求解器:

DSolve[a y'[t] + b (y[t] - y0) == 0, y[t], t]

这将为您提供一个函数(以常量$ a,b,y_0 $表示)作为答案,它将包括未指定的积分常量。

您的系统似乎指的是两个函数,x(t)和y(t)。你不能解决两个变量的一个方程,所以没有更多的信息就不可能解决这个问题(Mathematica或其他)。

选项3:重新排列表达式

作为第三种选择,如果你试图重新排列这个等式而不求解微分方程,你可以这样做:

Solve[a x'[t] + b(y[t]-y0)==0,x'[t]]

这将给你$ x'(t)$的其他常量和函数$ y(t)$,但为了整合这个(即解决微分方程)你需要了解更多关于y [t]。