convert structure class to double class

1 Ansicht (letzte 30 Tage)
ha ha
ha ha am 23 Nov. 2017
Bearbeitet: Stephen23 am 23 Nov. 2017
Let's say:
A : 4x1 structure class
A= Field1 :[1000x1 double],
Field2 : [2x1 double],
Field3 : [5x1 double],
Field4 : [1x1 double]
A= Field1 : [1;2;3...;1000],
Field2 : [99;11],
Field3 : [44;11;33;88;66],
Field4 : [77]
Question: How can i convert "structure A" to "double class B" for the last third double ?
_Result_: B=[99;11;44;11;33;88;66;77]
  3 Kommentare
ha ha
ha ha am 23 Nov. 2017
Bearbeitet: ha ha am 23 Nov. 2017
A is "structure class"
A is NOT "cell class".
Sorry.Plz see my edit
Birdman
Birdman am 23 Nov. 2017
Check my answer.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 23 Nov. 2017
Bearbeitet: Stephen23 am 23 Nov. 2017
Fake data:
>> A.F1 = [1;2;3];
>> A.F2 = 4;
>> A.F3 = [5;6];
>> A.F4 = [7;8;9];
To concatenate all fields of a scalar structure you could convert to cell array using struct2cell as an intermediate step:
>> C = struct2cell(A);
>> cat(1,C{:})
ans =
1
2
3
4
5
6
7
8
9
But most likely you would be much better off using a non-scalar structure, because then you can simply do this:
cat(1,A.field)
and also use simple-and-efficient indexing to access parts of the structure.

Weitere Antworten (1)

Stephen23
Stephen23 am 23 Nov. 2017
Bearbeitet: Stephen23 am 23 Nov. 2017
Using your example cell array:
>> A= {[99;11], [44;11;33;88;66], [77]};
>> cat(1,A{:})
ans =
99
11
44
11
33
88
66
77

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by