Originでの関数は2種類あります。 ひとつはLabTalk関数で、もう一つがXファンクションです。
シンタックスは、 functionname(arguement1, arguement2, ...)です。
ほとんどのLabTalk関数には戻り値の型が含まれており、代入ステートメントの右側 (RHS) で使用したり、他のコマンドや関数の引数として使用したりできます。
Col(B)=sin(Col(A)); //sin関数を呼び出し type $( total(Col(B)) ); //列Bの合計を出力
一部のLabTalk関数は、値を組み込みオブジェクトに自動的に割り当てたり、戻り値の型を指定せずにステートメント内で独立して直接呼び出すことができます。
sum関数は、多くの基本的な統計結果を含むsumオブジェクトを作成します。
sum(%C); //選択したデータセットまたはアクティブプロットで関数を呼び出し sum.N=; //データの合計数を返す sum.total=; //合計を返す sum.mean =; //平均を返す sum.= // sumオブジェクトの全プロパティを確認
関数と呼ばれていますが、コマンドと同様の構文で呼び出されます。角括弧 [ ] はオプションを示します。
xfname [-options] arg1:=value arg2:=value ... argN:=value;
次のスクリプトは、新しいブックを作成し、データを入力して線形近似を実行します。このスクリプトでは、Xファンクションnewbook、fitlrをLabTalk関数data()、uniform()、およびsort()とともに使用します。
newbook name:="Test"; //"Test"という名前の新しいブックを作成 col(A)=data(0.1, 10, .1); //列に0.1, 0.2, ...を入力10 col(B)=sort(uniform(100)); //ソートされた0から1 までの一様分布データをB列に入力 fitlr iy:=(col(a), col(b)); //作成されたツリーオブジェクトfitlrでフィット type "intercept is $(fitlr.a, .2)"; //小数点以下2桁の切片値を出力 type "slope is $(fitlr.b, .2)"; //小数点以下2桁の傾き値を出力