Working with a sturcture, rename top layer by a cell array
1 次查看(过去 30 天)
显示 更早的评论
Dear comunity,
i'm really struggling by reaming the top layer of a stucture.
so i have a structure s
s = 1×3 struct array with fields: f1 f2 ....f12 (each field contains a datetime and a double vector)
s(1:3).field(1:12).time
s(1:3).field(1:12).data
well i do not have a problem with renaming the field part, its easy by just using dynamic variables:
newname = {'something1', 'something2', 'something3'}; j = 1;
s.(newname{j}).data gives me s.something1.data
BUT my problem starts, when i want to rename the top layer of the sturcture:
desired output would be: something1.field.time/ something1.field.data
newname{j} = s(1)
newname = 1×3 cell array with {1×1 struct} {'something2'} {'something3'}
well herby the sturcture changes just to newname{1, 1}
any hints to do better?
regards, MLP
9 个评论
Joel Handy
2019-8-5
编辑:Joel Handy
2019-8-5
The question is why do you want to make structure 's' a 3x1 struck array in the first place if what you really want is three independant structures.
You mentioned s is the ouput of an import function. If this function is generic and you want to break the data out differently after its been imported, simply assign the data in s to new variables.
AWH = s(1);
VTB = s(2);
GOE = s(3);
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!