How to relabel the structures fields in a sequence?

1 Ansicht (letzte 30 Tage)
Sonali
Sonali am 26 Okt. 2023
Kommentiert: Sonali am 26 Okt. 2023
I have a structure A which has 20 fields(bin_1 to bin_20), but i removed some field with null values. Now I am left with the following.
A = struct with fields:
bin_1: [14115×19 table]
bin_17: [9829×19 table]
bin_18: [11772×19 table]
bin_19: [14115×19 table]
Now I need program that converts the bin_ indices automatically to a sequence:
A = struct with fields:
bin_1: [14115×19 table]
bin_2: [9829×19 table]
bin_3: [11772×19 table]
bin_4: [14115×19 table]
Will really appreciate some help here. Thanks
  1 Kommentar
Stephen23
Stephen23 am 26 Okt. 2023
You would not need to do this if you used a non-scalar structure. Better data design makes this problem disappear.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 26 Okt. 2023
newfields = "bin_" + (1:length(fieldnames(A)));
A = cell2struct(struct2cell(A), newfields);

Weitere Antworten (0)

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by