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+1

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

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

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

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

x22z2+1

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

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

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

x22z2+1

Интегрируйте символьное выражение от 0 к 1.

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

14

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

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

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

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

010cos(x)x2+1dx

Fvpa = vpa(Fint)
Fvpa = 0.37570628299079723478493405557162

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

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

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

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

(eteatsin(t)cos(t))

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

F = int(M,t)
F = 

(eteata-cos(t)sin(t))

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

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

xacos(cos(x))-x22sign(sin(x))

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

Если вы хотите простое практическое решение, устанавливаете 'IgnoreAnalyticConstraints' к true.

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

x22

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

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

{log(x) if  t=-1xt+1t+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+1

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

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

1x-1

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

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

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

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

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

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

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

xexdx

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

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

xex-exdx

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

Gcalc = release(G)
Gcalc = xex-ex

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

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

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

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

sin(sinh(x))dx

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

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

x95670-x790-x515+x

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

x1056700-x8720-x690+x22

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

свернуть все

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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 isreal. Для определенных интегралов, int ограничивает переменную интегрирования var к заданному интервалу интегрирования. Если одна или обе границы интегрирования a и b не являются числовыми, int принимает тот a <= b если вы явным образом не задаете в противном случае.

Алгоритмы

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

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

      A, B c = acBc.

  • журнал (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 (дубинка (x)) = x, atanh (tanh (x)) = x

    • Wk (x · ex) = x для всех индексов ветви k функции Ламберта В.

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