(3x^2+4xy)dx+(2x^2+2y)dy=0
我在纸上这样解这个方程:
结果必须是:
f(x,y)=x^3+2x^y+y^2=c-c_1
我想在 Matlab 中找到 f(x,y) 函数。我尝试使用 dsolve 命令找到它。
dsolve ('(2*x^2+2*y)*dy=-(3x^2+4xy)', 'x')
但它给出了错误的结果。
还有别的解决方法吗???
最佳答案
并不是说 MATLAB 错了,它求解的是 y(x) 或 x(y) 的ODE。精确微分方程是我们在研究生阶段深入探讨的内容(至少对于工程师而言)。如果您在将其作为编程问题提出之前更多地解释数学,这将很有帮助。如果没有一些解释,f(x,y) 是如何参与的就不清楚了。
换一种方式(有点概念上的延伸,但我认为它很好地表明 F 是一个潜在的函数)...
MATLAB 不会直接为您解决这个问题。但是当以这种方式询问时,您的结果可以立即验证,因为 F 的参与很明显。
请注意,MATLAB 允许您通过计算 diff(f,x) 和 diff(f,y) 进行符号验证。
更新
您可以通过使用 MATLAB 执行这些步骤来获得解决方案。
syms x y c
P = 3*x*x + 4*x*y
Q = 2*x*x + 2*y
f = int(P,x)+subs(int(Q,y),x,0) + c
输出
f = c + y^2 + x^2*(x + 2*y)
一线解决方案
f = int('3*x*x+4*x*y','x') + subs(int('2*x*x+2*y','y'),'x',0) + 'c'
关于matlab - 如何在 MatLab 中求解精确微分方程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13836480/