Итак, я недавно перешел с Mathematica на Matlab, и хотя в Matlab есть большинство полезных функций Mathematica, я не могу понять, как для выполнения эквивалента отложенной операции набора Mathematica ': =', которая лениво присваивает переменной значение.
Например, в Mathematica:
y = 2;
x: = y;
] y = 3;
x
даст значение x как 3, тогда как единственный способ добиться такого же поведения в Matlab - это:
y = 2;
x = @ () (y);
y = 3;
x ()
, который, хотя технически отвечает на мой вопрос, представляет собой довольно специальную работу, требующую обработки x как функции.
Так есть ли более естественный способ сделать это - Matlab?
РЕДАКТИРОВАТЬ:
мое специальное решение работает только тогда, когда y является полем класса дескриптора, я исключил это из кода для ясности (это должно быть someclass.y). Желательно, чтобы в ответе на мой вопрос не было этого ограничения, но я бы все равно принял его, если бы оно было.