$, _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