FAQ-286 グローバルな関数や変数、定数を定義するにはどうしたら良いでしょうか?

最終更新日:2021/03/02

Originセッションで使用できる関数

Originセッションで使用できるグローバル関数を定義するには、このページをご覧ください。

関数のスコープの詳細については、このページをご覧ください。

Originセッションで使用できる定数と変数

Originを起動すると、ユーザファイルフォルダのORGSYS.CNFというテキストファイルが読み込まれます。もし、通常使用する数学的な定数がある場合、CONST.CNFでそれを定義すれば、Originを起動するたびに利用可能になります。

  1. もしOriginが起動していたら、プログラムから出ます。
  2. ユーザファイルフォルダの下にあるCONST.CNFファイルを開くか、テキストエディタ(メモ帳など)で新しいページを開始して、次の情報を入力します。
  3. const e = 2.718281828459045 //Euler's number
  4. CONST.CNFに名前を付けて、ファイルをUser Filesフォルダ(UFF)に保存します。
  5. 設定した定数や変数を確認するには、Originを起動してスクリプトウィンドウを開き、定数または変数の名前を入力し、=を付けてEnterを押します。

現Originセッションの定数と変数

現在のOriginセッションのための定数や変数を定義するには、スクリプトウィンドウを使用して単純に定義します。

  1. メニューから次のように選択します。ウィンドウ: スクリプトウィンドウ
  2. 次のように希望の定数や変数を入力し、それぞれの行の終端でEnterキーを押します。
    const myconst = 1.234;
    double myvar = 12.34;
    int mynum = 127;
    

実行後、スクリプトウィンドウや、列値の設定ダイアログ等のスクリプト入力欄で、これらの定数と変数にアクセスできます。

特定のOriginプロジェクトの定数と変数

プロジェクト固有の定数や変数を定義するためには、プロジェクトに付加されたProjectEvents.OGSファイル内で定義します。

  1. Originメニューから表示:コードビルダを選択してコードビルダを開き、左パネルで、Project ツリーを開いてProjectEvents.ogsをダブルクリックして開きます。
  2. AfterOpenDocセクションで以下のコードを追加し、このファイルを保存して、Originのプロジェクトファイルも保存します。
    • @global=1;
    • 変数や定数を定義

これで、定義内容はプロジェクトに保存されます。

次のチュートリアルは、Originのプロジェクトレベルにユーザ定義変数を追加し、その変数を使う方法を示しています。

  1. 新しいプロジェクトを開き、Originメニューから表示:コードビルダを選択してコードビルダを開きます。
  2. 左パネルでプロジェクトのブランチを開き、ダブルクリックでProjectEvents.OGSファイルを開きます。このファイルは、デフォルトで新しいプロジェクトに存在します。
  3. [AfterOpenDoc] セクションの下に次のコード行を追加します。
    @global=1;
    double myconst = 20;
  4. ファイルを保存し、コードビルダを閉じます。
  5. Origin内で、好きなフォルダ位置にプロジェクトを保存してください。OGSファイルはプロジェクトとともに保存されるため、ユーザ定義変数はそのプロジェクトで使えるようになります。
  6. いま保存したプロジェクトをもう一度開いてください。[AfterOpenDoc] セクションが実行されmyconstが定義されます。
  7. ワークシートをアクティブにし、Samples\Signal Processing\fftfilter1.DATファイルを開きます。
  8. ワークシートに1列追加します。
  9. 3番目の列のヘッダをクリックし、右クリックして開くコンテキストメニューから、列値の設定を選択します。
  10. 値の設定ダイアログで、編集ボックスに下記を入力します。:
    wcol(2)*myconst
  11. ここでプロジェクトをもう一度保存して、開き直します。Originメニューのウィンドウ:スクリプトウィンドウを選択します。
  12. スクリプトウィンドウで以下のスクリプトを入力してEnterを押すと、myconstの値が変わり、再計算が行われます。
    myconst = 30;; //myconstの値をこのセッションに限り変更Not saved in project
    run -auf 2 1; //計算を更新
  13. run -aufコマンドについての詳細は、こちらをご覧ください。

特定ワークシートの変数

ワークシート固有の変数を定義し、この変数を変更することでほかの列の結果を更新する必要がある場合、次のように操作します。

  1. 現在のシートか、新しいシートに2つの列を追加し、1列目に変数名、2列目に値を入力します。変数名は参照可能です。
  2. 他の列の値を計算するために、値の設定ダイアログを使用するとき、実行前のスクリプトパネルを使用して、変数列の特定セルを指定するためのスクリプトでローカル変数を定義し、上部パネルの列式に含めます。再計算モードが自動か手動にセットされていれば、変数の値を変更するだけで、計算結果も更新されます。より詳細は情報は、値の設定ダイアログのヘルプファイルをご確認ください。

フィット関数での定数

フィット関数ビルダ変数とパラメータのページに、定数を定義するための編集ボックスがあります。関数本体とパラメータを定義するページの定数タブを開き、定数に値を割り当てることができます。

詳細は、変数のスコープを参照してください。



キーワード:変数, 変数を定義, 定数, グローバル変数, @glob, @global, プロジェクト変数, ORGSYS.CNF, 値の設定, 実行前の処理スクリプト, ProjectEvents.OGS, スクリプトウィンドウ