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 должна быть допустимая левая сторона для присвоения. Смотрите страницу справки := для деталей.
Второй аргумент не сглажен. Следовательно это может также быть последовательность. См. Пример 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 |
value.