结合结构字段名崩溃

2视图(30天)
你好,
我有一个结构,包含4个字段(Forceplate1、Forceplate2 Forceplate3, Forceplate4)。每个字段包含3子字段(力量,时刻,警察)。每个子字段包含自己的子字段(X, Y, Z)。
我想结合这些结构/字段一起变成一个大结构,将字段名称…
Forceplate1_Force_X
Forceplate1_Force_Y
Forceplate1_Force_Z
Forceplate1_Moment_X
Forceplate1_Moment_Y
Forceplate1_Moment_Z
Forceplate1_COP_X
Forceplate1_COP_Y
Forceplate1_COP_Z
Forceplate2_Force_X
Forceplate2_Force_Y
Forceplate2_Force_Z……等等。
任何帮助将不胜感激!
2的评论
马特·J
马特·J 2022年12月22日
可能更好的把X, Y, Z的数据到一个单独的数字数组,所以,如果需要你可以做向量运算:
(1)。力=猫(3 arrX进行arrZ)% Forceplate 1
(1)。时刻=猫(3 arrX进行arrZ)
等。
(2)。力=猫(3 arrX进行arrZ)% Forceplate 2
(2)。时刻=猫(3 arrX进行arrZ)
等。

登录置评。

接受的答案

马特·J
马特·J 2022年12月21日
编辑:马特·J 2022年12月25日
(A, B, C) = ndgrid (“Forceplate”+ (1:4),
(“力”,“时刻”,“警察”),
(“X”,“Y”,“Z”]);
清晰的newstruct
i = 1:元素个数(A)
(a, b, c) =交易(a(我),(我),c (i));
场= strjoin ((a, b, c),“_”);
newstruct。(字段)= oldstruct。(a) (b)。(c);
结束
1评论
马特·J
马特·J 2022年12月22日
编辑:马特·J 2022年12月25日
一种替代方法,基于 上面的评论 :
字段= [“力”,“时刻”,“警察”];
清晰的newstruct
i = 1:4
j = 1:元素个数(字段)
字段=字段(j);
arrX = oldstruct。(“Forceplate”+ i)。(领域)方式;
进行= oldstruct。(“Forceplate”+ i)。(领域).Y;
进行= oldstruct。(“Forceplate”还是z + i)。(领域);
newstruct(我)。(领域)=猫(3 arrX进行arrZ);
结束
结束

登录置评。

更多的答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!