int

Определенные и неопределенные интегралы

Описание

пример

F = int(expr) вычисляет неопределенный интеграл expr. int использует переменную интегрирования по умолчанию, определяемую как symvar(expr,1). Если expr является константой, тогда переменная интегрирования по умолчанию x.

пример

F = int(expr,var) вычисляет неопределенный интеграл expr относительно символьной скалярной переменной var.

пример

F = int(expr,a,b) вычисляет определенный интеграл expr от a на b. int использует переменную интегрирования по умолчанию, определяемую как symvar(expr,1). Если expr является константой, тогда переменная интегрирования по умолчанию x.

int(expr,[a b]) эквивалентно int(expr,a,b).

пример

F = int(expr,var,a,b) вычисляет определенный интеграл expr относительно символьной скалярной переменной var от a на b.

int(expr,var,[a b]) эквивалентно int(expr,var,a,b).

пример

F = int(___,Name,Value) задает дополнительные опции, используя один или несколько Name,Value аргументы в виде пар. Для примера, 'IgnoreAnalyticConstraints',true задает, что int применяет дополнительные упрощения к интегралу.

Примеры

свернуть все

Задайте одномерное выражение.

syms x
expr = -2*x/(1+x^2)^2;

Найдите неопределенный интеграл одномерного выражения.

F = int(expr)
F = 

1x2+11/( x ^ 2 + 1)

Задайте многомерную функцию с переменными x и z.

syms x z
f(x,z) = x/(1+z^2);

Найдите неопределенные интегралы многомерного выражения относительно переменных x и z.

Fx = int(f,x)
Fx(x, z) = 

x22z2+1x ^ 2/( 2 * (z ^ 2 + 1))

Fz = int(f,z)
Fz(x, z) = xatan(z)x*atan(z)

Если вы не задаете переменную интегрирования, то int использует первую переменную, возвращенную symvar как переменная интегрирования.

var = symvar(f,1)
var = xx
F = int(f)
F(x, z) = 

x22z2+1x ^ 2/( 2 * (z ^ 2 + 1))

Интегрирование символического выражения из 0 на 1.

syms x
expr = x*log(1+x);
F = int(expr,[0 1])
F = 

14sym (1/4)

Интегрирование другого выражения из sin(t) на 1.

syms t
F = int(2*x,[sin(t) 1])
F = cos(t)2cos (t) ^ 2

Когда int невозможно вычислить значение определенного интеграла, численно аппроксимировать интеграл при помощи vpa.

syms x
f = cos(x)/sqrt(1 + x^2);
Fint = int(f,x,[0 10])
Fint = 

010cos(x)x2+1dxint (cos (x )/sqrt (x ^ 2 + 1), x, 0, 10)

Fvpa = vpa(Fint)
Fvpa = 0.37570628299079723478493405557162vpa ('0.3757062829907972347849340557162')

Чтобы аппроксимировать интегралы непосредственно, используйте vpaintegral вместо vpa. The vpaintegral функция является более быстрой и обеспечивает управление допусками на интегрирование.

Fvpaint = vpaintegral(f,x,[0 10])
Fvpaint = 0.375706vpa ('0.375706')

Задайте символьную матрицу, содержащую четыре выражения в качестве его элементов.

syms a x t z
M = [exp(t) exp(a*t); sin(t) cos(t)]
M = 

(eteatsin(t)cos(t))[exp (t), exp (a * t); sin (t), cos (t)]

Найдите неопределенные интегралы матрицы поэлементно.

F = int(M,t)
F = 

(eteata-cos(t)sin(t))[exp (t), exp (a * t )/a; -cos (t), sin (t)]

Задайте символическую функцию и вычислите ее неопределенный интеграл.

syms f(x)
f(x) = acos(cos(x));
F = int(f,x)
F(x) = 

xacos(cos(x))-x22sign(sin(x))x * acos (cos (x)) - x ^ 2/( 2 * знак (sin (x)))

По умолчанию int использует строгие математические правила. Эти правила не позволяют int переписать acos(cos(x)) как x.

Если вы хотите простого практического решения, задайте 'IgnoreAnalyticConstraints' на true.

F = int(f,x,'IgnoreAnalyticConstraints',true)
F(x) = 

x22x ^ 2/2

Задайте символическое выражение xt и вычислите его неопределенный интеграл относительно переменной x.

syms x t
F = int(x^t,x)
F = 

