EssayAI
Блог
Блог
Математика и алгоритмы

Уравнение в полных дифференциалах: как решить

11 июня 2026Время чтения: 8 минут
#уравнение в полных дифференциалах#точное дифференциальное уравнение#условие точности#потенциальная функция#частное решение
Уравнение в полных дифференциалах: как решить

Уравнение в полных дифференциалах - один из немногих типов дифференциальных уравнений первого порядка, который решается не подбором интегрирующего множителя или заменой переменных, а прямым восстановлением функции по её дифференциалу. Уравнение записывают в виде M(x,y)dx+N(x,y)dy=0M(x,y)\,dx + N(x,y)\,dy = 0, и если левая часть действительно является полным дифференциалом некоторой функции F(x,y)F(x,y), то всё решение сводится к простому равенству F(x,y)=CF(x,y) = C. Ниже разберём, как распознать такое уравнение по условию точности, как восстановить функцию FF пошагово и как найти частное решение по начальному условию. Чтобы сразу увидеть, что стоит за формулами, покрути калькулятор ниже: он проверяет точность, считает константу CC по заданной точке и рисует саму кривую решения.

Что такое уравнение в полных дифференциалах

Дифференциальное уравнение первого порядка M(x,y)dx+N(x,y)dy=0M(x,y)\,dx + N(x,y)\,dy = 0 называют уравнением в полных дифференциалах, если существует функция F(x,y)F(x,y), для которой

dF=Fxdx+Fydy=M(x,y)dx+N(x,y)dy.dF = \frac{\partial F}{\partial x}\,dx + \frac{\partial F}{\partial y}\,dy = M(x,y)\,dx + N(x,y)\,dy.

Иными словами, вся левая часть уравнения - это дифференциал одной функции FF, а само уравнение превращается в dF=0dF = 0. Раз дифференциал функции равен нулю вдоль решения, сама функция вдоль него постоянна, и общее решение записывается без интегрирования исходного уравнения в привычном смысле - достаточно найти FF и приравнять её к произвольной постоянной: F(x,y)=CF(x,y) = C. Задача сводится к тому, чтобы, во-первых, убедиться, что такая функция FF вообще существует, а во-вторых, восстановить её по известным MM и NN.

Условие точности: как проверить уравнение

Не любое уравнение вида Mdx+Ndy=0M\,dx + N\,dy = 0 является точным. Проверка опирается на равенство смешанных частных производных: если FF существует и достаточно гладкая, то 2Fyx=2Fxy\dfrac{\partial^2 F}{\partial y\,\partial x} = \dfrac{\partial^2 F}{\partial x\,\partial y}, а значит

My=Nx.\frac{\partial M}{\partial y} = \frac{\partial N}{\partial x}.

Это и есть условие точности - единственное, что нужно проверить перед тем, как искать FF. Если равенство не выполняется, уравнение не точное в исходном виде: тогда либо подбирают интегрирующий множитель, который делает его точным, либо решают другим методом. Если равенство выполняется на всей области определения (без разрывов и без исключённых точек), функция FF гарантированно существует.

Проверка условия точности: частная производная M по y и частная производная N по x вычисляются отдельно и сравниваются - совпадение подтверждает, что уравнение точное
Проверка условия точности: частная производная M по y и частная производная N по x вычисляются отдельно и сравниваются - совпадение подтверждает, что уравнение точное

Калькулятор выше держит это условие выполненным при любом значении ползунка pp - коэффициент входит в MM и NN симметрично, поэтому M/y=N/x=p\partial M/\partial y = \partial N/\partial x = p независимо от того, какое значение выбрано. Это удобно, чтобы почувствовать: точность - это свойство самой пары функций MM, NN, а не какого-то одного значения параметра.

Алгоритм нахождения функции F(x,y)

Как только условие точности подтверждено, функцию FF восстанавливают по шагам:

  1. Интегрируем MM по xx, считая yy постоянной: F(x,y)=M(x,y)dx+φ(y)F(x,y) = \displaystyle\int M(x,y)\,dx + \varphi(y), где φ(y)\varphi(y) - неизвестная пока функция только от yy (она играет роль постоянной интегрирования, которая могла зависеть от второй переменной).
  2. Дифференцируем полученное выражение по yy и приравниваем к NN: Fy=N(x,y)\dfrac{\partial F}{\partial y} = N(x,y).
  3. Из этого равенства выражаем φ(y)\varphi'(y) - все слагаемые с xx должны сократиться, иначе где-то ошибка в вычислениях или условие точности на самом деле не выполнено.
  4. Интегрируем φ(y)\varphi'(y) по yy и получаем саму φ(y)\varphi(y) (постоянную интегрирования на этом шаге можно опустить - она войдёт в общую константу CC).
  5. Записываем общее решение F(x,y)=CF(x,y) = C.
