Интегральная показательная функция
expint(x)
expint(n,x)
Вычислите экспоненциальные интегралы для чисел с плавающей запятой. Поскольку эти числа не являются символьными объектами, вы получаете результаты с плавающей точкой.
s = [expint(1/3), expint(1), expint(-2)]
s = 0.8289 + 0.0000i 0.2194 + 0.0000i -4.9542 - 3.1416i
Вычислите экспоненциальные интегралы для тех же чисел, преобразованных в символьные объекты. Для положительных значений x
expint(x)
возвращает -ei(-x)
. Для отрицательных величин x
это возвращает -pi*i - ei(-x)
.
s = [expint(sym(1)/3), expint(sym(1)), expint(sym(-2))]
s = [ -ei(-1/3), -ei(-1), - ei(2) - pi*1i]
Используйте vpa
, чтобы аппроксимировать этот результат с 10-разрядной точностью.
vpa(s, 10)
ans = [ 0.8288877453, 0.2193839344, - 4.954234356 - 3.141592654i]
Когда вычислительные экспоненциальные интегралы 2D аргумента, преобразуйте числа в символьные объекты.
s = [expint(2, sym(1)/3), expint(sym(1), Inf), expint(-1, sym(-2))]
s = [ expint(2, 1/3), 0, -exp(2)/4]
Используйте vpa
, чтобы аппроксимировать этот результат с 25-разрядной точностью.
vpa(s, 25)
ans = [ 0.4402353954575937050522018, 0, -1.847264024732662556807607]
Вычислите экспоненциальные интегралы 2D аргумента. Если n
является неположительным целым числом, то expint(n, x)
возвращает явное выражение в форме exp(-x)*p(1/x)
, где p
является полиномом степени 1 - n
.
syms x expint(0, x) expint(-1, x) expint(-2, x)
ans = exp(-x)/x ans = exp(-x)*(1/x + 1/x^2) ans = exp(-x)*(1/x + 2/x^2 + 2/x^3)
Вычислите первые, вторые, и третьи производные экспоненциального интеграла с одним аргументом.
syms x diff(expint(x), x) diff(expint(x), x, 2) diff(expint(x), x, 3)
ans = -exp(-x)/x ans = exp(-x)/x + exp(-x)/x^2 ans = - exp(-x)/x - (2*exp(-x))/x^2 - (2*exp(-x))/x^3
Вычислите первые производные экспоненциального интеграла 2D аргумента.
syms n x diff(expint(n, x), x) diff(expint(n, x), n)
ans = -expint(n - 1, x) ans = - hypergeom([1 - n, 1 - n], [2 - n, 2 - n],... -x)/(n - 1)^2 - (x^(n - 1)*pi*(psi(n) - ... log(x) + pi*cot(pi*n)))/(sin(pi*n)*gamma(n))
Вызов expint
для чисел, которые не являются символьными объектами, вызывает функцию MATLAB® expint
. Эта функция принимает один аргумент только. Чтобы вычислить экспоненциальный интеграл 2D аргумента, используйте sym
, чтобы преобразовать числа в символьные объекты, и затем вызвать expint
для тех символьных объектов. Можно аппроксимировать результаты с числами с плавающей запятой с помощью vpa
.
Следующие значения экспоненциального интеграла отличаются от возвращенных функцией expint
MATLAB: expint(sym(Inf)) = 0
, expint(-sym(Inf)) = -Inf
, expint(sym(NaN)) = NaN
.
Для положительного x
, expint(x) = -ei(-x)
. Для отрицательного x
, expint(x) = -pi*i - ei(-x)
.
Если один входной параметр является скаляром, и другой аргумент является вектором или матрицей, то expint(n,x)
расширяет скаляр в вектор или матрицу, одного размера в качестве другого аргумента со всеми элементами, равными тому скаляру.
Отношение между expint
и ei
expint(1,-x) = ei(x) + (ln(x)-ln(1/x))/2 - ln(-x)
Обе функции ei(x)
и expint(1,x)
имеют логарифмическую особенность в начале координат и разрезе вдоль отрицательной вещественной оси. Функция ei
не непрерывна, когда приближено сверху или ниже этого разреза.
Функция expint
связана с верхней неполной гамма функцией igamma
как
expint(n,x) = (x^(n-1))*igamma(1-n,x)