How to display structs only in a struct with fields?

2 Ansichten (letzte 30 Tage)
Emily
Emily am 20 Apr. 2022
Kommentiert: Emily am 20 Apr. 2022
I'm trying to display only the 1x1 struct portions and hide the character portions in a struct with fields.
aTable=struct2table(S);
disp(aTable);
  2 Kommentare
Rik
Rik am 20 Apr. 2022
Do you have an example of what kind of output you want? Can you provide a small example struct with the intended output?
Emily
Emily am 20 Apr. 2022
I want to show the output as the fieldnames with struct only and hide the chars.
So only show 'b' and 'c'.
s =
struct with fields:
a: [2×4 char]
b: [1×1 struct]
c: [1×1 struct]
d: [2×4 char]

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 20 Apr. 2022
Bearbeitet: Matt J am 20 Apr. 2022
t='11'; s.q=1;
S=struct('a',t,'b',s,'c',s,'d',t)
S = struct with fields:
a: '11' b: [1×1 struct] c: [1×1 struct] d: '11'
aTable=struct2table(S);
disp( table2struct(aTable(:,vartype('struct'))) )
b: [1×1 struct] c: [1×1 struct]

Weitere Antworten (1)

Matt J
Matt J am 20 Apr. 2022
Bearbeitet: Matt J am 20 Apr. 2022
t='11'; s.q=1;
S=struct('a',t,'b',s,'c',s,'d',[s,s])
S = struct with fields:
a: '11' b: [1×1 struct] c: [1×1 struct] d: [1×2 struct]
p=reshape( namedargs2cell(S) , 2,[]);
keep=structfun(@(f)isstruct(f) & isscalar(f), S);
s=struct(p{:,keep});
disp(s)
b: [1×1 struct] c: [1×1 struct]

Kategorien

Mehr zu Structures 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