Точка движется по кривой F(x,y) = C: направление движения (dx, dy) всегда подчиняется равенству M dx + N dy = 0, поэтому значение F вдоль всего пути остаётся неизменным

Видео показывает, почему это работает: пока точка идёт вдоль кривой F(x,y)=CF(x,y) = C, значение FF не меняется - а значит и её дифференциал в каждый момент равен нулю. Это тот же факт, что и исходное уравнение Mdx+Ndy=0M\,dx + N\,dy = 0, только увиденный геометрически: решения точного уравнения - это линии уровня функции FF.

Общее и частное решение

Равенство F(x,y)=CF(x,y) = C с произвольной постоянной CC - это общее решение: оно описывает целое семейство кривых, по одной на каждое значение CC. Чтобы получить частное решение, соответствующее конкретной задаче (например, условию y(x0)=y0y(x_0) = y_0), нужно подставить начальную точку в найденную функцию FF и вычислить, чему равна константа именно для неё:

C=F(x0,y0).C = F(x_0, y_0).

После этого частное решение - уже не семейство, а одна конкретная кривая F(x,y)=F(x0,y0)F(x,y) = F(x_0,y_0), проходящая ровно через заданную точку.

Семейство кривых общего решения: три значения константы C дают вложенные кривые одной формы, частное решение через начальную точку выделено золотым
Семейство кривых общего решения: три значения константы C дают вложенные кривые одной формы, частное решение через начальную точку выделено золотым

В калькуляторе выше именно так и устроено: два ползунка задают начальную точку (x0,y0)(x_0, y_0), калькулятор подставляет её в F(x,y)=x2+pxy+y2F(x,y) = x^2 + pxy + y^2 и получает константу CC, а затем рисует золотую кривую этого частного решения на фоне пунктирных соседей - других значений CC того же семейства.

Пример решения типовой задачи

Разберём уравнение (2x+y)dx+(x+2y)dy=0(2x + y)\,dx + (x + 2y)\,dy = 0 с условием y(1)=2y(1) = 2 - это ровно те значения, что стоят в калькуляторе по умолчанию.

Сначала проверяем точность: M=2x+yM = 2x + y, значит M/y=1\partial M/\partial y = 1; N=x+2yN = x + 2y, значит N/x=1\partial N/\partial x = 1. Равенство выполнено, уравнение точное.

Интегрируем MM по xx:

F(x,y)=(2x+y)dx+φ(y)=x2+xy+φ(y).F(x,y) = \int (2x + y)\,dx + \varphi(y) = x^2 + xy + \varphi(y).

Дифференцируем по yy и сравниваем с NN:

Fy=x+φ(y)=x+2yφ(y)=2yφ(y)=y2.\frac{\partial F}{\partial y} = x + \varphi'(y) = x + 2y \quad\Rightarrow\quad \varphi'(y) = 2y \quad\Rightarrow\quad \varphi(y) = y^2.

Значит, F(x,y)=x2+xy+y2F(x,y) = x^2 + xy + y^2, а общее решение - x2+xy+y2=Cx^2 + xy + y^2 = C. Подставляем начальную точку x0=1x_0 = 1, y0=2y_0 = 2:

C=12+12+22=1+2+4=7.C = 1^2 + 1\cdot 2 + 2^2 = 1 + 2 + 4 = 7.

Частное решение: x2+xy+y2=7x^2 + xy + y^2 = 7. Это и есть та самая золотая кривая на графике калькулятора при значениях по умолчанию - можно подвинуть ползунки x0x_0 и y0y_0 и убедиться, что кривая и константа CC пересчитываются согласованно.

