我在试着解这个方程:(3xy^2)dx +(2x^2y)dy = 0在matlab中,但我不能让它工作。你能帮帮我吗这是我目前为止的代码。
dx和dy在matlab中不显示,因为ML认为它们是1。然后dsolve返回一个错误。
下面是我的代码:
syms dy dx y x
dy = diff(y)
dx = diff(x)
eqn = 3*x*y^2*dx + 2*x^2*y*dy == 0
dsolve(eqn)
字符串
我试着使用dsolve。
编辑:答案是C =(x^3y^2)^(1/5)
2条答案
按热度按时间ie3xauqp1#
假设
dx
和dy
实际上表示x
和y
相对于自变量(如时间)的导数,则您需要定义您相对于out所依赖的自变量的导数。这可以是沙丘使用abstract symbolic function:字符串
然后
sym/diff
将隐式地理解相对于以下方面的差异:型
最后,你可以像以前一样使用你的原始微分方程
dsolve
:型
这将返回两个解,
0
和C1/x(t)^(3/2)
(常量C1
是因为您没有定义任何初始条件)。另一方面,如果
y
实际上是自变量x
而不是时间的函数,则需要执行类似于@duffymo建议的操作:型
vtwuwzda2#
将其重新排列为如下所示:
字符串
这是一个可分离的、非线性的、一阶常微分方程。
Here是Wolfram Alpha的解决方案。