Дело не в том, что MATLAB неправ, он решает ОДУ для y(x) или x(y). Точные дифференциальные уравнения — это то, что мы подробно изучали на уровне магистратуры (по крайней мере, для инженеров). Полезно, если вы объясните математику больше, прежде чем ставить это как вопрос программирования. Без некоторого объяснения, как задействована функция 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'
person
ccook
schedule
12.12.2012
f(x,y)=x^3+2x^y+y^2=c-c_1
илиf(x,y)=x^3+2x^y+y^2 = C
- person RedLEON   schedule 12.12.2012