Частые ошибки

  • Забыли, что φ\varphi зависит только от yy. После интегрирования MM по xx добавляемая функция не должна содержать xx - если при дифференцировании по yy слагаемые с xx не сократились с NN, значит либо в интегрировании ошибка, либо условие точности на самом деле не выполнялось.
  • Проверили точность не полностью. Условие M/y=N/x\partial M/\partial y = \partial N/\partial x нужно проверять как тождество, а не в одной точке - совпадение значений в конкретной точке ничего не доказывает.
  • Перепутали, откуда берётся φ(y)\varphi(y). Она получается интегрированием φ(y)\varphi'(y) по yy, а не подстановкой значения - частая путаница у тех, кто решает уравнение впервые.
  • Забыли постоянную интегрирования на последнем шаге и потеряли общее решение. Итоговая запись - обязательно F(x,y)=CF(x,y) = C с произвольной постоянной, а не просто выражение для FF.
  • Подставили начальное условие не в FF, а в исходное уравнение. Константа CC ищется именно из равенства C=F(x0,y0)C = F(x_0, y_0), после того как функция FF уже найдена.

FAQ

Как быстро проверить, что уравнение точное, не решая его до конца? Достаточно продифференцировать MM по yy и NN по xx и сравнить результаты. Если они совпадают как функции (тождественно, а не в отдельной точке), уравнение точное и можно переходить к поиску FF.

Можно ли начинать интегрирование не с MM по xx, а с NN по yy? Да, оба пути равноправны и дают одну и ту же функцию FF с точностью до постоянной. Выбирают тот, где интегрирование проще технически - иногда NN интегрируется по yy легче, чем MM по xx.

Что делать, если условие точности не выполняется? Уравнение в исходном виде не точное. В этом случае ищут интегрирующий множитель - функцию, на которую умножают обе части, чтобы условие точности стало выполняться, либо решают уравнение другим методом (разделение переменных, линейное уравнение, замена переменной).

Коротко

Уравнение M(x,y)dx+N(x,y)dy=0M(x,y)\,dx + N(x,y)\,dy = 0 точное, если M/y=N/x\partial M/\partial y = \partial N/\partial x. В этом случае существует функция F(x,y)F(x,y) с dF=Mdx+NdydF = M\,dx + N\,dy, а решение уравнения - это семейство линий уровня F(x,y)=CF(x,y) = C. Функцию FF находят интегрированием MM по xx с добавлением неизвестной φ(y)\varphi(y), которую определяют через сравнение с NN. Частное решение получают, подставив начальную точку в найденную FF и вычислив константу CC именно для неё.

Доверьте текст нейросети EssayAI

Открыть EssayAI

Бесплатно, на русском языке и без VPN

Читайте также

Атрибуты сущности в ER-модели: пять типов и примеры

Атрибуты сущности в ER-модели: пять типов и примеры

Разбираем пять типов атрибутов сущности в ER-модели: простой, составной, ключевой, многозначный, производный, с примерами и переходом к столбцам и таблицам реляционной схемы.

7 июля 20269 минут
Циркуляция векторного поля по контуру: формула и смысл

Циркуляция векторного поля по контуру: формула и смысл

Циркуляция векторного поля по контуру: что это такое, как вычислить линейный интеграл по параметризации и через ротор поля с теоремой Грина, разбор типичных ошибок и примеров расчёта.

7 июля 20267 минут
Динамическое программирование: основы и идея мемоизации

Динамическое программирование: основы и идея мемоизации

Что такое динамическое программирование простыми словами: перекрывающиеся подзадачи, оптимальная подструктура, мемоизация и табуляция на примере чисел Фибоначчи, разница с наивной рекурсией.

7 июля 20267 минут
Кодировка Unicode и UTF-8: как кодируются символы

Кодировка Unicode и UTF-8: как кодируются символы

Кодировка Unicode и UTF-8 простыми словами: как код символа превращается в байты, почему кириллица и эмодзи занимают 2-4 байта и как устроены префиксы 110, 1110, 10.

7 июля 20269 минут
Начальные и центральные моменты случайной величины: формулы

Начальные и центральные моменты случайной величины: формулы

Разбираем начальные и центральные моменты случайной величины: как выразить дисперсию, асимметрию и эксцесс через ν_k и вычислить их на примере дискретного распределения.

7 июля 20268 минут
Натуральная величина сечения многогранника плоскостью

Натуральная величина сечения многогранника плоскостью

Как найти натуральную величину сечения многогранника плоскостью: способы замены плоскостей проекций и вращения, формула через угол наклона, площадь и периметр сечения на примере задачи.

7 июля 20268 минут