大きな構造体配列があります。
この配列を処理する関数で感度分析を実行したいと考えています。
たとえば、構造体配列の名前が「s」、要素数が 10,000、フィールド名が「x」と「y」であるとします。
私は次のことをしたいと思います:
xs = [s(:).x];
xs = xs + 5*randn(size(xs));
s(:).x = xs;
残念ながら、最後のステップは有効な matlab ではありません。何かご意見は?ループを回避することを望んでいました。
この回答から、取引をいじった後。私はあなたが探しているものを持っていると思いますが、次を使用して xs をセル配列に変換する必要がありますnum2cell
。
xs_cell = num2cell(xs); % convert matrix to cell array.
[S(:).X]=xs_cell{:}; % update the values in the field X