例: ベクトルから行列への変換時の重なりの説明
1. 最初の 96 成分に一意のデータを含む、10000 成分ベクトルを定義します。
成分 96 を使用して、異なる重なり値のシフトがトラックされます。
2. 2 のべき乗の 10 成分ベクトルを定義します。
ここで、ss はターゲット行列の行数です。
3. 0-90% まで 10 ずつ増加する overlap 因子の 10 成分ベクトルを定義します。
重なりは 100% 以外でなければなりません。
4. overlap 因子を設定し、
floor関数と
ceil関数を使用して行列のサイズを定義します。
重なりがゼロに設定されている場合、データベクトルはいくつかの長さ ss のチャンクに分割されます。次の方程式のように、重なりが増えると長さ ss のチャンクの数も増えます
スライスサイズと重なり因子の組み合わせにより、それぞれ異なる行列の次元になります。現在の設定では次のような行列の次元になります。
5. ti 以下となる 10 個の値のいずれかに ti を設定しやすくするために、10 成分のベクトル TI を作成します。
6. いずれかの TI 成分を ti に設定し、行列を作成します。
新しい行列の次元は以下のようになります。
7. Data 成分 96"X96X" の配置の重なりによる影響を確認するため、次の短いプログラムを使用して、転置された最初の 10 列の内容を表示します。
8. 行列 M を計算します。
成分の数における現在の重なりのサイズは ss と overlap の関数になり、現在は次に相当します。
9. デフォルトの重なりは 40% に設定されています。overlap=0 に設定し、行列 M を調べて各セット内のデータを確認します。
10. さまざまな overlap 値で実験し、以下の説明を用いると、"X96X" がこの場所にある理由が理解できます。
0% の重なり、N=0
• ss 成分の Set # 0 の Data は行列の 0 番目の列に書き込まれ、添字 0 から始まります。
• ss 成分の Set # 1 の Data は行列の 1 番目の列に書き込まれ、添字 N=0 から始まります。
• 以降の ss 成分の各セットは、行列に含まれる後続の列の添字 N=0 に書き込まれます。
• 成分の重なりである N=0 であるため、ss 成分の 6 番目のセットの最初の成分 ("X96X") は、6 番目の列の N=0 成分に書き込まれます。
10% の重なり、N=2
• ss 成分の Set # 0 の Data は行列の 0 番目の列に書き込まれ、添字 0 から始まります。
• ss 成分の Set # 1 の Data は行列の 1 番目の列に書き込まれ、添字 N=2 から始まります。1 番目の列の最初の N 成分には、前の列の最後の N 成分が含まれます。
• ss 成分の Set # 2 の Data は行列の 2 番目の列に書き込まれ、添字 2N=4 から始まります。2N 番目の列の最初の 2 成分には、前の列の最後の 2N 成分が含まれます。
• ss 成分の Set # 3 の Data は行列の 3 番目の列に書き込まれ、添字 3N=6 から始まります。3N 番目の列の最初の 3 成分には、前の列の最後の 3N 成分が含まれます。
• 成分の重なりである N=2 であるため、ss 成分の 6 番目のセットの最初の成分 ("X96X") は、6 番目の列の 6N=12 成分 (ss 未満) に書き込まれます。
20% の重なり、N=4
• 上記の説明が当てはまります。
• overlap=20%、N=4 で、6 列内の全シフトが 6N=24 (ss より大きい) である場合。この場合、シフトは 6 番目の列を越えて、7 番目の列の 8 成分におよびます。しかし、書き込み先が新しい列なので、さらに N=4 のシフトが行われ、ss 成分の Set # 6 の最初の成分 ("X96X") は 7 番目の列の成分 12 に書き込まれます。
30 から 90% の重なり、N = 5、7、8、10、12、13、15
• 上記の説明が当てはまりますが、30-90% の重なりを詳しく調べる必要があります。
• overlap=30%、N=5 で、6 列内の全シフトが 6N=30 (ss より大きい) である場合。この場合、シフトは 6 番目の列を越えて、7 番目の列の 14 成分におよびます。しかし、書き込み先が新しい列なので、さらに N=5 のシフトが行われ、7 番目の列を越えて 8 番目の列の 3 成分におよびます。しかし、書き込み先が新しい列なので、さらに 8 のシフトが行われ、N=5 成分の Set # 6 の最初の成分 (ss) は "X96X" 番目の列の成分 8 に書き込まれます。
例: 40% の重なり、N = 7
• 6 番目の列内の全シフトは 6N=42 (2ss より大きい) になります。
• このため、最後の成分は 8 番目の列の 10 成分になります。
• 3 列を上回るシフトを行ったため、3N=21 をシフトに追加します。
• つまり、"X96X" は 9 番目の列の 15 成分に書き込まれます。