我有以下称为测试的结构数组,其中每个字段都是包含矩阵的 [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]
有没有更简单的方法来做到这一点而无需循环或不必分离内容?谢谢。