Xファンクション概要

Xファンクションは、LabTalkスクリプトからOriginの機能のほとんどすべてを同じ方法で利用することができます。 Xファンクションを使う最も良い方法は、Xファンクションを使う多くのサンプルを利用することです。スクリプトからアクセスできるXファンクションの一覧はLabTalkでサポートしているXファンクションのセクションにあります。

目次

構文

スクリプト例のXファンクションは、その独特の構文で認識できます。

xFunctionName [argument1:=<range,name or value> argument2:=<range,name or value> ...][ -switch];

一般的な注意点:


Xファンクション引数の順序に関する注意:

次のサンプルは、fitpoly Xファンクションを使って、これらについて説明しています。

サンプル

xfunctionname -hvを実行して引数と順序を確認します。

fitpoly -hv; //全変数を表示
Variables:
  iy: [in] 
  polyorder: [in] 
  fixint: [in] 
  intercept: [in] 
  coef: [out] 
  oy: [out] 
  N: [out] 
  AdjRSq: [out] 
  RSqCOD: [out] 
  err: [out]

fitpolyを呼び出すときに、Originは変数セクションにリストされている引数を待ちます。

fitpoly iy:=XYrange polyorder:=int fixint:=int intercept:=double coef:=vector oy:=XYRange N:=int adjRSq:=double RSqCOD:=double err:=vector;

引数の順序に従い引数名を明示的に記述

fitpoly iy:=(1,2) polyorder:=4 fixint:=0 intercept:=0 coef:=3 oy:=(4,5) N:=100 AdjRSq:=adjr2 RSqCOD:=cod err:=6;

これはOriginに以下の指示をします。

引数の順序に従う場合引数名はスキップ可能

fitpoly (1,2) 4 0 0 3 (4,5) 100 adjr2 cod 6;

それぞれの値は対応する引数に割り当てられます。例えば、(1,2)はiyに、4はpolyorderのように割り当てられます。(1,2)のように括弧内の値は一つの引数に割り当てられます。

明示的な引数名の場合引数の順序に従わずに記述可能

fitpoly coef:=3 N:=100 polyorder:=4 oy:=(4,5) iy:=(1,2);

リストされていない引数については、Xファンクションで定義されたデフォルトの値が使用されます。例えば、

部分的に引数の順序に従う

fitpoly (1,2) 4 oy:=(4,5) N:=100 coef:=3;

最初の2つの引数は定義された順序に従うため、引数名はスキップします。そのあとの引数は明示的に記述してランダムに記述します。引数がリストされていない場青、デフォルト値を使用します。

引数リスト内で一意である限り引数名は短縮可能

以下のコードでは、poly polyorderco coefooyの短縮形です。これらは全て一意です。

fitpoly iy:=(1,2) poly:=4 co:=3 o:=(4,5) N:=100;


次の例では、i から始まる2つの引数(iyintercept) があるため、エラーになります。Originは、i がどの引数であるか判断できません。

fitpoly i:=(1,2) poly:=4 co:=3 o:=(4,5) N:=100;

複数行でXファンクションの呼び出しを記述

fitpoly 
coef:=3 
N:=100 
polyorder:=4 
oy:=(4,5) 
iy:=(1,2);

Xfannkusyonn 呼び出しは、引数名が明示的に入力されている場合複数行で記述できます。

オプションスイッチ

-h-d のようなオプションスイッチは、スクリプトからXファンクションを実行する代替のモードにアクセスします。 これらは、ほかの引数の有無にかかわらず使用できます。 オプションスイッチ (および該当する場合はその値) は、引数リストのどこにでも配置できます。 表では、Xファンクションの主要なオプションスイッチをまとめています。

名前 関数
-h スクリプトウィンドウにヘルプファイルの内容を出力
-e XファンクションビルダでXファンクションを表示して定義内容を確認
-d パラメータ入力のためにグラフィカルユーザインタフェースダイアログを開く
-s サイレントモードで実行。結果は結果ログに送られない
-t <themeName> 事前保存テーマを使用
-r <value> 再計算モードを設定し、入力が変更した場合の出力を手動/自動で更新

オプションスイッチについての詳細は、Xファンクションの実行オプションをご覧下さい。


ダイアログ設定からスクリプトを生成

Xファンクションを呼ぶ最も簡単な方法は、 -d オプションを使い、ユーザインターフェース(GUI)を使ってその設定を行うことです。

GUIで、ダイアログ設定が行われると、ダイアログテーマのフライアウトメニューのスクリプトを生成 を選んで、設定に対応するLabTalkスクリプトを生成することができます。現在のGUI設定に合致するスクリプトがスクリプトウィンドウに出力され、それをバッチ用のOGSファイル、または他のプロジェクトにコピー&ペーストすることができます。


Smooth_GS.png

Note: ダイアログテーマボックスと、対応するスクリプトの生成フライアウトメニューは、-d オプションで開く全てのXファンクションダイアログで利用可能ではありません。例えば、rnormalize -dでは利用できますが、fitpoly -dでは利用できません。

スクリプトの生成機能を使用して表示される情報の量は、システム変数 @GASによって制御できます。デフォルトでは@GAS=0ですが、この値は環境設定メニューのシステム変数メニューで変更できます。