コマンドウィンドウとXファンクション

内容

  1. 1 サマリー
  2. 2 学習する項目
  3. 3 コマンドウィンドウ
  4. 4 サンプル
    1. 4.1 計算を実行する
      1. 4.1.1 1行で計算
      2. 4.1.2 複数行で計算
      3. 4.1.3 関数で計算
    2. 4.2 ワークシートの値にアクセスする
    3. 4.3 Xファンクションにアクセスする

サマリー

Originの分析ツールやデータ処理ツールの多くは、Xファンクションを使って実行しています。コマンドウィンドウは、これらのXファンクションを実行するのに便利な方法を提供しています。

コマンドウィンドウの別の重要な役割は、LabTalkスクリプトをOriginに送ることです。スクリプトコマンドは、単純な数学演算やデータ操作から、ユーザが作成したXファンクションやOrigin C関数まで実行することができます。

必要なOriginのバージョン:8.0 SR6

学習する項目

このチュートリアルでは、まず、コマンドウィンドウについて説明して、以下の項目について説明します。

  • 簡単な計算を実行する方法
  • ワークシートセル/列にアクセスする方法
  • Xファンクションにアクセスする

コマンドウィンドウ

コマンドウィンドウは、コマンドパネル履歴パネルの2つのパネルで構成されます。

Tutorial Script 009.png

コマンドウィンドウは、通常画面の右下に配置されますが、表示されていない場合、Alt+3 を押すか、「表示:コマンドウィンドウ」メニューを選択して表示できます。

コマンドウィンドウパネルに入力するとき、オートコンプリート機能により、Xファンクションと現在の作業フォルダ内のOGSファイルを簡単に選択することができます。Xファンクションコマンド名とOGSファイル名の前に、それぞれXf と LTが目印として付けられています。矢印キーを使ってリストを上下に移動でき、Enterキーを押すと、そのコマンドが入力されます。選択したら、スペースキーを押し、今度はオートコンプリート機能により、そのコマンドで利用できるオプション引数が表示されます。

サンプル

計算を実行する

コマンドウィンドウは電卓として使用したり、Originの数学関数にアクセスすることもできます。次のサンプルをご覧下さい。

1行で計算

コマンドウィンドウのより基本的な使用法の1つは、簡単な計算を実行するインターフェースとして利用することです。例えば、次のように入力します。

2+2=

ENTERキーを押します。Originは次のように返します。

2+2=4

Tutorial Statistics 001.png

複数行で計算

スクリプトを複数行入力する場合、最初にコードビルダ(「表示:コードビルダ」) やメモ帳などのテキストエディタを使って編集し、各行末にセミコロンを付け、コマンドウィンドウ内にコピー&ペーストして、 ENTER キーを押して実行します。例えば、次のスクリプトをコマンドウィンドウに貼り付けて、 ENTERを押します。

sum = 0;
loop(ii, 1, 10)
{
   sum += ii;
}
sum = ;

Originは次のように返します。

SUM=55

Tutorial Script 002.png

関数で計算

組込みやユーザ作成の数学関数をコマンドウィンドウで実行することができます。例えば

ln(10) =

Originは、10の自然対数を返します。

Tutorial Script 003.png

ワークシートの値にアクセスする

スクリプトウィンドウを使って、ワークシートの値を読み書きしたり、データセットに対して数学演算を実行することができます。

  1. 次のデータを新しいワークシートに入力します。
Reading and Writing Worksheet Values 1.png
  1. 2番目の列の最初のセルに値を返すには、次のように入力します。
cell(1,2)=
  1. ENTERキーを押します。Originは次のように返します。
CELL(1,2)=6

セルの値を参照するのに、列名や行番号を使う事もできます。

  1. 次のように入力します。
col(B)[1]=
  1. ENTERキーを押します。Originは次のように返します。
