struct
Arreglo de estructura
Descripción
Un arreglo de estructura es un tipo de datos que agrupa datos relacionados usando contenedores de datos denominados campos. Cada campo puede contener cualquier tipo de datos. Acceda a los datos de un campo utilizando notación de puntos con el formato structName.fieldName
.
Creación
Cuando tenga los datos que desee incluir en una estructura nueva, cree la estructura utilizando la notación de puntos para nombrar los campos de uno en uno:
s.a = 1; s.b = {'A','B','C'}
s = struct with fields:
a: 1
b: {'A' 'B' 'C'}
Los nombres de los campos pueden contener letras ASCII (A-Z, a-z), dígitos (0-9) y guiones bajos, y deben comenzar por una letra. La longitud máxima de un nombre de campo es namelengthmax
.
También puede crear un arreglo de estructura utilizando la función struct
, que se describe más abajo. Puede especificar muchos campos al mismo tiempo o crear un arreglo de estructura no escalar.
Sintaxis
Descripción
s = struct
crea una estructura escalar (de 1 por 1) sin campos.
s = struct(
crea un arreglo de estructura con el campo y el valor especificados. El argumento de entrada field
,value
)value
puede ser de cualquier tipo de datos, como numérico, lógico, carácter o arreglo de celdas.
Si
value
no es un arreglo de celdas o sivalue
es un arreglo de celdas escalar,s
es una estructura escalar. Por ejemplo,s = struct('a',[1 2 3])
crea una estructura de 1 por 1 en la ques.a = [1 2 3]
.Si
value
es un arreglo de celdas no escalar,s
es un arreglo de estructura con las mismas dimensiones quevalue
. Cada elemento des
contiene el elemento correspondiente devalue
. Por ejemplo,s = struct('x',{'a','b'})
devuelves(1).x = 'a'
ys(2).x = 'b'
.Si
value
es un arreglo de celdas vacío{}
,s
es una estructura (de 0 por 0) vacía.
s = struct(field1,value1,...,fieldN,valueN)
crea un arreglo de estructura con múltiples campos.
Si ninguna de las entradas
value
es un arreglo de celdas o si todas las entradasvalue
que sean arreglos de celdas son escalares,s
es una estructura escalar.Si cualquiera de las entradas
value
es un arreglo de celdas no escalar,s
tiene las mismas dimensiones que ese arreglo de celdas. Del mismo modo, si dos o más entradasvalue
son arreglos de celdas no escalares, todas deben tener las mismas dimensiones.En el caso de cualquier
value
que sea un arreglo de celdas escalar o un arreglo de cualquier otro tipo de datos,struct
introduce el contenido devalue
en el campo relevante para todos los elementos des
. Por ejemplo,s = struct('x',{'a','b'},'y','c')
devuelves(1).x = 'a'
,s(2).x = 'b'
,s(1).y = 'c'
ys(2).y = 'c'
.Si cualquier entrada
value
es un arreglo de celdas vacío,{}
, la salidas
es una estructura (de 0 por 0) vacía. Para especificar un campo vacío y mantener los valores de los demás campos, utilice[]
como entradavalue
en su lugar.
s = struct([])
crea una estructura (de 0 por 0) vacía sin campos.
s = struct(
crea una estructura escalar con nombres de campo y valores que se corresponden con las propiedades de obj
)obj
. La función struct
no convierte obj
, sino que crea s
como estructura nueva. Esta estructura no conserva la información de clase, por lo que las propiedades privadas, protegidas y ocultas se convierten en campos públicos en s
. La función struct
emite una advertencia cuando usted utiliza esta sintaxis.
Argumentos de entrada
Ejemplos
Capacidades ampliadas
Historial de versiones
Introducido antes de R2006aConsulte también
isfield
| table
| isstruct
| fieldnames
| orderfields
| rmfield
| substruct
| cell2struct
| struct2cell
| struct2table
| table2struct
| namelengthmax