test と呼ばれる構造体の次の配列があります。各フィールドは、行列を含む [1x3] 構造体配列です。各行列を要素ごとに二乗する新しいフィールド、levelsq を作成したいと思います。ループでこれを行うことができます:
[test(1:3).level] = deal([1,1],[2,2],[3,3])
for i = 1:3
test(i).levelsq = test(i).level.^2
end
test.level
ans =
1 1
ans =
2 2
ans =
3 3
test.levelsq
ans =
1 1
ans =
4 4
ans =
9 9
要素を分離して連結することである程度の方法はありましたが、まだ新しいフィールドを追加できていません。
temp = num2cell([test.level].^2)
test.levelsq = temp{:}
??? Illegal right hand side in assignment. Too many elements.
次に、一時変数の形状を変更しようとしましたが、まだ正しい形式ではありません
temp2= reshape(temp,2,3)'
temp2 =
[1] [1]
[4] [4]
[9] [9]
ループしたり、コンテンツを分離したりすることなく、これを行う簡単な方法はありますか? ありがとう。