簡體   English   中英

如何解決MatLab中的精確微分方程?

[英]How to solve Exact Differential Equations in MatLab?

(3×^ 2 + 4XY)DX +(2×^ 2 + 2Y)DY = 0

我在紙上解決了這個等式:

解

結果必須是:

F(X,Y)= X ^ 3 + 2×^ Y + Y 1 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是一個潛在的功能)...

div({F})= \\ frac {\\ partial F} {\\ partial x} + \\ frac {\\ partial F} {\\ partial y} =(3x ^ 2 + 4xy)+(2x ^ 2 + 2y)= 0

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'

無論如何你錯誤地寫了它。

我做到了

>> dsolve ('(2*x^2+2*y)*Dy=-(3*x^2+4*x*y)', 'x')

得到了

ans =

   (x^4 - x^3 + C2)^(1/2) - x^2
 - (x^4 - x^3 + C2)^(1/2) - x^2

Wolfram Alpha證實了Matlab的解決方案:

http://www.wolframalpha.com/input/?i=%283x%5E2%2B4xy%29%2B%282x%5E2%2B2y%29y%27%3D0

UPDATE

可能這與你得到的結果一致,因為你用F(x,y)表達答案,而DE的解是f(y)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM