Borrar filtros
Borrar filtros

convert structure class to double class

4 visualizaciones (últimos 30 días)
ha ha
ha ha el 23 de Nov. de 2017
Editada: Stephen23 el 23 de Nov. de 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 comentarios
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

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by