$
, _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
может иметь значение. Это значение восстанавливается после того, как оператор $
возвращается.
Следующая последовательность может быть передана в качестве аргументов функциональному _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 = i j сгенерирован:
n := 3: matrix([[i*j $ j = 1..n] $ i = 1..n])
delete n:
В f $ n
объект f
оценен только однажды. Результатом являются скопированные времена n
. Следовательно, следующий вызов производит копии одного одного случайного числа:
random() $ 3
Следующий вызов оценивает random
для каждого значения i
:
random() $ i = 1..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:
Произвольные объекты f
позволены в f $ i = a..b
. В следующем вызове f
является присвоением (это должно быть заключено в скобках). Последовательность вычисляет таблицу f[i] = i!
:
f[0] := 1: (f[i] := i*f[i - 1]) $ i = 1..4: f
delete f:
Кроме обычного генератора последовательности с размером шага 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
$
- выражение возвращается символически, если данная область значений является символьной:
x $ n, $ a..b, f(i) $ i = a..b
|
Произвольные объекты MuPAD® |
| |
| |
|
Идентификатор или локальная переменная ( |
Последовательность выражения типа "_exprseq" или пустой объект типа DOM_NULL
.
a..b
, c..d
, e
, f
, i
, n
, object