数値データの演算処理

数値データのマッピング

 Topazでは、データプロット直前に数値データに演算処理を施すことができます。例えばy軸のデータを100倍してからプロットするには、Y値数値変換をtrueにしてから、Y値書式として
   100*y
とします。同様に、
   sin(y)
とすることで、yの正弦値をプロットすることができます。Topazにはプロットデータの演算処理のため数学関数が多数用意されています(Topaz scriptの持つ数学関数とは別物です)。 微分、隣接平均などを行なうための関数も用意されています。詳しくは本マニュアルのリファレンス部を参照して下さい。

 数学関数以外に、論理関数も使えます。

   if (y == 3, 1, 0)
はyの値が3の時のみ1をプロットし、その他の場合0をプロットするものです。

 さてx値を100倍、y値を106倍してみましょう。"Data | マッピング" を選択してください。以下のような設定画面が開きます。



 ここで数値変換を有効にするため、X値数値変換、Y値数値変換両方ともtrueにします。この設定を行わないと、数値変換が有効にならないため注意してください。 次にX値書式にx*1000、Y値書式にy*10^6を入力してください。 元々の"test.dat"のx値、y値はそれぞれ電圧[V]、電流[A]であったため、演算処理後の数値はそれぞれ電圧[mV]、電流[μA]となります。

 演算処理後の数値はx、y軸ともかなり大きな値となりますから、元の座標軸に表示しようとしてもスケールアウトしてしまい適切な表示が得られません。 そこで、"Axis | オートスケーリング"から「全て」を選択してください。 「全て」は座標軸全てをオートスケーリングすることを意味します。 オートスケーリングの際マージン量を聞かれますが、これはデフォルトのままで良いでしょう。 さて座標軸のスケーリングも適切に設定されましたので、スペースキーを押してビューアの再描画を行ってください。 以下のようなグラフが得られるはずです。




Coffer break (特殊定数"inf"を利用しよう)

 演算処理中の特殊定数として"inf"が使えます。 "inf"は無限大を表しますが、無限大はプロット時に無視されますのでデータをマスクすることができます。 以下の演算式は、x値が3の時のデータをマスクします。
   if (x == 3, inf, y)
 またinfは最小2乗フィットでも無視されますので、最小2乗フィットから外したい点を指定するのにも利用することができます。