reduce_ex
メニュー情報
- ワークシート:データ削減:等間隔X
- 解析:データ操作:データ削減:等間隔X
概要
Xで再サンプリングを使用してXYデータを削減します
追加の情報
必要なOriginのバージョン: 8.1 SR0以降
コマンドラインでの使用法
reduce_ex subgroup:=inter bins:=5 method:=yfirstxfirst
Xファンクションの実行オプション
スクリプトからXファンクションにアクセスする場合、追加のオプションスイッチについてのページを参照してください。
変数
表示 名
|
変数 名
|
I/O と データ型
|
デフォルト 値
|
説明
|
入力
|
iy
|
入力
XYRange
|
<active>
|
入力データ範囲を指定します。
|
サブグループ
|
subgroup
|
入力
int
|
0
|
元データをサブグループに分ける方法を指定します。分割後、データポイントの各グループは単一データポイントに統合されます。
オプションリスト:
- ratio: N点毎
- 入力範囲のN個のデータポイントごとに一つのデータポイントに統合します。rfactor 変数でN数を指定できます。
- inter:サンプリング間隔による
- サンプリング間隔に従って、データポイントを統合します。dx 変数でサンプリング間隔を指定することができます。
- bins:インターバル数による
- インターバル数に従って、データポイントを統合します。bins 変数でインターバル数を指定することができます。
- Freq: 周波数による
- 周波数に従って、データポイントを統合します。rfre 変数で度数を指定できます。
|
サンプリング間隔
|
dx
|
入力
double
|
0.25
|
これは、サブグループでサンプリング間隔によるが選択されているときのみ利用できます。サンプリング間隔の値を指定します。
|
間隔の数
|
bins
|
入力
int
|
10
|
これは、サブグループでインターバル数によるが選択されているときのみ利用できます。間隔(インターバル)の数を指定します。
|
再サンプリングファクター
|
rfactor
|
入力
int
|
4
|
これは、サブグループでN点毎が選択されているときのみ利用できます。Nの値を指定します。
|
再サンプリング周波数
|
rfre
|
入力
double
|
8
|
これは、サブグループで周波数によるが選択されているときのみ利用できます。再サンプリング周波数を指定します。
|
開始X
|
start
|
入力
double
|
<自動>
|
これは、サブグループでサンプリング間隔による、インターバル数による、周波数によるが選択されているときのみ利用できます。グループ化を開始するX値を指定します。
|
終了X
|
end
|
入力
double
|
<自動>
|
これは、サブグループでサンプリング間隔による、インターバル数による、周波数によるが選択されているときのみ利用できます。グループ化を終了するX値を指定します。
|
サンプリング手法
|
method
|
入力
int
|
1
|
各グループで統合されたデータポイントのY値の取得方法を指定します。
オプションリスト:
- yfirstxfirst: 最初のポイント
- 各グループ内の最初のデータポイントのY値を取得します。
- ymeanxbinc:Y平均
- 各グループ内のデータポイントのY値の平均値を取得します。
- yranxbinc: ランダムY(X平均)
- ランダムな数を取得します。
|
等サンプリング間隔許容値(%)
|
variation
|
入力
double
|
5
|
サブグループでN点毎が選択されているとき利用できます。これを使って、入力X値が等間隔かどうかをチェックするのに使用する許容値を指定します。詳細については、以下のアルゴリズムセクションを参照してください。
|
FFTプレビューの表示
|
plot
|
入力
int
|
0
|
プレビューパネルに元のデータとともに削減したデータのFFTの結果をプロットするかどうかを指定します。
|
出力
|
oy
|
出力
XYRange
|
(<autoX>,<new>)
|
出力範囲を指定します。出力表記のシンタックスを参照してください。
|
説明
このXファンクションは、XYデータを削減して等間隔X値でサイズの小さいデータにします。
サンプル
EX1
X値が等間隔でないデータセットがあります。データセットには1000ポイントのデータが含まれています。
次のステップを実行してデータポイントを100個にします。出力データは等間隔になります。
- データは、既にワークブックに存在するものとします。データ列を選択し、作図:基本の2Dグラフ:散布図を選択してグラフを作図します。
- グラフをアクティブにします。メニューから、解析:データ操作:データ削減:等間隔Xを選択し、reduce_ex Xファンクションダイアログを開きます。
- ダイアログボックス下側にある自動プレビューにチェックを付けます。
- サブグループドロップダウンリストでインターバル数ごとを選択します。そして、間隔の数の隣にある自動のチェックを外し、100 と入力します。
- サンプリング手法ドロップダウンリストで最初のポイント を選択します。
- FFTプレビューの表示にチェックを付けます。元データと削減データの両方のFFT結果を確認できます。
- 出力として(<新規>, <新規>) を設定します。
- OKボタンをクリックすると、グラフに結果が表示されます。削減したデータは入力ワークシートの元のデータの隣にあります。そして、X値が等間隔になっているのが分かります。
- このワークブックのX2 および Y2を選択し、Originメニューから作図:基本の2Dグラフ:散布図を選択して、グラフを作成します。データの形状が元のデータと同様であることが分かります。
また、次のスクリプトコマンドを使ってデータポイントを削減することもできます。(スクリプトを実行する前に入力データが選択されているものとします。)
reduce_ex subgroup:=bins bins:=100 method:=yfirstxfirst oy:=(<new>,<new>);
EX2
以下のLabTalkスクリプトを実行して、サンプルデータfitConv.dat をインポートし、周波数で削減します。
newbook ;
fname$= system.path.program$+ "Samples\Curve Fitting\fitConv.dat" ;
impASC;
worksheet -s 2;
reduce_ex -r 2 subgroup:=freq;
アルゴリズム
入力X値に等間隔のチェックがついているとき、等しいサンプリング間隔に対する許容値 (0から1) を指定する必要があります。以下のように定義します。
- 昇順にソートされたX値をとします。 ここで はベクトルのサイズです。そして、指定した許容値は です。
- それぞれ隣り合う値の増分の平均を で計算します。ここで です。
- および で範囲を取得し、テストの範囲は、両方の境界を含む です。
- すべてがステップ3で計算した範囲にあるかどうかを見るため、それぞれ隣り合う値のすべての増加をテストします。つまり、すべての増分に対して、 を満たす場合( )、入力X値が等間隔であるということができます。
関連するXファンクション
stats, reducexy
キーワード:データ削減, サンプリング間隔, 周波数
|