Ах да, предел злого характера. Нвм тогда, вы не должны удалять это, так как это информативно :).

я недавно преобразовал Mathematica в Matlab, и, хотя Matlab обладает большинством полезных функций Mathematica, я не могу понять, как выполнить эквивалент операции отложенного набора Mathematica ': =', которая присваивает переменной значение в ленивая мода.

Например, в Mathematica:

у = 2;

х: = у;

у = 3;

x

дал бы значение x как 3, тогда как единственный способ получить такое же поведение в Matlab:

у = 2;

х = @ () (у);

у = 3;

Икс()

что, технически отвечая на мой вопрос, довольно сложная работа и требует обработки x как функции.

Так есть ли более естественный способ сделать это - Matlab?

РЕДАКТИРОВАТЬ:

мое специальное решение работает только тогда, когда у является полем класса дескриптора, я оставил это вне кода для ясности (это должен быть someclass.y). Желательно, чтобы в ответе на мой вопрос не было этого ограничения, но я бы все же согласился, если бы оно имело место.

Ответы на вопрос(2)

Ваш ответ на вопрос