Come utilizzare la funzione unica in matlab

Come utilizzare la funzione unica in matlab
Il seguente articolo spiega come utilizzare la funzione unica () in MATLAB®. Questa funzione ordina gli elementi di un array e rimuove i valori duplicati.

Le sue proprietà principali e le diverse modalità di utilizzo sono anche descritte in dettaglio in questo documento.

Questo tutorial include esempi pratici e alcuni degli errori più comuni, i corrispondenti messaggi di errore e come risolverli per facilitare la programmazione.

Sintassi univoca di Matlab

Questa è la sintassi di base di questa funzione:

C = unico (a)

Esistono diversi modi per ordinare i dati e come vengono trattati dalla funzione unica (). La sintassi per ciascuno di questi casi è mostrata di seguito.

C = unico (a)
C = unico (a, setOrder)
C = unico (a, occorrenza)
C = univoco (a, ___, "righe")
C = univoco (a, "righe", ___)
[C, ia, ic] = univoco (___)
[C, ia, ic] = unico (a, "legacy")
[C, ia, ic] = unico (a, "righe", "eredità")
[C, ia, ic] = unico (a, occorrenza, "legacy")
[C, ia, ic] = unico (a, "righe", occorrenza, "eredità")
C = dati unici di a.
ia = indice vettoriale di colonna di a
ic = indice vettoriale di colonna di c.

Descrizione ed esempi di unici

La funzione univoca restituisce in "C" un elenco con i dati inviati in "A", ordinati e senza ripetizioni. Questa funzione ha anche output "IA" e "IC", che restituiscono l'indice dei dati inviati in "A" e restituiti in "C". La modalità di ordinamento e il trattamento dei dati possono essere selezionati utilizzando flag inviati nella chiamata di funzione.

Nei seguenti esempi, vedremo i diversi modi di utilizzare questa funzione, le sue varianti nell'ordinamento e nella gestione dei dati di input.

Come ordinare gli elementi di un array ed eliminare i suoi elementi ripetuti con la funzione unica di matlab

Nel seguente esempio, vediamo il modo base di utilizzare questa funzione in cui inviamo come argomento di input un array numerico “A” con elementi 4 × 4, non ordinato e con ripetizioni.

A = [8, 1, 2, 8; 9, 10, 9, 5;
8, 1, 2, 8; 9, 10, 9, 5];
C = unico (a)
C = 1 2 5 8 9 10

Di conseguenza, la funzione univoca restituisce un elenco con i valori ordinati dal meno al massimo e senza ripetizione.

Come ordinare gli elementi di un array, eliminare i suoi elementi ripetuti e ottenere l'indice dei dati di input e output

In questo esempio, vedremo come ottenere l'indice di "A" (IA) e "C" (IC), nonché l'ordine dei dati di "A" e l'eliminazione delle ripetizioni.

A = [1, 2, 3, 4, 5; 10, 11, 12, 13, 14; 5, 12, 1, 13, 3];
[C, ia, ic] = unico (a)

Di conseguenza, la funzione unica () restituirà i risultati dell'ordinamento di "A" in "C".

C = 1 2 3 4 5 10 11 12 13 14

L'indice di a:

ia = 1 4 7 10 3 2 5 6 11 14

E l'indice di C:

IC = 1 6 5 2 7 8 3 8 1 4 9 9 5 10 3

L'opzione "occorrenza" specifica dalle flag "prima" e "ultimo" quale indice dovrebbe essere restituito se i valori vengono ripetuti.

Come selezionare la modalità di ordinazione dei dati utilizzando la funzione unica in MATLAB

Ora, esaminiamo l'opzione "SetOrder" della funzione unica che ci consente di specificare la modalità di ordinazione dei dati restituiti in "C" utilizzando i flag "ordinati" e "stabili".

Se la funzione unica () viene chiamata senza l'input "setOrder", verrà inviata in modalità "ordinata" per impostazione predefinita e gli elementi in "C" verranno restituiti in ordine dal più piccolo al più grande. Se un unico viene chiamato con l'input "SetOrder" in modalità "stabile", gli elementi in "C" vengono restituiti nello stesso ordine di input e senza ripetizioni.

La sintassi è la seguente:

C = unico (a, setOrder)

Esempio:

A = [8, 2, 8; 9, 10, 9]
C = unico (a, "ordinato")

Come visto nella figura seguente, quando un unico () viene chiamato con la bandiera "ordinata", gli elementi in "C" vengono restituiti in ordine dal più piccolo al più grande senza ripetizione.

C = 2 8 9 10

Il flag "stabile" restituisce i dati in "C" nello stesso ordine di input, solo senza ripetizioni.

A = [8, 2, 8; 9, 10, 9]
C = unico (a, "stabile")
C = 8 9 2 10

Come eseguire l'ordinamento di elementi in una matrice di celle di vettori di carattere usando la funzione unica

In questo esempio, vedremo gli elementi ordinati in una matrice di celle di vettori di carattere usando una funzione unica (). Per fare ciò, creeremo una serie di celle di vettori di caratteri "A" con elementi non ordinati e ripetuti.

A = 'a', 'd', 'c', 'b', 'a', 'd', 'e', ​​'d', 'e';
C = unico (a)

Di conseguenza, un unico () ritorna in "c" una serie di celle di vettori di carattere con tutti i suoi elementi ordinati.

C = 'a' 'b' 'c' 'd' 'e'

Come ordinare le righe contenute in un array con la funzione unica

In questo esempio, la funzione unica () restituisce le righe contenute in un array ordinato e con le occorrenze rimosse. Per questo esempio, creiamo un array con 6 × 5 elementi “A” e chiamiamo la funzione unica (). In questo caso, la funzione prende ogni riga come un elemento unico e restituisce le righe in ordine dal più piccolo a più grande, rimuovendo i duplicati.

A = [51, 2, 3, 2, 5;
10, 11, 12, 11, 14;
10, 11, 12, 11, 14;
30, 31, 3, 2, 34;
45, 3, 21, 43, 43;
35, 3, 41, 48, 43];
C = unico (a, "righe"

La funzione unica () in questo caso tornerà in "C".

C =
10 11 12 11 14
30 31 3 2 34
35 3 41 48 43
45 3 21 43 43
51 2 3 2 5

Come selezionare le righe di un array che si desidera ordinare con la funzione unica

In questo esempio, la funzione unica () restituirà le righe contenute in un array, ordina e rimuoverà i duplicati. Per questo esempio, creeremo un array 6 × 5 "A" di elementi e chiameremo la funzione. In questo caso, prenderà ogni riga come un singolo elemento e restituirà le righe in ordine dal più piccolo a più grande, eliminando i duplicati.

A = [51, 2, 3, 2, 5;
10, 11, 12, 11, 14;
10, 11, 12, 11, 14;
30, 31, 3, 2, 34;
45, 3, 21, 43, 43;
35, 3, 41, 48, 43];
C = unico (a (:, 3: 5), "righe")

La funzione unica () in questo caso tornerà in "C".

C =
3 2 5
3 2 34
12 11 14
21 43 43
41 48 43

Conclusione

In questo articolo, ho spiegato come utilizzare la funzione Matlab UnivE () per ordinare gli elementi di un array e ho incluso alcuni esempi pratici che mostrano come usare la funzione in tutte le sue varianti. Inoltre, tutti gli argomenti di input supportati e i tipi di dati sono stati descritti in dettaglio. Speriamo che tu abbia trovato utile questo articolo di Matlab. Vedi altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.