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

Veja também

fieldnames struct rmfield setfield isfield