assignElements
Присвойте значения записям массива, списка или таблицы
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
assignElements(L
,[index1] = value1
,[index2] = value2, …
) assignElements(L
,[[index1], value1], [[index2], value2], …
)
assignElements(L, [index1] = value1, [index2] = value2, ...)
возвращает копию L
с value1
, сохраненным в index1
, value2
, сохраненный в index2
, и т.д.
R:=
assignElements(L,[index1]=value1,[index2]=value2,...)
имеет тот же эффект как последовательность присвоений R:=L: R[index1]:=value1: R[index2]:=value2: ... R
, но более эффективен.
assignElements
возвращает измененную копию своего первого аргумента, который остается неизменным. Смотрите Пример 1.
Второй вариант вызова assignElements
, со списками вместо уравнений, эквивалентен первому варианту. На самом деле и уравнения и списки могут быть смешаны в одном вызове. Смотрите Пример 1.
Все присвоения выполняются одновременно, т.е. порядок аргументов не важен. Смотрите Пример 3.
Все правила для индексируемых присвоений применяются, в частности относительно валидности индексов. Если L
является списком, индексы должны быть положительными целыми числами, не превышающими длину L
. Если L
является массивом, индексы должны быть (последовательности) целыми числами, совпадающими с размерностью и лежащими в допустимых областях значений массива. Если L
является таблицей, индексы могут быть произвольными объектами.
Присвоения могут данный как уравнения или списки, и обе формы могут быть смешаны в одном вызове:
L := array(1..3, [3, 4, 5]); assignElements(L, [1] = one, [2] = two, [3] = three); assignElements(L, [[1], one], [[2], two], [[3], three]); assignElements(L, [1] = one, [[2], two], [3] = three);
Массив сам L
не изменяется assignElements
:
L
Последовательности также могут быть присвоены как значения элементам массива, но они должны быть помещены в круглые скобки:
R := assignElements(array(1..2), [1] = (1, 7), [2] = PI); [R[1]], [R[2]]
Генератор последовательности $
полезен, чтобы создать последовательности присвоений:
L := [i $ i = 1..10]; assignElements(L, [i] = L[i] + L[i + 1] $ i = 1..9)
Порядок аргументов не важен:
assignElements(L, [10 - i] = L[10 - i] + L[11 - i] $ i = 1..9)
Индексы таблицы могут быть произвольными объектами, например, строками:
assignElements(table(), [expr2text(i)] = i^2 $ i = 1..4)
Для массивов размерности, больше, чем одна, индексы являются последовательностями стольких же целых чисел, сколько определено размерностью массива:
assignElements(array(1..3, 1..3), ([i, j] = i + j $ i = 1..3) $ j = 1..3)
| |
|
Допустимые индексы для |
|
Любые объекты MuPAD® |
Объект того же типа как L
.