reduce_ex

内容

  1. 1 メニュー情報
  2. 2 概要
  3. 3 追加の情報
  4. 4 コマンドラインでの使用法
  5. 5 変数
  6. 6 説明
  7. 7 サンプル
  8. 8 アルゴリズム
  9. 9 関連のXファンクション

メニュー情報

等間隔のXに削減する

概要

データポイントを平均し、データの数を減らして、等間隔なXにします。

追加の情報

必要なOriginのバージョン:8.1SR0


コマンドラインでの使用法

1. reduce_ex subgroup:=inter bins:=5 method:=yfirstxfirst

変数

表示
変数
I/O

データ型
デフォルト
説明
入力 iy

入力

XYRange

<active>

入力データ範囲を指定します。
サブグループ subgroup

入力

int

0

元のデータをサブグループに分ける方法を指定します。分けた後、データポイントの各グループが1つのデータポイントに統合されます。

オプションリスト

  • ratio:Nポイントごと
    入力範囲のn個のデータポインント毎に1つのデータポイントに統合します。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

<自動>

これは、サブグループN ポイントごと間隔数ごと頻度ごとが選択されているときのみ利用できます。これを使って、グループの最初のX値を指定します。
X終了 end

入力

double

<自動>

これは、サブグループN ポイントごと間隔数ごと頻度ごとが選択されているときのみ利用できます。これを使って、グループの最後の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>, <新規>)

出力範囲を指定します。出力表記ページのシンタックスをご覧ください。

説明

このXファンクションは、等間隔なX値にして、XYデータの数を少なくします。

サンプル

X値が等間隔でないデータセットがあります。このデータセットには1000データポイント含まれています。

Reduce ex1.png

次のステップを実行すると、データポイントを100個にします。出力データは等間隔になります。

  1. データは、既にワークブックに存在するものとします。データ列を選択し、作図:シンボル図:散布図を選択してグラフを作図します。
    Reduce ex2.png
  2. グラフをアクティブにします。メニューから、解析データ操作:等間隔Xに削減を選び、reduce_ex Xファンクションダイアログを開きます。
  3. ダイアログボックスで、下側にある自動プレビューにチェックを付けます。
  4. サブグループドロップダウンリストで間隔数毎を選択します。そして、間隔数の隣にある自動のチェックを外し、100 と入力します。
  5. サンプリング方法ドロップダウンリストで最初のポイントを選びます。
  6. プレビューのためのFFTをプロットにチェックします。すると、元のデータと削減したデータのFFTの結果を見ることができます。
  7. 出力として、(<new>, <new>) をセットします。
    Reduce ex3.png
  8. Ok ボタンをクリックし、グラフに結果を表示します。削減したデータは入力ワークシートの元のデータの隣にあります。そして、X値が等間隔になっているのが分かります。
    Reduce ex4.png
  9. ワークブックのX2とY2の列を選択し、メニューから作図:シンボル図:散布図を選択してグラフを作図します。元のグラフの形状と同様であることが分かります。
    Reduce ex5.png

また、次のスクリプトコマンドを使ってデータポイントを削減することもできます。(スクリプトを実行する前に入力データが選択されているものとします。)

reduce_ex subgroup:=bins bins:=100 method:=yfirstxfirst oy:=(<new>,<new>);

アルゴリズム

入力X値に等間隔のチェックがついているとき、等しいサンプリング間隔に対する許容値を指定する必要があります(0から1)。以下が定義です。

  1. 昇順にソートされたX値を \left (x_1, x_2, x_3, ..., x_n \right )とします。 ここで n はベクトルのサイズです。そして、指定した許容値は tol です。
  2. それぞれ隣り合う値の増分の平均を M_I = \frac {\sum_{k=2}^n \left ( x_k - x_{k-1} \right )}{n - 1}で計算します。ここで k = 2, 3, ..., n \, です。
  3. M_I * \left ( 1 - tol \right )M_I * \left ( 1 + tol \right ) で範囲を取得し、テストの範囲は、両方の境界を含む [M_I * \left ( 1 - tol \right ) , M_I * \left ( 1 + tol \right ) ] です。
  4. すべてがステップ3で計算した範囲にあるかどうかを見るため、それぞれ隣り合う値のすべての増加をテストします。つまり、すべての増分に対して、 M_I * \left ( 1 - tol \right ) \le x_k - x_{k-1} \le M_I * \left ( 1 + tol \right )を満たす場合( k = 2, 3, ..., n \,として)、入力X値が等間隔であるということができます。

関連のXファンクション

stats, reducexy