vpasum

Численное суммирование с помощью переменной точности

Описание

пример

s = vpasum(f,a,b) численно аппроксимирует сумму ряда, заданную как f от a на b. Переменная суммирования по умолчанию x в f определяется symvar. Границы суммирования a и b должно быть реальным.

vpasum(f,[a,b]) равно vpasum(f,a,b).

пример

s = vpasum(f,x,a,b) выполняет численное суммирование с помощью переменной суммирования x.

Примеры

свернуть все

Численно суммируйте символическое выражение 11.2x от 1 до 1000.

syms x;
s = vpasum(1/1.2^x,1,1000)
s = 5.0vpa ('5.0')

Найдите суммирование символической функции y(x)=x2 от a кому b. Поскольку пределы суммирования должны быть вещественными значениями, примите, что границы a и b реальны.

syms y(x)
syms a b real
y(x) = x^2;
s = vpasum(y,a,b)
s = 

x=abx2symsum (x ^ 2, x, a, b)

Сравните расчет время для вычисления символьных и числовых сумм.

Найдите символическое суммирование ряда k=1(-1)klog(k)k3 использование symsum. Использование vpa численно вычислить символьное суммирование с помощью 32 значащих цифр. Измерьте время, необходимое для объявления символического суммирования и вычисления его числового значения.

syms k
tic
y = symsum((-1)^k*log(k)/k^3,k,1,Inf)
y = 

k=1-1klog(k)k3symsum (((-sym (1)) ^ k * log (k) )/k ^ 3, k, 1, sym (inf))

yVpa = vpa(y)
yVpa = 0.059705906160195358363429266287926vpa ('0.059705906160195358363429266287926')
toc
Elapsed time is 1.475003 seconds.

Чтобы увеличить эффективность расчетов (сократить время расчетов), используйте vpasum вычислить то же численное суммирование без вычисления символического суммирования.

tic
y = vpasum((-1)^k*log(k)/k^3,k,1,Inf)
y = 0.059705906160195358363429266287926vpa ('0.059705906160195358363429266287926')
toc
Elapsed time is 0.127769 seconds.

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

свернуть все

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

Пределы суммирования, заданные как два числа, разделенных запятыми, символьные числа, символьные переменные, символьные функции или символьные выражения. Определение области значений суммирования из a на b можно также сделать с помощью вектора с двумя элементами. Пределы суммирования должны быть реальными.

Переменная суммирования, заданная как символьная переменная. Если x не задан, переменная интегрирования определяется symvar(f).

Алгоритмы

В зависимости от того, является ли ряд чередующимся или монотонным, vpasum пробует ряд стратегий вычислить его предел: u-трансформация Левина, формула Эйлера-Маклаурина или трюк ван Вейнгаардена.

Для примера формула Эйлера-Маклаурина является

i=abf(i)=f(a)+f(b)2+abf(x)dx+(m=1p/2B2m(2m)!(f(b)2m1f(a)2m1))+Rp,

где <reservedrangesplaceholder8> <reservedrangesplaceholder7> представляет число <reservedrangesplaceholder6> th Бернулли, и <reservedrangesplaceholder5> <reservedrangesplaceholder4> остаточный член, который зависит от a, b, p, и f.

Ссылки

[1] Олвер, Ф. У. Дж., А. Б. Олде Даальхёйс, Д. У. Лозье, Б. И. Шнайдер, Р. Ф. Буазверт, К. У. Кларк, Б. Р. Миллер, Б. В. Сондерс, Х. McClain, eds., Глава 2.10 Суммы и последовательности, NIST Digital Library of Mathematical Functions, Release 1.0.26 of 2020-03-15.

См. также

| |

Введенный в R2020b