目次

数値変数

数値変数としてはアルファベットで始まりピリオドを含まない変数名が使える(大文字と小文字は区別されない)。 ただし以下に挙げるシステム変数はOriginが内部で使っているので、不用意に使うと動作が不安定になる。 その他の数値変数は自由に使用してよい。

システム変数意味
X, Y, ZData Reader や Data Selector での現在の座標
X1, X2, Y1, Y2現在 active な layer のグラフの表示範囲
Echoエラーメッセージの表示のしかた
I内部のループ変数。主に行や列を指定する
SELC1, SELC2, SELR1, SELR2現在のワークシートの選択範囲
COUNT内部で使用する計数変数
MKS1,MKS2グラフの制限領域(fitting用)

文字列変数

先頭に%がついたアルファベット1文字でユーザー変数は%K〜%Tと%Wのみ。残りはシステム変数。各文字列変数は105文字(%Zは8192文字)までの文字列を記憶できる。

システム変数意味
%Agetfilenameの返り値
%Bgetstringの戻り値
%C現在activeなdatasetの名前(WKS_COL)
%D最後にsetコマンドでactiveにされたdatasetの名前(WKS_COL)
%E最後に選択されたワークシートのwindow名
%F現在fittingしているdataset(WKS_COL)
%G現在のproject名
%H現在activeなwindow名
%I現在のbaselinedataset?
%J現在のDDEアイテム
%K〜%Tユーザー変数
%Ufittingに関するメッセージ
%V現在のfittingのモデル名
%Wユーザー変数
%X現在のprojectのパス名
%YORIGINプログラムの実行ファイル名
%Z内部で使用する一時的な文字変数

データセット

データセットとはワークシートの一つのcolumnのことであり、1次元配列を持つオブジェクトである。 データセットは通常WKS_COLという形で指定される。ただし、WKSはワークシート名、COLはcolumn名を表す。

データセットやセルの指定の仕方

(例)

data1_aワークシートdata1のコラムaのデータセット
data1_a[10]ワークシートdata1のコラムaの10番目のセル
col(b)現在のワークシートのコラムbのデータセット
col(b)[20]現在のワークシートのコラムbの20番目のセル
%K[30]文字列変数%Kに格納された名前で表されるデータセットの30番目のセル
%(data1,2,5)ワークシートdata1の2番目のコラムの5番目のセル
%(data1,2)[5]同上

代入

構文

繰り返し構文

条件分岐構文

ワークシートの情報の取得

データセット情報の取得

グラフ情報の取得

よく使うコマンドと関数

入力&表示に関するコマンド

ワークシートの操作に関するコマンド

データセットの操作に関するコマンドと関数

グラフ描画に関するコマンド

文字列を返す関数

%[ ] 関数

%[ ]関数によって文字列の操作ができる。

%[string, 'ch']文字列の先頭から最初に現れる文字chの前までを抜き出す。
%[string, >'ch']最初に現れる文字chの次から文字列の最後までを抜き出す。
%[string, n]先頭のn文字を抜き出す。
%[string, m:n]m文字目からn文字目までを抜き出す。
%[string, #n]n番目のトークンを返す。
%[string]文字列の長さを返す。

数値を返す関数

datasetに代入できる配列を返す関数

データセットを関数として使う。

dateset名に関数のように丸括弧をつけて、

data1_A(x)

のようにすると、data1_Aに結び付いているXデータセットからxを探し、対応するdata1_Aのセルの値を返す。Xデータセットにxが見つからない場合は最も近い2つのセルから直線で内挿したものを返す。

オブジェクトについて

Originの内部はすべてオブジェクトによって構築されている。これらのオブジェクトを直接操作することによって、より細かな制御を行うことができる。
オブジェクトの操作にはMethod(操作)、Set(値の設定)、Read(値の読み出し)があり、 Methodを実行する場合は

objName.Method( param )

とする。ただしobjNameやMethodは実際のオブジェクト名やメソッド名に置き換わる。
オブジェクトのプロパティーに値を設定する場合は

objName.Property=value  (数値の場合)
objName.Property$=string (文字列の場合)

とする。値の読み出しも同様である。

value=objName.Property  (数値の場合)
%K=objName.Property$    (文字列の場合)

Originで扱っているオブジェクトにはwindowオブジェクト、utilityオブジェクト、外部オブジェクトの3種類がある。

windowオブジェクト

ワークシートやグラフなどの画面上のwindowを操作するオブジェクト。 winName!objName.propertyの形でアクセスする。winName!を省略すると現在アクティブなwindowについて操作が行われる。

オブジェクト役割
layer[n][n]番目のレイヤーを操作する
pageグラフやワークシートのベースになっているWindowを操作する
wksワークシートを操作する

layerオブジェクトはサブオブジェクトとして、[axis]オブジェクトを持ち、wksオブジェクトはサブオブジェクトとしてcol, export, importを持つ。

layer.[axis]役割
layer.Xbottom X axisを操作する
layer.X2top X axisを操作する
layer.Yleft Y axisを操作する
layer.Y2right Y axisを操作する
サブオブジェクト役割
wks.col[n]ワークシートの[n]番目のコラムを操作する
wks.exportワークシートをファイルにエクスポートする際の設定
wks.importファイルからワークシートにインポートする際の設定

さらにlayer.[axis]オブジェクトはサブオブジェクトとしてbreak, grid, labelを持つ。

utilityオブジェクト

特定のwindowとは結び付かないOriginのプロパティーを操作する。

オブジェクト役割
breakダイアログボックスを操作する
copycopyコマンドと関係している
docプロジェクト情報を取得する
draw???
excelexcelマクロを実行する
fdlogファイルダイアログを操作する
getptsgetptsコマンドを操作する
iniINIファイルを読み書きする
integintegrateコマンドの結果を取得する
limitlimitコマンドの結果を取得する
lrlrコマンド(線形回帰分析)の結果を取得する
macroマクロのパラメータの数を取得する
menuメニューを操作する
rtreal time data blockを扱う
runスクリプトを実行する
sortコラムやワークシートをソートする
sum統計解析やコマンドの結果を取得する
systemOPTION.CNFに書かれているような設定を操作する。多くのサブオブジェクトを持つ。
typeスクリプトウインドウを操作する

外部オブジェクト

外部DLLに存在するオブジェクト

オブジェクト役割
curveデータプロットに対して平滑化や微分などの演算を行う
fftフーリエ変換を操作する
mat行列ウインドウを操作する
nlsf非線型最小二乗法を操作する
stat統計解析を操作する

スクリプトの例

付録

解析メニューの指数関数フィットでy0を強制的に0にする方法

Originの解析メニューはlabtalkスクリプトで実現されているので、これに適当な改造を加えることによって、動作を変えることができる。 指数関数フィットには1次,2次,3次があるが、fit.ogsに以下の変更を加えることで、全ての次数において、y0を強制的に0にすることができる。

94行目付近の

y0 = limit.ymin;

y0 = 0;

へ変更.

273行目からの

y0=limit.ymin
if(abs(y0/(limit.ymax-y0)) < minoffset)
  y0 = 0;

y0 = 0;

へ変更。



トップ   一覧 検索 最終更新   ヘルプ   最終更新のRSS