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