diff関数,複数の差分,行列の列間の差分について
Show older comments
複数の差分
ベクトルを作成し、要素間の 2 階差分を計算します.
2 階差分とはどういう意味でしょうか?
2つ横の要素との差ではないようですので
どう理解すればよいのか,把握しかねております.
X = [0 5 15 30 50 75 105];
Y = diff(X,2)
Y = 1×5
5 5 5 5 5
行列の列間の差分について
下記の説明が記載されておりますが
(X,1,2)の1,2は何を指定しているのでしょうか?
こちらは単純に1つ隣の数,方向性の指定ということで良いのでしょうか?
「列間の 1 次差分を計算します。」
X = [1 3 5;7 11 13;17 19 23];
Y = diff(X,1,2)
Y = 3×2
2 2
4 2
2 4
https://jp.mathworks.com/help/matlab/ref/diff.html?searchHighlight=diff&s_tid=srchtitle#btwmxq8-10
Accepted Answer
More Answers (1)
> 2 階差分とはどういう意味でしょうか?
→2段階(2連続)差分、差分の差分、という意味です。ドキュメントにも「Y = diff(X,n) は、diff(X) 演算子を再帰的に n 回適用することで n 階差分を計算します」と説明があります。
X = [0 5 15 30 50 75 105];
Y = diff(X,2)
Y = diff(diff(X))
>(X,1,2)の1,2は何を指定しているのでしょうか?こちらは単純に1つ隣の数,方向性の指定ということで良いのでしょうか?
→仰る通りで、2番目の引数1は差分の次数、3番目の引数2は次元(方向性)の指定です。
MATLAB関数を説明するドキュメントにおいて、引数の数と順番に着目し、引数の意味を説明する文書に辿り着けます。例えば下図のように辿っていけます。

Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!