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 = потому что(t)2

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

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

010потому что(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)потому что(t))

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

F = int(M,t)
F = 

(eteata-потому что(t)sin(t))

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

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

xacos(потому что(x))-x22знак(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 = 

{журнал(x) если  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

Найдите интеграл xexдуплекс.

Задайте интеграл, не оценивая его путем установки '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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

Используя эту опцию может привести к неправильным или неполным результатам.

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

Индикатор для того, чтобы возвратить основное значение, заданное как true или false. Если значением является true, вычислите Главное значение Коши интеграла.

Индикатор для неоцененного интегрирования, заданного как 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:

      ) c = a c · b c.

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

      (a b) c = a b · c.

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

    • журнал (e x) = 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 · e x) = x для всех индексов ветви k функции Ламберта В.

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