COL(B)[1]=6
Note:列名の使用に追加して、データセット名を使う事もできます。LabTalkではデータセットに名前を付けるシンタックスは「worksheetName_columnName」です。つまり、「 Book1_A[1]= 」はワークシートData1内の列Aにある最初の要素を返してきます。また、参照しているワークシートがアクティブなウィンドウであるなら、TabTalkの文字列変数 %H をワークシート名の代わりに使用する事もできます。例えば、「 %H_A[1]」のように使います。

A列1行目の値をB列の全ての値から引く事もできます。

  1. 次のように入力します。
col(B)=col(B)-col(A)[1]
  1. ENTERキーを押します。ワークシートは次のようになります。
Reading and Writing Worksheet Values 2.png

今まで学んだ、スクリプトウィンドウで複数行に渡るスクリプトを実行する内容を利用してみましょう。列内のデータの値をある定数bで掛けていきます。

  1. 次のように入力します。
b=3;
CTRL + ENTERを押します。この操作はコマンドを実行せずにキャリッジリターンを行う事を思い出してください。
  1. では、以下を入力します。
col(A)=col(A)*b;
再びCTRL + ENTERを押します。
  1. スクリプトウィンドウのメニューバーから、編集を選択します。スクリプトの実行の隣にチェックが付いているはずです。付いていない場合、メニューアイテムを1回だけクリックしてチェックを付けます。
  1. スクリプトウィンドウに入力したばかりの2行のスクリプトを選択し、ENTERキーを押します。

ワークシートは次のようになります。

Reading and Writing Worksheet Values 3.png


Note:次のようなC言語の表記もサポートしています。

b=3;

col(A)*=b;


また、合わせて、線形補間および補外を指定したXデータセットに行い、それに対応するYデータセットの補間値および補外値を確認できます。上記を行うには、新しい表記法である、ブラケット[ ]ではなく、括弧( )を使います。

この例では、book1_bはYデータセットで、(4) はXデータセット(book1_a)の値になります。この値について対応する補間Y値を探します。

  1. 次のように入力します。
book1_b(4) =
  1. ENTERキーを押します。Originは次のように返します。
BOOK1_B(4)=5.333333
Reading and Writing Worksheet Values 4.png

これは、簡単なワークシートデータの折れ線グラフです。以上から、X=4と対応する補間Y値は5.333333である事が分かります。

  1. 操作する列が異なるワークシート/ワークブックにある場合、範囲変数(range)を使ってワークシート列を表します。例えば、このスクリプトは、Book1の列Aのsin値を計算し、結果をBook2の列Aに入力します。(Enterキーを押す前にBook2の準備をしてください。)
    range a = [Book1]Sheet1!Col(A);
    range b = [Book2]Sheet1!Col(A);
    b = sin(a);
            

    Tutorial Script 007.png

    Xファンクションにアクセスする

    Originには、幅広いさまざまなデータ処理操作を実行する多くのXファンクションがあります。Xファンクションの多くはLabTalkスクリプトから利用することができます。スクリプトからアクセス可能な関数であるため、定型業務を行うスクリプトコードを作成でき、ユーザに強力な環境を提供します。

    スクリプトからアクセス可能なXファンクションは、コマンドウィンドウの中で一覧表示することができ、また、この関数のオートコンプリート機能だけでなく、コマンドシンタックスに関するヘルプを表示することもできます。

    Xファンクションは、データ処理の入力元と出力先を指定するために、データ範囲文字列または範囲変数を受け付けます。例えば、信号処理の中にあるXファンクション「smooth」 は、次のようにしてコマンドウィンドウからアクセスできます。

    1. Samples\Single Processing\Signal with Shot Noise.datファイルをインポートします。
    2. コマンドウィンドウで、次のように入力します。
      smooth iy:=Col(2) method:=1 npts:=200
                      
      ENTERキーを押すと、結果が元のワークシートに追加されます。

      Tutorial Script 008.png

    3. この 「smooth」Xファンクションに関するヘルプを表示するには、次のように入力します。
      help smooth
      対応するヘルプファイルが開きます。