Xファンクションの実行オプション

Xファンクションのオプションスイッチ

次のオプションスイッチは、スクリプトからXファンクションにアクセスするときに利用できます。

スイッチ 名前 関数
-cf -- 入力範囲の列フォーマットをコピーし、それを出力範囲に適用
-d -dialog Xファンクションパラメータを選択するダイアログを開く
-db -- ダイアログの種類; 現在のワークブック内でパネルとしてXファンクションダイアログを開く
-dc IsCancel -- ダイアログの種類;Xファンクションパラメータを選択するダイアログを開くOKボタンをクリックする場合、IsCancelを0にセット。キャンセルボタンをクリックする場合は1をセットする。キャンセルボタンをクリックする場合、 #User Abort!のようなエラーメッセージはスクリプトウィンドウに表示されず、そのままXファンクションが実行される
-e -- XファンクションビルダーにXファンクションを開くedit -x コマンドと同じように動作します。
-h -help スクリプトウィンドウにヘルプファイルの内容を出力
-he -- スクリプトウィンドウにスクリプトサンプルの内容を出力
-hn -- Xファンクションをロードしコンパイルするが、それだけしかしない。すでにロードとコンパイル済みの場合、何もしない
-hs -- -hの変形; スクリプト使用例のみを出力
-ht -- -hの変形; 存在していれば、ツリーノード情報のみを出力
-hv -- -hの変形; 変数リストのみ出力
-hx -- -hの変形; 関連するXファンクション情報のみ出力
-r 1 -recalculate 1 入力が変更したら、自動再計算するよう出力をセット
-r 2 -recalculate 2 手動で再計算が必要な場合に再計算するよう出力をセット
-s -silent サイレントモードで実行。結果は結果ログに送られません。
-sb -- -sの変形; エラーメッセージと結果ログの出力をしない。
-se -- -sの変形; エラーメッセージを出さない。結果ログの出力は行う。
-sl -silent -sと同じ
-sr

(Origin 2016 SR1)

-- -sの変形; スクリプトウィンドウに結果メッセージを出さない。
-ss -- -sの変形; スクリプトウィンドウに情報メッセージを出さない。
-sw

(Origin 2016 SR1)

-- -sの変形; スクリプトウィンドウに注意メッセージを出さない。
-t <Name> -theme 事前に設定されたテーマを使用する。

<入力>が<出力>に使用されてる時は再計算はサポートされません。

既存の完全な名前を持つオプションでは、省略形のスイッチまたは完全な名前のどちらかをスクリプトで使います。 例えば、Xファンクション smoothでは

smooth -h

は次のコマンドと同じです。

smooth -help

サンプル

テーマを使う

FivePtAdjAve という名前のテーマを使って、アクティブワークシートの列1および列2にあるXYデータにスムージング操作を実行します。

smooth (1,2) -t FivePtAdjAve

Note: Originは自動的にテーマを保存し、取り出すので、テーマファイルへのパスを指定する必要はありません。 あるプロジェクト(*.OPJ)で保存したテーマは他のプロジェクトで同様に使うことができます。

再計算モードの設定

入力列のデータが変わったときに、 freqcounts Xファンクションの出力列を自動再計算にセットします。

freqcounts irng:=col(1) min:=0 max:=50 stepby:=increment inc:=5
   end:=0 count:=1 center:=1 cumulcount:=0 rd:=col(4) -r 1; 
// 再計算を '-r 1'で自動にセット

X-Functionダイアログを開く

スクリプトからXファンクションを実行している間、入力を促すためにダイアログを開きたい場合があります。この例では、パーセンタイルフィルタ(method:=2)を使って、25個のデータポイントでの移動ウィンドウで、スムージング操作を実行します。 さらに、smoothXファンクションに結びついているダイアログ(-d)を開き、入力および出力データの選択に対して、他のオプションを使えるようにします。

smooth method:=2 npts:=25 -d

入力から出力にフォーマットをコピー

-cf オプションスイッチを持つFFTフィルタを使って、出力データをフォーマットし、入力データのフォーマットと一致させます。

// *.wavファイルをインポート。インポートした *.wavデータフォーマットはshort(2)
fname$ = system.path.program$ + "Samples\Signal Processing\sample.wav";
newbook s:=0; newsheet col:=1; impWav options.SparkLines:=0;
string bkn$=%H;
 
// デフォルトで、すべての分析結果はデータ型doubleとして出力
// ここで-cfが使われ、出力データをshort(2)にする
fft_filters -cf [bkn$]1!col(1) cutoff:=2000 
oy:=(<input>,<new name:="Lowpass Sound Frequency">);