$
, _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
\times. Следовательно, следующий вызов производит копии одного одного случайного числа:
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
CD
E
F
i
N
объект