我有一个微分方程A * dx / dt + B(y-y0)= 0 其中x是y的一个非常复杂的函数。
如何使用Mathematica重新排列y以获得函数x以解决此问题?
由于
答案 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]。