La función diff() en MATLAB
Este tutorial discutirá la búsqueda de diferencias y derivadas aproximadas usando la función diff()
en Matlab.
Encuentre diferencias y derivadas aproximadas usando la función diff()
en MATLAB
La función diff()
se utiliza para encontrar las diferencias y las derivadas aproximadas en Matlab. La sintaxis: diff(x)
se utiliza para encontrar las diferencias entre elementos adyacentes de un vector o matriz. Si la entrada es un vector, entonces la diferencia será la diferencia entre los valores adyacentes del vector de entrada. El tamaño del vector de salida será uno menos que el tamaño del vector de entrada. Por ejemplo, encontremos la diferencia entre los valores de un vector. Vea el código a continuación.
clc
x = [1 3 6 9];
y = diff(x)
Producción :
y =
2 3 3
En la salida, la diferencia entre los dos primeros elementos del vector de entrada 1 y 3 es dos, que se almacena en la variable y. Si la entrada es un array, entonces la diferencia será la diferencia entre las filas de la matriz de entrada, y el tamaño de las filas será igual a la diferencia entre la longitud de las filas y el orden de la diferencia. Por ejemplo, encontremos la diferencia entre los valores de un vector. Vea el código a continuación.
clc
x = [1 3 6 9; 1 2 3 4]
y = diff(x)
Producción :
x =
1 3 6 9
1 2 3 4
y =
0 -1 -3 -5
En la salida, la diferencia entre los dos primeros elementos de las dos primeras filas de la matriz de entrada es 0, que se almacena en la variable y. Si aumentamos una fila en la matriz de entrada, una fila también aumentará en la matriz de salida. También podemos encontrar la enésima diferencia de tiempo entre el vector o los elementos de la matriz usando el segundo argumento de la función diff()
. Por ejemplo, la función diff(x,2)
encontrará la diferencia de segundo orden entre el vector de entrada o los valores de la matriz. El enunciado diff(x,2)
es el mismo que el enunciado diff(diff(x))
. Por ejemplo, busquemos la diferencia de segundo orden entre los valores del vector anterior. Vea el código a continuación.
clc
x = [1 3 6 9]
y = diff(x,2)
Producción :
x =
1 3 6 9
y =
1 0
En la salida, el tamaño del vector de salida también ha disminuido porque el tamaño será igual a la diferencia entre la longitud del vector de entrada y el orden de diferencia. En el caso de orden superior, la función diff()
se llama a sí misma de forma recursiva para encontrar la diferencia. También podemos encontrar la diferencia entre las columnas de un array en lugar de la fila usando el tercer argumento de la función diff()
. Por ejemplo, encontremos la diferencia entre las columnas de la matriz anterior. Vea el código a continuación.
clc
x = [1 3 6 9; 1 2 3 4]
y = diff(x,1,2)
Producción :
x =
1 3 6 9
1 2 3 4
y =
2 3 3
1 1 1
En caso de diferencia entre columnas, el tamaño de las columnas será igual a la diferencia entre la longitud de las columnas y el orden de diferencia, y el tamaño de la fila seguirá siendo el mismo. También podemos encontrar la derivada parcial de una función usando la función diff(f)/h
. Donde f es la función dada y h es el tamaño del paso. Por ejemplo, busquemos la derivada parcial de sin(x)
y tracemos una gráfica usando la función plot()
. Vea el código a continuación.
h = 0.001;
x = -2*pi:h:2*pi;
f = sin(x);
y = diff(f)/h;
plot(x(:,1:length(y)),y,x,f)
legend('sin(x)','cos(x)')
Producción:
En la salida, la línea azul es la onda sinusoidal y la línea roja es la onda coseno que es la derivada de la onda sinusoidal. La función legend()
se utiliza para dibujar leyendas en el gráfico para indicar qué gráfico pertenece a qué datos.