convert structure class to double class

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 comentarios

Stephen23
Stephen23 el 23 de Nov. de 2017
@ha ha: your example shows A is a cell array, not a structure.
ha ha
ha ha el 23 de Nov. de 2017
Editada: ha ha el 23 de Nov. de 2017
A is "structure class"
A is NOT "cell class".
Sorry.Plz see my edit
Birdman
Birdman el 23 de Nov. de 2017
Check my answer.

Iniciar sesión para comentar.

 Respuesta aceptada

Stephen23
Stephen23 el 23 de Nov. de 2017
Editada: Stephen23 el 23 de Nov. de 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.

Más respuestas (1)

Stephen23
Stephen23 el 23 de Nov. de 2017
Editada: Stephen23 el 23 de Nov. de 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

Categorías

Etiquetas

Preguntada:

el 23 de Nov. de 2017

Editada:

el 23 de Nov. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by