Согласно int
документации, "результаты, возвращаемые int, не включают константы интегрирования. ". Но ясно, что некоторые были введены во время решения. Поэтому я думаю, что лучшим утверждением было бы: MATLAB не вводит никаких новых символических констант в решение, если оно найдено (в отличие от WolframAlpha, но как Mathematica).
Однако, по-видимому, определенные произвольные константы, вносимые в решение и, возможно, скрытые в нем, могут быть введены алгоритмом решения. Это совершенно верно, поскольку неопределенный интеграл дает бесконечное число правильных решений без начальных или конечных данных.
Согласно документации MuPAD для int
(символьный движок MATLAB), неопределенный интегралы решаются с помощью «поиска в таблице или интеграции Риша», и я уверен, что это после некоторого синтаксического анализа и упрощения перед загрузкой. Таким образом, какая бы ветвь дерева решений ни опускалась, символическая машина в конечном итоге производила степени тригонометрических функций, которые указывают на введение констант при их сокращении. Не знаю, стандартная ли это практика. Но я вижу, как предоставление алгоритму некоторой свободы действий для введения таких констант может быть полезным для надежного метода решения, поскольку символическое неопределенное интегрирование является чрезвычайно сложной задачей.
Итак, чтобы попытаться ответить на вопрос: «Почему Matlab считает необходимым предоставлять константу интегрирования, когда, в конце концов, это произвольно?» Он делает это, потому что может, и лежащий в основе алгоритм по какой-то причине определил, что это правильный курс действий. Кроме того, решение совершенно верно, поскольку оно произвольно.
«Кажется довольно опасным». Я бы не согласился. Хотя это и не совсем идеально, результаты интеграции будут правильными после того, как соответствующие данные будут введены и использованы в тандеме с решением. Если таких подходящих данных не существует, проблема недоопределена, и любое решение допустимо для произвольной константы.
person
TroyHaskin
schedule
03.03.2017
8 Cos[x] - 1/8 Cos[2 x]
(без явной константы, поскольку, как и в случае с Matlab, если вы должны прочитать документы и понять, что это дает вам первообразную производную, а первообразные не уникальны в пределах произвольных констант). - person agentp   schedule 04.03.2017