orderfields
Reordena os campos de uma struct.
Categoria: Language Fundamentals > Data Types
Sintaxe
sOut = orderfields(s)
Ordena os campos em ordem alfabética.
sOut = orderfields(s, s2)
Usa a ordem de campos da struct s2, que deve ter os mesmos nomes de campo.
sOut = orderfields(s, perm)
Reordena pelo vetor de permutação perm.
[sOut, p] = orderfields(___)
Também retorna o vetor de permutação.
Descrição
Só a ordem muda; valores e nomes dos campos permanecem. A ordenação alfabética é útil antes de comparar ou exibir structs, e igualar a ordem de outra struct permite concatenar arrays de structs criados em ordens diferentes.
Argumentos de entrada
s- Struct ou array de structs.
s2 / c / perm- Outra struct, um cell array de nomes de campos ou um vetor de índices com a nova ordem.
Argumentos de saída
sOut- Struct com os mesmos dados e a nova ordem de campos.
p- Vetor coluna: a permutação aplicada à ordem original.
Exemplo
s = struct('z', 1, 'a', 2, 'm', 3);
orderfields(s)
[~, p] = orderfields(s);
p'
orderfields(s, [3 1 2])
Saída
ans = struct with fields:
a: 2
m: 3
z: 1
ans = 1×3
2 3 1
ans = struct with fields:
m: 3
z: 1
a: 2