Вычислите неопределенные интегралы

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Чтобы интегрировать математическое выражение, f означает находить выражение F таким образом, что первой производной F является f. Выражение F является антипроизводной f. Интегрирование является более сложной задачей, чем дифференцирование. В отличие от дифференцирования, нет никакого общего алгоритма для вычислительных интегралов произвольного выражения. Когда вы дифференцируете выражение, результат часто представляется с точки зрения тех же или менее сложных функций. Когда вы интегрируете выражение, результат часто включает намного более сложные функции, чем те, вы используете в исходном выражении. Например, если исходное выражение состоит из элементарных функций, можно получить результат с точки зрения элементарных функций:

int(x + 1/(x^2), x)

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

int(sin(x)/x, x)

Когда вы вычисляете неопределенный интеграл, MuPAD® неявно принимает, что переменная интегрирования действительна. Результат интегрирования допустим для всех вещественных чисел, но может быть недопустимым для комплексных чисел. Также можно задать свойства переменных интегрирования при помощи функции assume. Свойства, которые вы задаете, могут вмешаться учитывая, что переменная интегрирования действительна. Если MuPAD не может интегрировать выражение с помощью предположения, функция int выдает предупреждение. Используйте функцию intlib::printWarnings, чтобы включить и выключить предупреждения. Например, включите предупреждения:

intlib::printWarnings(TRUE):

Предположим, что вы хотите интегрировать следующее выражение под предположением, что переменная интегрирования положительна. Это предположение не конфликтует учитывая, что переменная действительна. Команда int использует ваше предположение:

f := abs(x):
int(f, x) assuming x > 0

Интегрируйте это выражение под предположением, что x является целым числом. MuPAD не может интегрировать выражение по дискретному подмножеству вещественных чисел. Команда int выдает предупреждение, и затем объединяется по полю вещественных чисел:

int(f, x) assuming x in Z_
Warning: Unable to integrate when 'x' has property 'Z_'. Using assumption 'x' has property 'R_' for integration. [intlib::int]

Для дискретного множества значений переменной интегрирования вычислите сумму вместо того, чтобы вычислить интеграл. Смотрите Суммирование для деталей.

Теперь объединяйтесь под предположением, что x является мнимым. Команда int не может вычислить интеграл выражения по мнимым числам. Это выдает предупреждение и интегрирует выражение по области комплексных чисел:

assume(x, Type::Imaginary);
int(f, x)
Warning: Unable to integrate when 'x' has property 'Dom::ImageSet(x*I, x, R_)'. Using assumption 'x' has property 'C_' for integration. [intlib::int]

Для получения дополнительной информации о предположениях, смотрите Свойства и Предположения. Прежде чем вы возобновите другие вычисления, очистите предположение на переменной x:

unassume(x):

Кроме того, отключите предупреждения:

intlib::printWarnings(FALSE):