■1つ目の質問
2階差分は簡単に言うとお隣さんの差を取る作業を何回やりますかって話です。
以下例で見てみましょう。
X = [0 5 15 30 50 75 105];
Y_1 = diff(X,1)
Xの差をとったY_1にもう一度diff関数で差を取ります。
Y_2 = diff(Y_1,1)
この動作が以下の diff(X,2) に相当します。
Y = diff(X,2)
■2つ目の質問
diff(X, 1, dim)の引数dimは引く方向になります。
これはXがベクトルではなく、行列の場合で使用します。
縦と横、どっちのお隣さんの差を取りますかって話です。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/728129/image.jpeg)
以下、例を見てみましょう。
X = [1 3 5;7 11 13;17 19 23]
これを横方向の差と縦方向の差それぞれ出してみます
上下の差について
Y = diff(X,1,1)
左右の差について
Y = diff(X,1,2)