convert structure class to double class

3 visualizzazioni (ultimi 30 giorni)
ha ha
ha ha il 23 Nov 2017
Modificato: Stephen23 il 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 Commenti
ha ha
ha ha il 23 Nov 2017
Modificato: ha ha il 23 Nov 2017
A is "structure class"
A is NOT "cell class".
Sorry.Plz see my edit
Birdman
Birdman il 23 Nov 2017
Check my answer.

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 23 Nov 2017
Modificato: Stephen23 il 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.

Più risposte (1)

Stephen23
Stephen23 il 23 Nov 2017
Modificato: Stephen23 il 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

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by