Предположим, у меня есть массив структур arr
, где каждый элемент имеет набор полей, в том числе одно с именем val
. Я хотел бы увеличить поле val
каждого элемента на некоторую постоянную величину, например:
for i = 1:length(arr)
arr(i).val = arr(i).val + 3;
end
Это, очевидно, работает, но я чувствую, что должен быть способ сделать это всего одной строкой кода (и без цикла for). Лучшее, что я придумал, это две строки, для которых требуется временная переменная:
newVals = num2cell([arr.val] + 3);
[arr.val] = deal(newVals{:});
Есть идеи? Спасибо.