tualizando um campo em cada elemento de uma matriz de estrutura do Matl

Suponha que eu tenho uma matriz structarr, em que cada elemento possui vários campos, incluindo um chamadoval. Gostaria de incrementar o @ de cada elemenval campo por uma quantidade constante, assim:

for i = 1:length(arr)
    arr(i).val = arr(i).val + 3;
end

Isso obviamente funciona, mas acho que deve haver uma maneira de fazer isso em apenas uma linha de código (e não no loop). O melhor que eu criei é duas linhas e requer uma variável temp:

newVals = num2cell([arr.val] + 3);
[arr.val] = deal(newVals{:});

Alguma ideia? Obrigado

questionAnswers(6)

yourAnswerToTheQuestion