La fonction diff dans Matlab

La fonction diff dans Matlab
Cet article expliquera tout ce que vous devez savoir sur la fonction matlab diff ().

Nous verrons comment implémenter cette fonction pour trouver les différences entre les éléments vectoriels, les lignes et les colonnes d'une matrice. Dans cet article, vous apprendrez également à obtenir des dérivés approximatifs d'une fonction mathématique.

Cela sera montré à travers des exemples pratiques avec des fragments de code et des images illustrant les différentes façons d'utiliser cette fonction en plusieurs dimensions et avec différents types de vecteurs et de tableaux.

Syntaxe de la fonction Matlab Difff

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

DESCRIPTION DE FONCTION DU MATLAB DIFF

La fonction diff () renvoie en «D» la différence entre un élément et le texte du vecteur d'entrée ou de la matrice «x». Nous opérons le long d'une dimension lorsque nous appelons Diff avec un tableau comme entrée. Ainsi, le résultat en «D» sera un tableau de taille n dans la dimension des éléments N-1 sur la dimension sur laquelle nous opérons. La dimension sur laquelle nous voulons fonctionner est sélectionnée à l'aide de l'entrée «DIM». L'entrée «n» est un scalaire entier qui définit l'ordre des dérivés. Cette fonction accepte les tableaux vectoriels, 2D et multidimensionnels dans «x», tandis que les entrées «n» et «dim» sont de type scalaire entier positif. Nous verrons quelques exemples pratiques de cette fonction avec des vecteurs et différents types de matrice ci-dessous.

Exemple 1: Comment obtenir les différences entre les éléments adjacents d'un vecteur avec la fonction matlab diff ()

Maintenant, voyons comment utiliser la fonction Matlab, Diff, pour trouver les différences entre les éléments adjacents du vecteur «V». Pour ce faire, nous allons créer un script et écrire le code suivant:

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

Dans la première ligne du script, nous créons le vecteur à 9 éléments «V». Ensuite, dans la deuxième ligne de code, nous appelons la fonction diff (), passant «V» comme argument d'entrée. Puisque nous envoyons un vecteur dans ce cas, l'entrée «dim» n'est pas utilisée.

Comme vous pouvez le voir dans la figure suivante, la console de commande de l'environnement MATLAB montre que la sortie en «D» est un vecteur des différences entre les éléments connectés de «V». Vous pouvez voir que le vecteur de sortie contient un élément de moins que le vecteur d'entrée.

Exemple 2: Comment utiliser l'entrée «DIM» pour fonctionner selon différentes dimensions avec la fonction diff () de Matlab

Dans les cas où nous travaillons avec cette fonction en utilisant l'entrée «DIM» avec différentes dimensions, l'entrée «N» ne doit pas être envoyée vide puisque diff () prend «n» dans son deuxième argument d'entrée. Si cette entrée n'est pas utilisée, un 1 doit être envoyé à la place, qui est la valeur par défaut.

Exemple 3: Comment utiliser l'entrée «DIM» pour fonctionner le long de la première dimension avec la fonction MATLAB DIFF

Maintenant, voyons comment utiliser la fonction MATLAB, Diff, pour trouver les différences entre les éléments adjacents de la matrice «M» le long de ses colonnes ou dimension 1. À cette fin, nous créerons un script et écrire le code suivant:

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

Dans la première ligne du script, nous utilisons la fonction magique () pour créer un carré magique composé d'un tableau de 5 éléments par 5. Dans la deuxième ligne de code, nous appelons la fonction diff (), envoyant «M» comme argument d'entrée et spécifiant dans l'entrée «DIM» qu'elle fonctionne le long de la dimension 1.

L'image suivante montre la console de commande avec le résultat en «D». Dans ce cas, il s'agit d'un tableau de cinq colonnes par quatre rangées avec les différences entre les éléments contigus le long de la dimension 1 de «M».

Exemple 4: Comment utiliser l'entrée «DIM» pour fonctionner le long de la deuxième dimension avec la fonction MATLAB DIFF

Dans cet exemple, nous verrons comment fonctionner sur Dimension 2 de la matrice, c'est-à-dire le long de ses lignes. Pour ce faire, nous utilisons le même fragment de code que dans l'exemple précédent, mais cette fois, nous indiquons en tapant «Dim» afin qu'il fonctionne le long de la dimension 2 ou des lignes du carré magique.

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

L'image suivante montre la console de commande avec le résultat en «D». Dans ce cas, il s'agit d'un tableau de quatre lignes de cinq colonnes avec les différences entre les éléments contigus le long de la dimension 2 de «M».

Exemple 5: Comment obtenir les dérivés approximatifs dans une fonction avec Matlab Diff ()

Dans cet exemple, nous verrons comment obtenir la dérivée approximative d'une onde sinusoïdale en utilisant la fonction diff (), que nous utiliserons pour obtenir la différence de Y dans l'intervalle x, x + h, puis la diviser par l'intervalle H. Ensuite, nous verrons le code et le script pour cet exemple.

x = 0: 0.01: 2 * pi; % h ou delta x = 0.01
y = sin (x);
d = diff (y) / 0.01;
Plot (x (:, 1: longueur (d)), d, x (:, 1: longueur (y)), y)

Dans l'extrait de code précédent, nous créons d'abord le vecteur temporel «x» de 0 à 2 * pi avec des intervalles de 0.01 dans "H". Ensuite, nous créons le vecteur «y» avec le sinus de «x» afin qu'ils aient la même taille. Une fois l'onde créée, avec la fonction diff (), nous obtiendrons les différences entre les éléments du vecteur «y» dans la sortie «D». Ensuite, nous divisons les différences de «D» par «H», et nous obtiendrons un vecteur avec le dérivé de «Y». Comme nous l'avons dit dans la description, la taille du vecteur de sortie Diff () est des éléments N-1 supérieurs au vecteur d'entrée, et cela se produit chaque fois que cette fonction est appliquée récursivement via l'entrée «n» SO »x» et « D ”n'aura plus de tailles compatibles. Si nous voulons représenter la vague et sa dérivée, la taille de «D» est incompatible avec celle de «x». Nous devons donc le définir par la taille de «D», comme indiqué dans la dernière ligne du code. Ci-dessous, vous pouvez voir le sinus «y» et son dérivé approximatif «D».

Conclusion

Cet article MATLAB a expliqué comment utiliser la fonction Matlab Diff pour trouver la différence entre les éléments adjacents d'une matrice ou d'un vecteur. Pour vous aider à comprendre comment utiliser cette ressource, nous avons créé un exemple pratique avec des fragments de code et des images pour chaque mode et différentes dimensions dans lesquelles cette fonction fonctionne. Nous avons également vu une description de la structure de la fonction, des arguments d'entrée et de sortie et le type de données que diff () accepte. Nous espérons que vous avez trouvé cet article MATLAB utile. Voir d'autres articles sur les indices Linux pour plus de conseils et d'informations.