遅行スパンクラス

遅行スパンクラスファイル作成 その3

遅行スパンクラスファイル delay_dif-cla-gra.php の各メソッドを作り込んでいきます。
作成ファイル内容は、
63Pear Village に戻り
左サイドナビ「遅行スパンクラス」の中の
遅行スパンクラス PHP ファイル
から見てください。
遅行スパンクラスファイル各メソッドの作成の流れについてはフロ-チャ-トを 遅行スパンクラスファイル作成 から見てください。
ここまで、処理デ-タの準備を 遅行スパンクラスファイル作成 その2で行ってきました。
引き続き、遅行スパンクラス メソッド function dif_arry を作成していきます。

ル-プ作成準備

  1. $mi → σ最少値

    $mi は偏差σの最少値を入れる変数です。
    初期値はなんでもよいですが、取り敢えず大きな値を入れておきます。
    $mi = 100;

  2. $n1 → 比較期間

    $n1 は比較期間です。
    比較期間の初期値 h はインスタンスから $delay['dist'] で設定され、$this -> dist に引き継がれています。
    よって $n1 = $this -> dist; として最初は $n1 に初期比較期間を設定します。

  3. $n1l → デ-タ行数-比較期間数

    $nl1 = $last_l - $n1;
    とすると、
    $n1 <= $n1l
    の関係が成り立ちます。
    今回の場合で言えば、デ-タ行数は 11 で、比較期間 $n1 が 6 となったとき
    $nl1 = 11 - 6 = 5
    となり
    $n1 <= $n1l
    は不成立となり、ル-プは終了します。
    要するにデ-タ不足になるまで比較し続けます。

大ル-プ作成

一番外側の大きな for ル-プ
大ル-プ を作成します。
for($n1 = $n1; $n1 <= $n1l; $n1++){
・中ル-プ-1
 ・・・・・・・・
・中ル-プ-2
  小ル-プ-2.1
・中ル-プ-3
  小ル-プ-2.1
}
の構成になります。
この大ル-プの中には中ル-プが3個含まれます。
指定した初期比較期間 $n1 から始め、1づつ期間を長くし、 比較可能な期間まで($n1 <= $n1l)、偏差σを計算し続けます。

中ル-プ-1 基本比較期間平均値計算

中ル-プ-1 基本比較期間平均値を計算します。
このル-プでは基本比較期間 $n1 の終値の平均値 Avg(1) の値を計算します。

平均値 Avg(1)

h は $n1 により規定されます。
そして、大ル-プ が終わるごとに $n1 は +1 されます。
仮の合計値を $h_Avg とし最初は 0 としておきます。
$h_Avg = 0;
n の値を $k1 とすると終値は、
$owa100[$k1][5]
に格納されています。

   
 for($k1 = 1; $k1 <= $n1; $k1++){	
  $h_Avg =
   $owa100[$k1][5] + $h_Avg;
 }
 $Avg = $h_Avg/$n1;

中ル-プ-2 比較期間平均値計算

ここでは、比較期間の平均値 Avg_m を求めます。

平均値 Avg(m)

ここで、
k = m + n - 1
m:(h+1),・・・・・・,(N-h)
n:1,2,・・・・,h
となります。
そして、基本比較期間の平均値 Avg(1) との差分 $DAvg_m を計算します。 $DAvg_m[m] = $Avg_m[m] - $Avg


 for($j1=$n1;$j1<=$n1l;$j1++){
 $Avg_m[$j1+1] = 0;
//比較期間の平均値 Avg_m × h を求める	
  for($k1 = 1;$k1 <= $n1;$k1++){
   $Avg_m[$j1+1] =
    $owa100[$k1 + $j1][5]
     + $Avg_m[$j1+1];
  }//小ル-プ-2.1 END
  $Avg_m[$j1+1] =
   $Avg_m[$j1+1]/$n1;
  $DAvg_m[$j1+1] =
   $Avg_m[$j1+1] - $Avg;
 }//中ル-プ-2 END  

ちょっと注意すべきところは、$j1 は $n1 から始まっているところです。
$n1 は比較期間でした。
比較開始は比較期間 +1 から始まりますので、 $j1+1 から基本比較期間と比較していく点です。
最初に、仮の合計値を $Avg_m[$j1+1] = 0 としておきます。
比較開始点の終値は
$owa100[$k1 + $j1][5]
に格納されています。
これで、
ΔAvg(m) すなわち $DAvg_m[$j1+1]
の計算ができました。

やっと偏差σを求める準備ができました。
ここから難所になります。
長くなりました。
一旦ここで切りたいと思います。
引き続き、遅行スパンクラス メソッド function dif_arry を作成していきます。


遅行スパンクラスファイル作成 その4 に進む
遅行スパンクラスファイル作成 その2 に戻る
遅行スパンクラスファイル作成 に戻る
遅行スパンクラス概要 に戻る

63PearVillage に戻る