Экспоненциальная интегральная функция
Вычислите экспоненциальные интегралы для чисел с плавающей запятой. Поскольку эти числа не являются символическими объектами, получаются результаты с плавающей запятой.
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]
При вычислении экспоненциальных интегралов с двумя аргументами преобразуйте числа в символьные объекты.
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]
Вычислите двухаргументные экспоненциальные интегралы. Если 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
Вычислите первые производные двухаргументного экспоненциального интеграла.
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 функция. Эта функция принимает только один аргумент. Чтобы вычислить экспоненциальный интеграл из двух аргументов, используйте sym чтобы преобразовать числа в символьные объекты, а затем вызовите expint для этих символических объектов. Аппроксимировать результаты с числами с плавающей запятой можно с помощью vpa.
Следующие значения экспоненциального интеграла отличаются от значений, возвращаемых MATLAB expint функция: 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)