Clear Filters
Clear Filters

convert structure class to double class

4 views (last 30 days)
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 Comments
ha ha
ha ha on 23 Nov 2017
Edited: ha ha on 23 Nov 2017
A is "structure class"
A is NOT "cell class".
Sorry.Plz see my edit

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 23 Nov 2017
Edited: Stephen23 on 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.

More Answers (1)

Stephen23
Stephen23 on 23 Nov 2017
Edited: Stephen23 on 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

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!