データソース

カーブは、XデータベクトルおよびYデータベクトルで構成されています。XおよびYベクトルは、データファイルから読み込み、数式で定義、または、値として入力することができます。カーブのXおよびYベクトルは、同じソースのものである必要はありません。例えば、カーブのXベクトルのデータソースをASCIIファイルとし、同じカーブのYベクトルのソースをsqrt(x)等の数式で定義することが可能です。

データソースとしてのファイル

ソースとしてFileが選択された場合、Fileパネルが表示され、そこで、XおよびYベクトル用のデータファイルを選択することができます。


図 1.

データソースとしての数式

ソースとしてMathが選択された場合、カーブカリキュレータ(数値処理機能)が表示され、そこで、ベクトルを数学的に定義することができます。

数式をソースとすることで、追加のカーブベクトルを使ってカーブをプロットすることができます。従来のXおよびYベクトルに加えて、UおよびVベクトルを用いて、プロッティング時にカーブに対して演算を行えます。その結果として、セッション内ではカーブが1つだけ生成されます。この機能は、カーブを作成すると同時に、そのカーブに直ちにある関数(例えばフィルターなど)を適用したい場合に役立ちます。


図 2.
カーブカリキュレータ
カーブは、カーブカリキュレータを使用して数学的に定義することができます。
カーブカリキュレータは、ベクトルのデータソースとしてMathが選択された場合に表示されます。
カーブカリキュレータは、関数電卓と同様なフォーマットとなっており、数字パッド、基本的な代数および三角関数と、カーブフィッティング、フィルタリング、信号処理関数等で構成されています。数式は、ベクトル欄に直接入力するか、カーブカリキュレータ上の数字、関数または演算子をクリックして入力します。
数式が完成したら、Applyをクリックしてカーブをプロットします。
Range
値域を定義すると、ベクトルの範囲を迅速に設定することができます。Rangeダイアログを表示するには、Rangeをクリックします。
詳細については、範囲の定義をご参照ください。
微積分関数
積分および導関数は次のように表現されます:
integral(,)
derivative(,)

両関数には、独立および従属ベクトルを与える必要があります。

各関数の説明および目的の詳細については、Math Referenceをご参照ください。

信号処理関数
数式には、フーリエ変換、窓関数、パワースペクトル密度および周波数応答関数を含めることが可能です。
Windowダイアログを表示するには、Windowをクリックします。


図 3.
下記の6種の窓関数が使用できます:
  • Hamming
  • Hanning
  • Kaiser-Bessel
  • Blackman-Harris
  • Parzen
  • Welch

積分および導関数の詳細については、HyperWorks Desktop Reference GuideのトピックMath Referenceをご参照ください。

Filter
カーブは、2つのフィルタークラス、idealまたはSAEに通すことができます。Filterダイアログを表示するには、Filters...をクリックします。


図 4.

Filter Classオプションメニューから、IdealSAESAE J211/1のいずれかを選択します。

次の4つのidealフィルタータイプが利用可能です:
  • low pass
  • high pass
  • band pass
  • band stop

idealフィルターについては、フィルターのタイプおよび遮断周波数を指定します。band passおよびband stopフィルターには、lowおよびhighの遮断周波数が必要です。OKをクリックし、数式にフィルターを挿入します。

SAEフィルタークラスはいずれも、Yテキスト欄に入力されたフィルタークラス(60、180、600または1000)を変更することにより指定することができます。

SAE J211/1については、パディングタイプと方向を選択します。

Fit
多項および指数関数は、カーブにフィット(一致)させることができます。Curve Fitダイアログを表示するには、Fit...をクリックします。


図 5.
カーブにフィットさせる多項または指数関数のいずれかを選択します。20次までの多項関数をフィットさせることが可能です。多項関数の次数を指定し、OKをクリックします。
数学関数
Functions...ボタンを押すと、利用可能なすべての数学関数を含むダイアログボックスが表示されます。外部関数またはTemplex関数は、プリファレンスファイル内の*RegisterExternalFunction()または*RegisterTemplexFunction()を使ってプログラム内に登録することができます。

どの関数も、リストから関数名を選択するか、或いは、式に名称を直接入力することにより、現在の式に挿入することが可能です。

詳細については、Math ReferenceヘルプのList of Standard Functionsトピックをご参照ください。

外部関数
ビルトインされている数学関数および演算子に加え、数式内から、外部C-プログラムをコールすることも可能です。
外部関数をコースすることにより、ユーザー自身が専門に使用しているプログラムのセットを使用し、プログラム内からプロットデータを処理することが可能となります。例えば、プロットデータを操作するためカスタマイズされたフィルタ、或いは、別のアプリケーションで処理するためにプロットデータを渡すプログラムを、外部プログラムで使用することが可能です。
外部プログラムは、数式内からコールされる以前に、プリファレンスファイル内で登録しておく必要があります。外部プログラムを登録することにより、プログラムファイルと関数名の関連付けがなされます。外部プログラムは、ユーザー自身のプリファレンスファイル内に、または、ネットワーク上の人間が誰でも利用できるよう、共通プリファレンスファイルに登録することが可能です。
数式内からの外部C-プログラムの書き出しまたは呼び出しの詳細については、Altair IPCをご参照ください。
また、.preferences.mvwファイル内での外部関数登録の詳細については、同じくReference Guide内、*RegisterExternalFunction()をご参照ください。
ベクトルのフリージング
ベクトルが数式により定義される際、式が変更される度に、プログラムは自動的にベクトルを再計算し、次々にカーブを更新します。数式に別のカーブへの参照が含まれ、参照されるカーブに変更があると、プログラムはベクトルを再計算し、参照を含むカーブを更新します。

プログラムがカーブを再計算しないように、ベクトルをフリーズすることができます。ベクトルがフリーズされると、参照されるカーブに依存しなくなり、別のカーブに加えられた変更は、フリーズされたベクトルには反映されなくなります。ベクトルのフリージングは解除が可能で、再度変更できるようになります。XおよびYベクトルはそれぞれ独立してフリーズさせたり、共にフリーズ、或いは、カーブ全体のフリージングも可能です。フリーズされたベクトルは、セッションファイル内でデータポイント値として保存されます。

データソースとしての値

ソースとしてValuesが選択された場合、テーブルが表示され、そこに、データポイントの値を直接入力することができます。


図 6.