Fractional Integral

分数階積分とか非整数階積分とか呼ばれるもので、今回はわけあって、半積分(Semi Integral)二回で一回積分する演算をテストしてみました。
(この演算をつかったデータ処理を次に使いたいため、その準備として)

まず半積分をどのように実現するのか、これに悩みました。ScilabやOcatveに便利な関数はないかと調べましたが、見当たりませんでした。
そこで下の2つの式を使ってExcelでやる方法を試してみました。

1). 前のデータを足していくので積分を表現できる
y(t) = ay(t-1) + x(t)

2). 前のデータとの差分を得るので微分を表現できる
y(t) = x(t) + bx(t-1)

上の2つをつないで、1/2回の積分を表現し、これを2回すれば1回の積分と同じになることを見込んでいます。

SemiIntegra01

※Excelシートの数値
A列 : 元データ
B列、D列 : 1)
C列、E列 : 2)
F列 : A列の積分(E列と近いことを確認)
B25 : 係数a
C25 : 係数b
E25 : =LINEST(E2:E21) ここが1になるように、ゾルバーで係数a,bを求める
L列 : スーパークライン(曲がり具合確認用。微分で傾きを調整している)

EとFが近いということから、1/2回積分2回で、積分が実現しているように見える。(直線が半積分で一旦曲線になってさらに半積分でまた直線に戻る)

今度は、この係数を使い、元データを定数から2次曲線に変えてみました。

SemiIntegra02
うまくいっているように、見える。
この方法が正しいかどうかわかりませんが、詳しくはまた次回に。

About

Categories: 未分類 タグ: