La funzione diffing in matlab

La funzione diffing in matlab
Questo articolo spiegherà tutto ciò che devi sapere sulla funzione matlab diff ().

Vedremo come implementare questa funzione per trovare le differenze tra elementi vettoriali, righe e colonne di una matrice. In questo articolo, imparerai anche come ottenere derivati ​​approssimativi di una funzione matematica.

Questo verrà mostrato attraverso esempi pratici con frammenti di codice e immagini che illustrano i diversi modi di utilizzare questa funzione in più dimensioni e con diversi tipi di vettori e array.

Sintassi della funzione differen matlab

d = diff (x)
d = diff (x, n)
d = diff (x, n, dim)

Descrizione della funzione differente matlab

La funzione diff () ritorna in "d" la differenza tra un elemento e il testo del vettore di input o la matrice "x". Operiamo lungo una dimensione quando chiamiamo diff con un array come input. Quindi, il risultato in "d" sarà un array di dimensioni n nella dimensione degli elementi N-1 sulla dimensione su cui operiamo. La dimensione su cui vogliamo operare è selezionata utilizzando l'ingresso "dim". L'ingresso "N" è uno scalare intero che imposta l'ordine dei derivati. Questa funzione accetta array vettoriali, 2D e multidimensionali in "X", mentre gli ingressi "N" e "Dim" sono di tipo Scalar intero positivo. Vedremo alcuni esempi pratici di questa funzione con vettori e diversi tipi di matrice di seguito.

Esempio 1: come ottenere le differenze tra gli elementi adiacenti di un vettore con la funzione Matlab diff ()

Ora, vediamo come usare la funzione MATLAB, diff, per trovare le differenze tra gli elementi adiacenti del vettore "V". Per fare ciò, creeremo uno script e scriveremo il seguente codice:

v = [1, 2, 4, 7, 11, 7, 4, 2, 1];
r = diff (v)

Nella prima riga dello script, creiamo il vettore a 9 elementi "V". Quindi, nella seconda riga di codice, chiamiamo la funzione Diff (), passando "V" come argomento di input. Dal momento che stiamo inviando un vettore in questo caso, l'ingresso non viene utilizzato.

Come puoi vedere nella figura seguente, la console di comando dell'ambiente MATLAB mostra che l'output in "D" è un vettore delle differenze tra gli elementi collegati di "V". Puoi vedere che il vettore di output contiene un elemento in meno rispetto al vettore di input.

Esempio 2: come utilizzare l'input "dim" per funzionare lungo diverse dimensioni con la funzione diff () di Matlab

Nei casi in cui lavoriamo con questa funzione usando l'input "Dim" con dimensioni diverse, l'input "N" non deve essere inviato vuoto poiché diff () prende "N" nel suo secondo argomento di input. Se questo input non viene utilizzato, un 1 dovrebbe essere inviato invece, che è il valore predefinito.

Esempio 3: come utilizzare l'ingresso "dim" per funzionare lungo la prima dimensione con la funzione di differe

Ora, vediamo come usare la funzione MATLAB, diff, per trovare le differenze tra gli elementi adiacenti della matrice "M" lungo le sue colonne o dimensioni 1. A tale scopo, creeremo uno script e scriveremo il seguente codice:

M = magia (5)
r = diff (m, 1, 1)

Nella prima riga della sceneggiatura, utilizziamo la funzione Magic () per creare un quadrato magico costituito da un array di 5 per 5 elementi. Nella seconda riga di codice, chiamiamo la funzione Diff (), inviando "M" come argomento di input e specificando nell'input "Dim" che opera lungo la dimensione 1.

La seguente immagine mostra la console di comando con il risultato in "D". In questo caso, è un array di cinque colonne per quattro file con le differenze tra gli elementi contigui lungo la dimensione 1 di "M".

Esempio 4: come utilizzare l'ingresso "dim" per funzionare lungo la seconda dimensione con la funzione di differen

In questo esempio, vedremo come operare sulla dimensione 2 della matrice, cioè lungo le sue file. Per fare ciò, utilizziamo lo stesso frammento di codice dell'esempio precedente, ma questa volta indichiamo digitando "dim" in modo che funzioni lungo la dimensione 2 o le righe del quadrato magico.

M = magia (5)
r = diff (m, 1, 2)

La seguente immagine mostra la console di comando con il risultato in "D". In questo caso, è un array di quattro righe per cinque colonne con le differenze tra gli elementi contigui lungo la dimensione 2 di "M".

Esempio 5: come ottenere i derivati ​​approssimativi in ​​una funzione con matlab diff ()

In questo esempio, vedremo come ottenere il derivato approssimativo di un'onda sinusoidale usando la funzione diff (), che useremo per ottenere la differenza di y nell'interva H. Successivamente, vedremo il codice e lo script per questo esempio.

x = 0: 0.01: 2*pi; % H o delta x = 0.01
y = sin (x);
d = diff (y) / 0.01;
Trama (x (:, 1: lunghezza (d)), d, x (:, 1: lunghezza (y)), y)

Nel frammento di codice precedente, creiamo per la prima volta il vettore di tempo “x” da 0 a 2*pi con intervalli di 0.01 in "H". Quindi, creiamo il vettore "y" con il seno di "x" in modo che abbiano le stesse dimensioni. Una volta che l'onda è stata creata, con la funzione diff (), otterremo le differenze tra gli elementi del vettore "y" nell'output "D". Successivamente, dividiamo le differenze in "d" per "h" e otterremo un vettore con il derivato di "y". Come abbiamo detto nella descrizione, la dimensione del vettore di output diff () è elementi N-1 maggiori del vettore di input, e ciò si verifica ogni volta che questa funzione viene applicata in modo ricorsivo attraverso l'ingresso "n" così "x" e " d ”non avrà più dimensioni compatibili. Se vogliamo rappresentare l'onda e il suo derivato, la dimensione di "d" è incompatibile con quella di "x". Quindi, dobbiamo definirlo per le dimensioni di "d", come mostrato nell'ultima riga del codice. Di seguito, puoi vedere il seno "Y" e il suo derivato approssimativo "D".

Conclusione

Questo articolo di MATLAB ha spiegato come utilizzare la funzione MATLAB Diff per trovare la differenza tra elementi adiacenti di una matrice o vettore. Per aiutarti a capire come utilizzare questa risorsa, abbiamo creato un esempio pratico con frammenti di codice e immagini per ogni modalità e dimensioni diverse in cui questa funzione funziona. Abbiamo anche visto una descrizione della struttura della funzione, degli argomenti di input e output e il tipo di dati che diff () accetta. Speriamo che tu abbia trovato utile questo articolo di Matlab. Vedi altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.