evalassign
Присвоение с оценкой левой стороны
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
evalassign(x
,value
,i
) evalassign(x
,value
)
evalassign(x, value, i)
оценивает x
с глубиной замены i
и присваивает value
результату оценки.
evalassign(x, value, i)
оценивает value
, как обычно. Затем это оценивает x
с глубиной замены i
, и наконец это присваивает оценку value
к оценке x
.
Различие между evalassign
и оператором присваивания, который :=
- то, что последний не оценивает его левую сторону вообще.
Как обычно, оценка value
происходит с глубиной замены, данной LEVEL
. По умолчанию это - 1
в рамках процедуры.
Смотрите страницы справки LEVEL
и level
для понятия глубины замены и для получения дополнительной информации об оценке.
Третий аргумент является дополнительным. Вызовы evalassign(x, value)
, evalassign(x, value, 0)
, x := value
и _assign(x, value)
являются всем эквивалентом.
Результатом оценки x
должна быть допустимая левая сторона для присвоения. Смотрите страницу справки :=
для деталей.
Второй аргумент не сглажен. Следовательно это может также быть последовательность. Cf. Пример 2.
evalassign
может использоваться в ситуациях, таких как следующее. Предположим, что identifiera
имеет другой идентификатор b
как его значение, и что мы хотим присвоить что-то этому значению a
, не к самому a
:
delete a, b: a := b: evalassign(a, 100, 1): level(a, 1), a, b
Это не работало бы с оператором присваивания :=
, который не оценивает его левую сторону:
delete a, b: a := b: a := 100: level(a, 1), a, b
Второй аргумент может также быть последовательностью:
a := b: evalassign(a, (3,5), 1): b
|
Объект, который оценивает к допустимой левой стороне присвоения |
|
Любой объект MuPAD® |
|
Неотрицательное целое число меньше чем 231 |
значение.