$, _seqgen, _seqin, _seqstep

Создайте последовательность выражения

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

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

Синтаксис

$ a .. b
_seqgen(a .. b)
$ c .. d step e
_seqstep(c .. d, e)
f $ n
_seqgen(f, n)
f $ c step e 
_seqstep(f, c, e)
f $ i = a .. b
_seqgen(f, i, a .. b)
f $ i = c .. d step e
_seqstep(f, i, c .. d, e)
f $ i in object
_seqin(f, i, object)

Описание

$ a..b создает последовательность целых чисел от a до b.

$c..d step e создает последовательность чисел от c до d с инкрементным e.

f $ n создает последовательность f..., f, состоящий из копий n f.

f $ c step e создает последовательность f..., f, состоящий из копий trunc(c/e) f.

f(i) $ i = a..b создает последовательность f(a), f(a+1)..., f(b).

f(i) $ i = c..d step e создает последовательность f(c), f(c+e)..., f(c+j*e), с j, таким образом что c+j*e <= d и c+(j+1)*e > d.

f(i) $ i in object создает последовательность f(i1), f(i2)..., где i1, i2 и т.д. является операндами object.

Оператор $ является самым полезным инструментом. Это служит для генерации последовательностей объектов. Последовательности используются, чтобы задать наборы или списки, и могут быть переданы в качестве аргументов системным функциям. Смотрите Пример 1.

$ a..b и эквивалентный вызов функции _seqgen(a..b) производят последовательность целых чисел a, a + 1..., b. Пустой объект типа DOM_NULL производится если a > b.

$ c..d step e и эквивалентный вызов функции _seqstep(c..d, e) производят последовательность чисел c, c + e..., c + j*e, с j, таким образом что c + j*e <= d и c + (j + 1)*e > d. Пустой объект типа DOM_NULL производится если c > d.

f $ n и эквивалентный вызов функции _seqgen(f, n) производят последовательность копий n объекта f. Обратите внимание на то, что f оценен только однажды, прежде чем последовательность будет создана. Пустая последовательность типа, DOM_NULL производится, если n не положителен.

f $ c step e и эквивалентный вызов функции _seqstep(f, c, e) производят последовательность копий trunc(c/e) объекта f. Обратите внимание на то, что f оценен только однажды, прежде чем последовательность будет создана. Пустая последовательность типа, DOM_NULL производится, если trunc(c/e) не положителен.

f $ i = a..b и эквивалентный вызов функции _seqgen(f, i, a..b) последовательно установил i := a через i := b и оценивает f с этими значениями. После этого (или в случае ошибки, ранее), восстанавливается предыдущее значение i.

Обратите внимание на то, что f не оценен перед первым присвоением. Пустой объект типа DOM_NULL производится если a > b.

f $ i = c..d step e и эквивалентный вызов функции, _seqstep(f, i, c..d, e) последовательно установил i := c, i := c + e, ... до значения i, превышают d, и оцените f с этими значениями. После этого (или в случае ошибки, ранее), восстанавливается предыдущее значение i.

Обратите внимание на то, что f не оценен перед первым присвоением. Пустой объект типа DOM_NULL производится если c > d.

f $ i in object и эквивалентный вызов функции _seqin(f, i, object) последовательно присваивают операнды object к i: они устанавливают i := op(object, 1) через i := op(object, n) и оценивают f с этими значениями, возвращая результат. (n = nops(object) является количеством операндов.)

Обратите внимание на то, что f не оценен перед присвоениями. Пустая последовательность типа, DOM_NULL производится, если object не имеет никаких операндов.

“Переменная цикла” i в f $ i = a..b и f $ i in object может иметь значение. Это значение восстанавливается после того, как оператор $ возвращается.

Примеры

Пример 1

Следующая последовательность может быть передана в качестве аргументов функциональному _plus, который складывает его аргументы:

i^2 $ i = 1..5

_plus(i^2 $ i = 1..5)

5-я производная выражения exp(x^2):

diff(exp(x^2), x $ 5)

Мы вычисляем первые производные sin(x):

diff(sin(x), x $ i) $ i = 0..5

Мы используем ithprime, чтобы вычислить первые 10 простых чисел:

ithprime(i) $ i = 1..10

Мы выбираем все начала из набора целых чисел между 1 990 и 2010:

select({$ 1990..2010}, isprime)

3×3matrix с записями A ij = ij сгенерирован:

n := 3: matrix([[i*j $ j = 1..n] $ i = 1..n])

delete n:

Пример 2

В f $ n объект f оценен только однажды. Результатом являются скопированные времена n. Следовательно, следующий вызов производит копии одного одного случайного числа:

random() $ 3

Следующий вызов оценивает random для каждого значения i:

random() $ i = 1..3

Пример 3

В следующем вызове i пробегает список:

i^2 $ i in [3, 2, 1]

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

set := {i^2 $ i = 1..19}: 
set; 
[op(set)]

Оператор $ уважает внутреннее упорядоченное расположение:

i^2 $ i in set

delete set:

Пример 4

Произвольные объекты f позволены в f $ i = a..b. В следующем вызове f является присвоением (это должно быть заключено в скобках). Последовательность вычисляет таблицу f[i] = i!:

f[0] := 1: (f[i] := i*f[i - 1]) $ i = 1..4: f

delete f:

Пример 5

Кроме обычного генератора последовательности с размером шага 1, _seqstep позволяет произвольное целое число, рациональные, или вещественные числа как размеры шага:

1 $ 2 step 0.5

$ 1..2 step .2

f(i) $ i = 1..2 step 1/2

Как в for - цикл, размер шага может быть отрицательным:

f(i) $ i = 5..1 step -2

В отличие от _seqgen границы области значений в _seqstep могут быть рациональными или числа с плавающей запятой:

1 $ 5/2 step 0.5

$ 1.1..2.1 step .2

f(i) $ i = 1/2..5/2 step 1/2

Пример 6

$ - выражение возвращается символически, если данная область значений является символьной:

x $ n, $ a..b, f(i) $ i = a..b

Параметры

f, object

Произвольные объекты MuPAD®

n, a, b

целые числа

c, d, e

целое число, рациональное, или числа с плавающей запятой

i

Идентификатор или локальная переменная (DOM_VAR) процедуры

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

Последовательность выражения типа "_exprseq" или пустой объект типа DOM_NULL.

Перегруженный

a..b, c..d, e, f, i, n, object

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

Функции MuPAD