{log(x) если  t=-1xt+1t+1 если  t-1кусочно (t = = -1, log (x), t ~ = -1, x ^ (t + 1 )/( t + 1))

По умолчанию int возвращает общие результаты для всех значений другого символьного параметра t. В этом примере int возвращает два интегральных результата для случая t=-1 и t-1.

Чтобы игнорировать особые случаи значений параметров, установите 'IgnoreSpecialCases' на true. При помощи этой опции int игнорирует специальный случай t=-1 и возвращает решение для t-1.

F = int(x^t,x,'IgnoreSpecialCases',true)
F = 

xt+1t+1x ^ (t + 1 )/( t + 1)

Задайте символическую функцию f(x)=1/(x-1) который имеет полюс в x=1.

syms x
f(x) = 1/(x-1)
f(x) = 

1x-11/( x - 1)

Вычислите определенный интеграл этой функции из x=0 кому x=2. Поскольку интервал интегрирования включает в себя полюс, результат не задан.

F = int(f,[0 2])
F = NaNsym(NaN)

Однако основное значение Коши интеграла существует. Чтобы вычислить основное значение Коши интеграла, установите 'PrincipalValue' на true.

F = int(f,[0 2],'PrincipalValue',true)
F = 0sym (0)

Найдите интеграл xexdx.

Определите интеграл, не оценивая его путем установки 'Hold' опция для true.

syms x g(y)
F = int(x*exp(x),'Hold',true)
F = 

xexdxint (x * exp (x), x, 'Hold = TRUE', true)

Можно применить интегрирование деталей к F при помощи integrateByParts функция. Использование exp(x) как дифференциал, который будет интегрирован.

G = integrateByParts(F,exp(x))
G = 

xex-exdxx * exp (x) - int (exp (x), x, 'Hold = TRUE', true)

Чтобы вычислить интеграл в G, используйте release функция, чтобы игнорировать 'Hold' опция.

Gcalc = release(G)
Gcalc = xex-exx * exp (x) - exp (x)

Сравните результат с результатом интегрирования, возвращенным int без установки 'Hold' опция.

Fcalc = int(x*exp(x))
Fcalc = exx-1exp (x) * (x - 1)

Если int невозможно вычислить закрытую форму интеграла, тогда он возвращает неразрешенный интеграл.

syms f(x)
f(x) = sin(sinh(x));
F = int(f,x)
F(x) = 

sin(sinh(x))dxint(sin(sinh(x)), x)

Можно аппроксимировать функцию интегранда f(x) как полиномы при помощи разложения Тейлора. Применить taylor чтобы расширить функцию integrand f(x) как полиномы вокруг x=0. Вычислите интеграл аппроксимированных полиномов.

fTaylor = taylor(f,x,'ExpansionPoint',0,'Order',10)
fTaylor(x) = 

x95670-x790-x515+xx ^ 9/5670 - x ^ 7/90 - x ^ 5/15 + x

Fapprox = int(fTaylor,x)
Fapprox(x) = 

x1056700-x8720-x690+x22x ^ 10/56700 - x ^ 8/720 - x ^ 6/90 + x ^ 2/2

Входные параметры

свернуть все

Интегранд, заданный как символьное выражение, функция, вектор, матрица или число.

Интеграционная переменная, заданная как символьная переменная. Если вы не задаете эту переменную, int использует переменную по умолчанию, определяемую как symvar(expr,1). Если expr является константой, тогда переменная по умолчанию x.

Нижняя граница, заданная как число, символьное число, переменная, выражение или функция (включая выражения и функции с бесконечностями).

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'IgnoreAnalyticConstraints',true задает, что int применяет чисто алгебраические упрощения к интегранду.

Показатель для применения чисто алгебраических упрощений к интегранду, заданный как true или false. Если значение true, применить чисто алгебраические упрощения к интегранду. Эта опция может предоставить более простые результаты для выражений, для которых непосредственное использование интегратора возвращает сложные результаты. В некоторых случаях это также позволяет int вычислить интегралы, которые не могут быть вычислены в противном случае.

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

Показатель игнорирования особых случаев, указанный как true или false. Это игнорирует случаи, которые требуют, чтобы один или несколько параметров были элементами массива сравнительно небольшого множества, такого как фиксированное конечное множество или набор целых чисел.

Индикатор возврата основного значения, заданный как true или false. Если значение trueвычислите основное значение Коши интеграла. В live скрипте главное значение Коши недооцененного интеграла показывает как символ.

Индикатор недооцененного интегрирования, заданный как true или false. Если значение true, int возвращает интегралы без их оценки.

Совет

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

    • Антипроизводная не существует в закрытой форме.

    • Антипроизводная существует, но int не может найти его.

    Если int невозможно вычислить закрытую форму интеграла, он возвращает неразрешенный интеграл.

    Попробуйте аппроксимировать такие интегралы с помощью одного из следующих методов:

    • Для неопределенных интегралов используйте расширения рядов. Используйте этот метод, чтобы аппроксимировать интеграл вокруг определенного значения переменной.

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

  • Для неопределенных интегралов, int не возвращает константу интегрирования в результате. Результаты интегрирования математически эквивалентных выражений могут быть различными. Для примера, syms x; int((x+1)^2) возвращает (x+1)^3/3, в то время как syms x; int(x^2+2*x+1) возвращает (x*(x^2+3*x+3))/3, который отличается от первого результата 1/3.

  • Для неопределенных интегралов, int неявно принимает, что переменная интегрирования var реально. Для определенных интегралов int ограничивает переменную интегрирования var к указанному интервалу интегрирования. Если одна или обе границы интегрирования a и b не являются числовыми, int принимает, что a <= b если вы явным образом не задаете обратное.

Алгоритмы

Когда вы используете IgnoreAnalyticConstraints, int применяет следующие правила:

  • Журнал (a) + журнал ( b) = журнал (a· b) для всех значений a и b. В частности, следующее равенство справедливо для всех значений a, b и c:

      (a · b)c = ac· bc.

  • журнал (ab) = b· журнал (a) для всех значений a и b. В частности, следующее равенство справедливо для всех значений a, b и c:

      (ab)c = ab·c.

  • Если f и g являются стандартными математическими функциями и f (g (x )) = x для всех малых положительных чисел, то f (g (x )) = x принимается допустимым для всех комплексных чисел x. В частности:

    • журнал (ex) = x

    • asin (sin (x )) = x, acos (cos (x )) = x, atan ( tan (x)) = x

    • asinh (sinh (x )) = x, acosh (cosh (x )) = x, atanh (tanh  (x)) = x

    • W k (x· ex) = x для всех индексов ветви k функции Lambert W.

Представлено до R2006a