A função diff no matlab

A função diff no matlab
Este artigo explicará tudo o que você precisa saber sobre a função Matlab diff ().

Veremos como implementar esta função para encontrar as diferenças entre elementos vetoriais, linhas e colunas de uma matriz. Neste artigo, você também aprenderá como obter derivados aproximados de uma função matemática.

Isso será mostrado através de exemplos práticos com fragmentos de código e imagens que ilustram as diferentes maneiras de usar essa função em várias dimensões e com tipos variados de vetores e matrizes.

Sintaxe da Função Diff Matlab

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

Descrição da função do Matlab Diff

A função dif. () retorna em "D" a diferença entre um elemento e o texto do vetor de entrada ou matriz "x". Operamos ao longo de uma dimensão quando chamamos de diff com uma matriz como entrada. Portanto, o resultado em "d" será uma variedade de tamanho n na dimensão dos elementos N-1 sobre a dimensão em que operamos. A dimensão que queremos operar é selecionada usando a entrada "Dim". A entrada "n" é um escalar inteiro que define a ordem dos derivados. Esta função aceita matrizes vetoriais, 2D e multidimensionais em "X", enquanto as entradas "n" e "Dim" são de tipo escalar inteiro positivo. Veremos alguns exemplos práticos dessa função com vetores e diferentes tipos de matriz abaixo.

Exemplo 1: Como obter as diferenças entre os elementos adjacentes de um vetor com a função matlab diff ()

Agora, vamos ver como usar a função MATLAB, diff, para encontrar as diferenças entre os elementos adjacentes do vetor “V”. Para fazer isso, criaremos um script e escreveremos o seguinte código:

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

Na primeira linha do script, criamos o vetor de 9 elementos “V”. Então, na segunda linha de código, chamamos a função dif. (), passando "v" como o argumento de entrada. Como estamos enviando um vetor neste caso, a entrada "Dim" não é usada.

Como você pode ver na figura a seguir, o console de comando do ambiente MATLAB mostra que a saída em "D" é um vetor das diferenças entre os elementos conectados de "V". Você pode ver que o vetor de saída contém um elemento a menos que o vetor de entrada.

Exemplo 2: Como usar a entrada "Dim" para operar ao longo de diferentes dimensões com a função diff () do Matlab

Nos casos em que trabalhamos com essa função usando a entrada "Dim" com diferentes dimensões, a entrada "n" não deve ser enviada vazia, pois diff () leva "n" em seu segundo argumento de entrada. Se essa entrada não for usada, um 1 deve ser enviado, que é o valor padrão.

Exemplo 3: Como usar a entrada "Dim" para operar ao longo da primeira dimensão com a função Matlab Diff

Agora, vamos ver como usar a função MATLAB, diff, para encontrar as diferenças entre os elementos adjacentes da matriz “M” ao longo de suas colunas ou dimensão 1. Para esse fim, criaremos um script e escreveremos o seguinte código:

M = mágica (5)
r = diff (m, 1, 1)

Na primeira linha do script, usamos a função Magic () para criar um quadrado mágico que consiste em uma matriz de 5 por 5 elementos. Na segunda linha de código, chamamos a função dif. (), enviando "m" como o argumento de entrada e especificando na entrada "Dim" que opera ao longo da dimensão 1.

A imagem a seguir mostra o console de comando com o resultado em "D". Nesse caso, é uma matriz de cinco colunas por quatro linhas com as diferenças entre os elementos contíguos ao longo da dimensão 1 de "M".

Exemplo 4: Como usar a entrada "Dim" para operar ao longo da segunda dimensão com a função Matlab Diff

Neste exemplo, veremos como operar na dimensão 2 da matriz, ou seja, ao longo de suas linhas. Para fazer isso, usamos o mesmo fragmento de código que no exemplo anterior, mas desta vez, indicamos digitando "Dim" para que ele opere ao longo da dimensão 2 ou as linhas do quadrado mágico.

M = mágica (5)
r = diff (m, 1, 2)

A imagem a seguir mostra o console de comando com o resultado em "D". Nesse caso, é uma matriz de quatro linhas por cinco colunas com as diferenças entre os elementos contíguos ao longo da dimensão 2 de "M".

Exemplo 5: Como obter os derivados aproximados em uma função com o matlab diff ()

Neste exemplo, veremos como obter o derivado aproximado de uma onda senoidal usando a função diff (), que usaremos para obter a diferença de y no intervalo x, x+h, e depois dividirá -lo pelo intervalo h. Em seguida, veremos o código e o script deste exemplo.

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

No trecho de código anterior, primeiro criamos o vetor de tempo “x” de 0 a 2*pi com intervalos de 0.01 em "H". Em seguida, criamos o vetor "y" com o seno de "x" para que eles tenham o mesmo tamanho. Depois que a onda for criada, com a função dif (), obteremos as diferenças entre os elementos do vetor "y" na saída "d". Em seguida, dividimos as diferenças em "D" por "H", e obteremos um vetor com o derivado de "Y". Como dissemos na descrição, o tamanho do vetor de saída DIFF () são os elementos N-1 maiores que o vetor de entrada, e isso ocorre toda vez que essa função é aplicada recursivamente através da entrada "n" So "X" e " D ”não terá mais tamanhos compatíveis. Se queremos representar a onda e sua derivada, o tamanho de "D" é incompatível com o de "x". Então, temos que defini -lo pelo tamanho de "D", como mostrado na última linha do código. Abaixo, você pode ver o seno "Y" e seu derivado aproximado "D".

Conclusão

Este artigo do MATLAB explicou como usar a função Matlab Diff para encontrar a diferença entre elementos adjacentes de uma matriz ou vetor. Para ajudá -lo a entender como usar esse recurso, criamos um exemplo prático com fragmentos e imagens de código para cada modo e diferentes dimensões nas quais essa função funciona. Também vimos uma descrição da estrutura da função, os argumentos de entrada e saída e o tipo de dados que diff () aceita. Esperamos que você tenha achado este artigo do Matlab. Veja outros artigos de dica do Linux para obter mais dicas e informações.