sum::addpattern

Добавьте шаблоны для определенного и неопределенного суммирования

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

sum::addpattern(pat, k, res, <[var, …], <[cond, …]>>)
sum::addpattern(pat, k = a .. b, res, <[var, …], <[cond, …]>>)

Описание

sum::addpattern(pat, k, res) преподает sum использовать.

sum::addpattern(pat, k=a..b, res) преподает sum это.

Часть компьютерной алгебры способности к суммированию системы происходит от математического сопоставления с образцом. Сопоставитель MuPAD® может быть расширен во времени выполнения с sum::addpattern.

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

Пользователи могут включать переменные шаблона и условия на них путем предоставления дополнительных аргументов. Эти условия, а также результат, защищены от преждевременной оценки, т.е. не необходимо записать hold( _not @ iszero )(a^2-b), простой not iszero(a^2-b) достаточен.

Различие между not iszero(a^2-b) и a^2-b <> 0 когда дали, когда условие состоит в том, что последний учитывает предположения на идентификаторах, с которыми сталкиваются, в то время как первое не делает. См. Пример 4.

Шаблоны введены sum::addpattern также используются в рекурсивных вызовах sum и автоматически расширены, чтобы включать простые приложения суммирования заменой переменных. См. Пример 1.

Взаимодействия среды

Вызов sum::addpattern изменяет выражения, возвращенные будущими вызовами sum.

Примеры

Пример 1

Не удивительно, MuPAD не знает, как сделать неопределенное суммирование с функциональным foo:

sum(foo(n), n)

Мы добавляем шаблон для этой функции:

sum::addpattern(foo(k), k, bar(k))
sum(foo(n), n)

Обратите внимание на то, что этот шаблон также используется косвенно:

sum(foo(k+3),k)

Пример 2

Определенные суммы могут быть добавлены так же:

sum::addpattern(foo(k), k=1..infinity, bar(k))
sum(foo(k), k=1..infinity)

Вышеупомянутый шаблон будет также совпадать с этой определенной суммой различным границам:

sum(foo(k), k=3..infinity)

Обратите внимание на то, что этот шаблон также используется косвенно:

sum(foo(k)+1/k^3, k=1..infinity)

Границы могут также быть переменными, происходящими в шаблоне или результате:

sum::addpattern(foo(k,a), k=0..a, bar(a), [a])
sum(foo(k,7), k=0..7)

Пример 3

Имя переменной суммирования, используемой в вызове sum::addpattern не ограничивает более поздние вызовы sum:

sum::addpattern(x^(2*i+1)/(2*i+1), i=0..infinity,
                piecewise([abs(x) < 1,
                           arccoth(x) + PI/2*sqrt(-1/x^2)*x]),
                [x])
sum(x^(2*n+1)/(2*n+1),n=0..infinity)

Пример 4

Условия проверяются с помощью is и поэтому реагируйте на предположения:

sum::addpattern(binomial(-1/2, k)*x^(2*k^2 + 1)/(2*k + 1),
                              k = 0..infinity, arcsinh(x),
                                     [x], [abs(x) < 1])
sum(binomial(-1/2, k)*x^(2*k^2 + 1)/(2*k + 1), 
    k = 0..infinity) assuming -1 < x < 1

sum(binomial(-1/2, k)*x^(2*k^2 + 1)/(2*k + 1), 
    k = 0..infinity) assuming x > 1

Если MuPAD не может решить, удовлетворяют ли условиям, кусочный заданный объект возвращен:

sum(binomial(-1/2, k) * x^(2*k^2+1)/(2*k+1), 
    k = 0..infinity)

Если или условиям не удовлетворяют или замена значениями в урожаи результата ошибка, шаблон проигнорирован. Нет никакой потребности включать условие принять меры против ошибки, MuPAD просто вычисляет сумму, как обычно:

sum::addpattern(c^k, k=0..n, (c^n-1)/(c-1), [c]);
sum(1^k, k=0..n)

Параметры

pat

Шаблон, чтобы соответствовать: арифметическое выражение в k.

k

Индекс суммирования: идентификатор.

a .. b

Контуры для определенного суммирования: арифметические выражения или идентификаторы.

res

Шаблон для результата суммирования: арифметическое выражение

var, …

“переменные шаблона”: заполнители в pat и ret, т.е. идентификаторы или индексированные идентификаторы. Они не представляют себя, но почти произвольные выражения MuPAD, не содержащие k. Можно ограничить их условиями в 5-м параметре.

cond, …

Условия на переменных шаблона

Возвращаемые значения

Объект типа DOM_NULL

Смотрите также

Функции MuPAD