関数

Reviewにより、OnScaleの時系列データを数学的に操作することができます。 操作は、データの単純なスケーリングから時間領域データのフーリエ変換までさまざまです。

関数のほとんどは、ReviewのMAKEコマンドにあります。 以前のデータを操作して結果を新しいローカルファイルに保存するのは一般的な方法です。 これにより、変更されたデータが元の時系列ファイルから分離され、データの破損が防止されます。

たとえば、results.flxhstという名前の時間履歴ファイルを例に説明します。これには7つの時間履歴が含まれています。

  • x, y, z 速度
  • x, y, z 速度
  • 圧力

まず、2回の時刻歴の違いを判別する方法を紹介します。 x速度は「f1 1」に格納された最初の配列であり、y速度は「f1 2」に格納されています

全体の時刻歴を読み取り、結果用の新しいローカルファイルを作成して、計算を行います。

read f1 results.flxhst
make
file f2
curv { f1 1 } / { f1 2 }

READコマンドを使用して、計算された時刻歴ファイルを入力してから、MAKEコマンドを入力します。 次に、MAKE FILEサブコマンドを使用してf2という名前の新しいローカルファイルを作成し、MAKE CURVを使用してファイルf1のレコード1からファイルf1のレコード2を減算します。 2つのファイルの違いは、デフォルトでファイルf2のレコード1に保存されます。

注意:

1. MAKE CURVサブコマンドは中括弧を使用します。

2. Reviewで使用するテキストバッチファイルを生成すると、OnScaleと同じルールがサブコマンドの使用を制御します。つまり、サブコマンドはテキストバッチファイルでインデントされます。

次の例では、ノードの初期位置に対するノードの変位の絶対的な大きさを決定する方法を示しています。 この例の時刻歴では、x、y、およびz変位はそれぞれ配列4、5、および6に格納されています。

read f1 results.flxhst
make
file f2
curv sqrt ( { f1 4 } ** 2. + { f1 5 } ** 2. + { f1 6 } ** 2. )

二乗したすべての変位の合計の平方根をとります。 変位の大きさは、デフォルトでファイルf2のレコード1に保存されます。 中括弧を使用して配列レコードを指定していることに注意してください。

たとえば、ノードの(y-z平面における)半径方向の速度を30度で計算するには、「curv」サブコマンドは次のようになります。

curv cos ( 30. * 3.14159 / 180 ) * { f1 2 } + sin ( 30. * 3.1459 / 180 ) &
* { f1 3 }

この大きな入力文字列を簡略化するには、シンボルまたは「symb」コマンドを使用します。

 

symb angle = 30.
symb cosval = cos ( $angle * 3.14159 / 180 )
symb sinval = sin ( $angle * 3.14159 / 180 )
curv $cosval * { f1 2 } + $sinval * { f1 3 }

新しいローカルファイルf2にデータを保存するには、MAKEコマンドディレクトリを終了し、ローカルファイルを外部ファイルに書き込みます。

writ f2 newfile.dat

ここでは、ローカルファイルf2がファイルnewfile.datに書き込まれます。

周波数領域への変換

フーリエ変換を使用して、時刻歴ファイルのデータを時間領域から周波数領域に変換することもできます。 これは、「make」コマンドではなく、周波数入力または「freq」コマンドで行います。

最初の配列に1MHzの単一サイクル正弦波を駆動入力関数として含む時刻歴ファイルの場合、「freq」コマンドと関連するサブコマンドを使用して、周波数ドメインに変換できます。

read f1 results.flxhst
freq
file f2
fft f1 1
end
grph
nvew 2 1
plot f1 1
plot f2 1
end

2番目のグラフは、最初のグラフの時間領域信号のFFTに対応する周波数応答を示しています。 単一のFREQコマンドは、2つの周波数ドメインレコードを作成します。デフォルトでは、振幅と位相、または、FREQ TYPEサブコマンドで要求された場合は、実数と虚数です。