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 является таблицей, индексы могут быть произвольными объектами.

Примеры

Пример 1

Присвоения могут данный как уравнения или списки, и обе формы могут быть смешаны в одном вызове:

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

Пример 2

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

R := assignElements(array(1..2), [1] = (1, 7), [2] = PI);
[R[1]], [R[2]]

Пример 3

Генератор последовательности $ полезен, чтобы создать последовательности присвоений:

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)

Пример 4

Индексы таблицы могут быть произвольными объектами, например, строками:

assignElements(table(), [expr2text(i)] = i^2 $ i = 1..4)

Пример 5

Для массивов размерности, больше, чем одна, индексы являются последовательностями стольких же целых чисел, сколько определено размерностью массива:

assignElements(array(1..3, 1..3),
  ([i, j] = i + j $ i = 1..3) $ j = 1..3)

Параметры

L

Массив, hfarray, список или таблица

index1, index2, …

Допустимые индексы для L

value1, value2, …

Любые объекты MuPAD®

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

Объект того же типа как L.

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

Области MuPAD

Функции MuPAD