*目次 [#o1839988]
#contents
*数値変数 [#l81ebb53]

*数値変数

アルファベットで始まりピリオドを含まない変数名が使える(大文字と小文字は区別される)。
数値変数としてはアルファベットで始まりピリオドを含まない変数名が使える(大文字と小文字は区別されない)。
ただし以下に挙げるシステム変数はOriginが内部で使っているので、不用意に使うと動作が不安定になる。 その他の数値変数は自由に使用してよい。
-システム変数
|システム変数| 意味 |h
|X, Y, Z|Data Reader や Data Selector での現在の座標 |
|X1, X2, Y1, Y2|現在 active な layer のグラフの表示範囲 |
|Echo|エラーメッセージの表示のしかた |
|I|内部のループ変数。主に行や列を指定する |
|SELC1, SELC2, SELR1, SELR2|現在のワークシートの選択範囲 |
|COUNT|内部で使用する計数変数 |
|MKS1,MKS2|グラフの制限領域(fitting用)|

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

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

-システム変数
|システム変数| 意味 |h
|%A|getfilenameの返り値 |
|%B|getstringの戻り値 |
|%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|ユーザー変数 |
|%U|fittingに関するメッセージ |
|%V|現在のfittingのモデル名 |
|%W|ユーザー変数 |
|%X|現在のprojectのパス名 |
|%Y|ORIGINプログラムの実行ファイル名 |
|%Z|内部で使用する一時的な文字変数 |

*データセットやセルの指定の仕方
*データセット [#w25ac529]

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

-(例)
 data1_a = {1,2,3,4,5,6} ワークシートdata1のコラムaに1,2,3,4,5,6を代入する。
 data1_a[10] = 5 ワークシートdata1のコラムaの10番目のセルに5を代入する。
 data1_a = data1_b ワークシートdata1のコラムbの内容を全てコラムaにコピーする。
 data1_a = 0   	ワークシートdata1のコラムaの全てのセルに0を代入する。
 data1_c=data1_a*data1_b  ワークシートdata1のコラムaとコラムbの内容の積をコラムcに書き込む。
*データセットやセルの指定の仕方 [#tf7b367f]

あるいは関数%( )を使ってもデータセットやセルを指定できる。
-データセットWKS_COLのi番目のセルはWKS_COL[i]というふうに指定される。
-関数%( )を使ってもデータセットやセルを指定できる。
|%(WKS, i)|ワークシートWKSの i 番目のコラムのデータセット名 |
|%(WKS, i, j)|ワークシートWKSの i 番目の column、j番目の row のセル |
-データセット名を返す関数や文字列にカギ括弧[ ]をつけてセルを指定することもできる。

(例)
|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]|同上|
*代入 [#d49c555b]

-数値変数への数値の代入&br;
 a=10;
-文字列変数への文字列の代入&br;
 %A=''John'';
 (double quotationは省略してもよい。)
-セルへの数値の代入&br;
 data1_A[10]=1;
 %(data1,2,3)=2;
 col(C)[20]=3;
-セルへの文字列の代入($に注意)&br;
 data1_A[5]$="John";
 col(A)[5]$="Paul";

-データセットへの代入&br;
WKS_COLというデータセットに他のデータセットまたは配列を代入するときは
 WKS_COL=代入するデータセットまたは配列
とする。代入先のデータセット名が文字列変数に格納されているときはその変数名に括弧をつけて
 (%A)=代入するデータセットまたは配列
としなくてはならない。さもなくば、単に文字列の代入になってしまう。
 %(WKS,i)=data_A;

 col(A)=col(B);
のように、データセット名を返す関数の戻り値に対して代入することもできる。この場合は括弧は必要ない。
&br;
(例)
 data1_a = {1,2,3,4,5,6};       ワークシートdata1のコラムaに1,2,3,4,5,6を代入する。
 data1_a[10] = 5;              ワークシートdata1のコラムaの10番目のセルに5を代入する。
 data1_a = data1_b;          ワークシートdata1のコラムbの内容を全てコラムaにコピーする。
 data1_a = data1_b+5;       ワークシートdata1のコラムbのすべてのセルの内容に5を足してコラムaにコピーする。
 data1_a = 0;                   ワークシートdata1のコラムaの全てのセルに0を代入する。|
 data1_c=data1_a*data1_b; ワークシートdata1のコラムaとコラムbの内容の積をコラムcに書き込む。
 col(B)=col(A) * 2;             現在のワークシートのコラムBにコラムAの内容を2倍にして代入する。
*構文 [#x9e6dd35]
**繰り返し構文 [#fc3440f1]

-loop( variable, start, end ){ script };&br;
整数 variable を start から end まで変えながらscriptを実行する。
-for( exp1; exp2; exp3 ){ script };&br;
使い方はc言語と同じ
-repeat num { script };&br;
num 回 script を実行する。
-break option arg;&br;
optionもargもない場合は現在のループを脱出する。&br;
argに1を指定すると現在のスクリプトを終了する。&br;
optionをつけることによってメッセージの表示や実行の選択が可能。&br;
-continue;&br;
for文やloop文において次の繰り返しに飛ぶ。

**条件分岐構文 [#y7b428b8]
-if ( condition ) { script1 } else { script2 };&br;
使い方はc言語と同じ。else以下は省略できる。
-switch( argument ){ case1: script1;  case2 : script2; ... };&br;
使い方はc言語と同じ。

*ワークシートの情報の取得 [#t7e52a9e]

-%() 関数&br;
|%(i,@L)|現在のワークシートのi番目のコラムのラベル名|
|%(WKS, i)|ワークシートWKSの i 番目のコラムのデータセット名 |
|%(WKS, i, j)|ワークシートWKSの i 番目の column、j番目の row の値 |
|%(WKS, @option, i)|ワークシートWKSの i 番目のcolumnのoptionに関する情報 |
(オプション)
|@option| 戻り値 |h
|@type|i 列の種類 ( 1: Y列  2: 無属性 3 : エラーバー列  4: X列 ) |
|@colname|i 列の名前 |
|@data|i 列のデータセット名 |
|@Xn|i 列に対応するX列の名前 |
|@X|ワークシート全体のX列の数 |
|@Y-|i 列より左側(i 列を含む)の最初のY列の番号 |
|@Y+|i 列より右側(i 列を含む)の最初のY列の番号 |
|@Y#|i=1の場合、ワークシート全体のY列の数を返し、i=2の場合は選択領域のY列の数を返す。 |
|@#|ワークシート全体の列の数 |

-(オプション)
|option|戻り値 |
|type|i 列の種類 ( 1: Y列  2: 無属性 3 : エラーバー列  4: X列 ) |
|colname|i 列の名前 |
|data|i 列のデータセット名 |
|Xn|i 列に対応するX列の名前 |
|X|ワークシート全体のX列の数 |
|Y-|i 列より左側(i 列を含む)の最初のY列の番号 |
|Y+|i 列より右側(i 列を含む)の最初のY列の番号 |
|Y#|i=1の場合、ワークシート全体のY列の数を返し、i=2の場合は選択領域のY列の数を返す。 |
|#|ワークシート全体の列の数 |
 
*代入
-ワークシートプロパティ&br;
WKS!wks.propertyの形でアクセスする。WKS!を省略すると現在activeなワークシートが対象になる。
|property| 戻り値 |h
|nCols|総column数 |
|nRows|総row数 |
|maxRows|値のある最大のrow番号 |
ワークシートの中のそれぞれのコラムについては、
 wks.col[n].property
の形でアクセスする([n]はコラム番号)。&br;
その他のプロパティについてはマニュアル参照

-数値変数への代入&br;
      a=10など。
-文字列変数への代入&br;
      %A=''John''
      double quotationはなくてもよい。
-データセットへの代入&br;
      データセットdatasetにデータセットまたは配列を代入するときは
      dataset名=代入するデータセットまたは配列
      (%A)=代入するデータセットまたは配列
      などとする。
      %(WKS,i)=data_Aやcol(A)=col(B)のように、データセット名を返す関数の戻り値に対して代入することもできる。
*データセット情報の取得 [#p9547852]
-hasx(dataset)&br;
datasetが対応するXデータセットを持てば1、持たなければ0を返す。
-xof(dataset)&br;
datasetに結び付いたXデータセットの名前を返す。
-errof(dataset)&br;
datasetに結び付いたエラーデータのデータセット名を返す。
-xindex(x,dataset)&br;
datasetに結びついたXデータセットのセル値がxと同じか、それより小さい最初のセルのインデックス番号を返す。datasetはY属性をもっていなくてはならない。
-xindex1(x,dataset)&br;
datasetに結びついたXデータセットのセル値がxと同じか、それより大きい最初のセルのインデックス番号を返します。datasetはY属性をもっていなくてはならない。
-list(value,dataset)&br;
valueが最初に存在するdataset中のインデックス番号を返す。相当するものがない場合は0を返す。

*構文
**繰り返し構文
*グラフ情報の取得 [#y880369e]
-layer -c&br;
現在のレイヤーのグラフに存在するデータセットの数を調べ、システム変数countに格納する。同時に、データセット名を列挙したものをシステム変数%Zに格納する。データセット名は関数%[%Z,i]を使って抜き出すことができる。

    * loop( variable, start, end ){ script };
      整数 variable を start から end まで変えながらscriptを実行する。
    * for( exp1; exp2; exp3 ){ script };
      使い方はc言語と同じ
    * repeat num { script };
      num 回 script を実行する。
    * break option arg;
      optionもargもない場合は現在のループを脱出する。
      argに1を指定すると現在のスクリプトを終了する。
      optionをつけることによってメッセージの表示や実行の選択が可能。
    * continue;
      for文やloop文において次の繰り返しに飛ぶ。

**条件分岐構文
*よく使うコマンドと関数 [#ad68fcf8]

    * if ( condition ) { script1 } else { script2 };
      使い方はc言語と同じ。else以下は省略できる。
    * switch( argument ){ case1: script1;  case2 : script2; ... };
      使い方はc言語と同じ。
**入力&表示に関するコマンド [#k3ef88f0]

**ワークシートの情報の取得
-type&br;
スクリプトウインドウに文字列を表示する。数値変数の内容を表示したい場合は、関数 $( ) によって文字列に変換する必要がある。
-getnumber (message) val&br;
messageというダイアログを表示して数値の入力を行い、変数valに格納する。
-getstring (message) initstr&br;
messageというダイアログを表示して文字列の入力を行い、変数%Bに格納する。initstrは初期文字列。
-getyesno (message ) val&br;
YesかNoかを問うダイアログを表示して、結果を変数valに格納する。

WKS!wks.propertyの形でアクセスする。WKS!を省略すると現在activeなワークシートが対象になる。
property 	
cCols 	総column数
nRows 	総row数
maxRows 	値のある最大のrow番号
**ワークシートの操作に関するコマンド [#a263e9c8]

*よく使うコマンドと関数
-create name -w n c1 c2 ...;&br;
column名c1,c2,... およびrow数n を持つ名前nameのワークシートを作る
-worksheet -a n;&br;
現在のワークシートにn列のコラムを追加する。
-worksheet -i n name&br;
n番目のコラムの右にnameという名前のコラムを挿入する。
-worksheet -d name;&br;
現在アクティブなワークシートの複製をnameという名前で作成する。
-worksheet -s c1 r1 c2 r2;&br;
アクティブなワークシートのc1 r1 c2 r2で指定される領域を選択する。c1とc2がゼロの場合は全てのcolumnが対象となり、r1とr2がゼロの場合は全てのrowが対象となる。

    * type
      スクリプトウインドウに文字列を表示する。数値変数の内容を表示したい場合は、
      関数 $( ) によって文字列に変換する必要がある。
    * getnumber
      ダイアログを表示して数値の入力を行う。
    * getstring
      ダイアログを表示して文字列の入力を行う。 
**データセットの操作に関するコマンドと関数 [#v5f40f3d]

**データセットの操作に関するコマンド
-create WKS_COL -c n&br;
row数nのXYデータセットを作る。値は全て0。Xデータの名前はWKS_Aとなる。
-copy dataset1 dataset2&br;
dataset1の内容をdataset2にコピーする。 
-copy -x dataset1 dataset2&br;
dataset1の内容を別なワークシートにあるdataset2にコピーする。その際、可能ならdtaset1のXデータセットもdataset2のXデータセットにコピーする。(->Xデータセットが複数ある時にはうまく働かない)
-peaks( dataset, width, height )&br;
データのピークを検出する関数。index幅 2width+1の中で最大値を取るもののうち、indexがi-widthおよびi+widthの点よりもheight以上大きい値を持つ点を探し、そのindex値をリストした配列を返す。
**グラフ描画に関するコマンド [#gf45dd41]

    * create WKS_COL -c n
      列数nのXYデータセットを作る。値は全て0。Xデータの名前はWKS_Aとなる。
    * copy dataset1 dataset2
      dataset1の内容をdataset2にコピーする。 
-layer -i n dataset&br;
現在のレイヤーにプロットを追加する。プロットタイプはnで指定する。(worksheetコマンドを参照)
-draw {x1,y1,x2,y2}&br;
グラフに直線や点線などを描画する。
-worksheet -p n&br;
アクティブなワークシートの選択領域をプロットする。nはプロットのタイプを指定する。
|n| type |h
|200|line |
|201|scatter |
|202|line+symbol |
-set dataset -c [color]&br;
プロットの色を[color]に変える。
|[color]|色|h
|1|黒|
|2|赤|
|3|緑|
|4|青|
|...|など|
-set dataset -d [style]&br;
プロットの線のスタイルを[style]に変える。
|[style]||h
|0|solid|
|1|dash|
|...|など|
-set dataset -k [type]&br;
プロットのシンボルを[type]に変える。
|[type]|symbol|h
|0|なし|
|1|square|
|2|circle|
|...|など|

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

    * layer -in dataset
      現在のレイヤーにプロットを追加する。プロットタイプはnで指定する。(worksheetコマンドを参照)
    * draw {x1,y1,x2,y2}
      グラフに直線や点線などを描画する。
    * worksheet -p n
      アクティブなワークシートの選択領域をプロットする。nはプロットのタイプを指定する。
      n 	type
      200 	line
      201 	scatter
      202 	line+symbol
**文字列を返す関数 [#re834ad4]

**ワークシートの操作に関するコマンド
-col(COL)&br;
現在のワークシートのCOLという名前のコラムのデータセット名をWKS_COLの形で返す。
-wcol(i)&br;
現在のワークシートのi番目のコラムのデータセット名をWKS_COLの形で返す。
-$(num)&br;
数値などを文字列に変換する。フォーマットも指定可能。&br;
(例)
|$(x,*5)|xの値を有効桁5桁で文字列に変換|
|$(x,.3)|xの値を小数点以下3桁で文字列に変換|
|$(x,fmt)|xの値をC言語のフォーマットfmtを用いて文字列に変換|
|$(x,Efmt)|xの値を工業表示文字列に変換|
|$(x,Sfmt)|xの値を科学表示で文字列に変換|
注)コンマと*,E,Sの間にスペースをいれてはいけない

    * create name -w n c1 c2
      column名c1,c2, row数n を持つ名前nameのワークシートを作る
    * worksheet -d name
      現在アクティブなワークシートの複製をnameという名前で作成する。
    * worksheet -s c1 r1 c2 r2
      アクティブなワークシートのc1 r1 c2 r2で指定される領域を選択する。c1とc2がゼロの場合は
      全てのcolumnが対象となり、r1とr2がゼロの場合は全てのrowが対象となる。 
***%[ ] 関数 [#q867e52e]
%[ ]関数によって文字列の操作ができる。
|%[string, 'ch']|文字列の先頭から最初に現れる文字chの前までを抜き出す。|
|%[string, >'ch']|最初に現れる文字chの次から文字列の最後までを抜き出す。|
|%[string, n]|先頭のn文字を抜き出す。|
|%[string, m:n]|m文字目からn文字目までを抜き出す。|
|%[string, #n]|n番目のトークンを返す。|
|%[string]|文字列の長さを返す。|

**文字列を返す関数
**数値を返す関数 [#d5ccc9c8]

    * col(COL)
      現在activeなワークシートのcolumn COL のdataset名(WKS_COL)を返す
    * wcol(i)
      現在activeなワークシートのi番目の column のdataset名(WKS_COL)を返す
    * %[string, arg]
      文字列の一部分を抜きだす。
      %[string,'ch'] 	文字列の先頭から最初に現れる文字chの前まで。
      %[string,'ch'] 	最初に現れる文字chの次から文字列の最後まで
      %[string,n] 	先頭のn文字
      %[string,m:n] 	m文字目からn文字目まで
      %[string,#n] 	n番目のトークン
      %[string] 	文字列の長さ
    * $(num)
      数値などを文字列に変換する。formatも指定可能。
-exist(name)&br;
名前nameをもつオブジェクトが存在すればそのオブジェクトの型を番号で返す。
|戻値|意味|h
|      0| 	存在しない|
|      1| 	dataset|
|      2| 	worksheet|
|      3| 	graph window|
|      4| 	variable|
|      5| 	matrix|
|      6| 	macro|
|      7| 	tool|
|      9| 	notes window|
-その他、sin, cos, expなどの数学関数はほとんど使える。

**数値を返す関数
**datasetに代入できる配列を返す関数 [#h6e81673]

    * exist(name)
      名前nameをもつオブジェクトが存在すればそのオブジェクトの型を番号で返す。
      0 	存在しない
      1 	dataset
      2 	worksheet
      3 	graph window
      4 	variable
      5 	matrix
      6 	macro
      7 	tool
      9 	notes window
    * その他、sin, cos, expなどの数学関数はほとんど使える。
-data( v1, v2, inc )&br;
v1からv2までincステップの配列を作る。 incを省略するとステップは1になる。
-{v1, v2, ... , vn}&br;
配列を実際の値を使って作る。
-Fit(dataset)&br;
直前のフィッティングの結果を用いて、datasetをX値とした配列を作る。

datasetに代入できる配列を返す関数
*データセットを関数として使う。 [#y673df14]
dateset名に関数のように丸括弧をつけて、
 data1_A(x)
のようにすると、data1_Aに結び付いているXデータセットからxを探し、対応するdata1_Aのセルの値を返す。Xデータセットにxが見つからない場合は最も近い2つのセルから直線で内挿したものを返す。
*オブジェクトについて [#ccd9061f]
Originの内部はすべてオブジェクトによって構築されている。これらのオブジェクトを直接操作することによって、より細かな制御を行うことができる。&br;
オブジェクトの操作にはMethod(操作)、Set(値の設定)、Read(値の読み出し)があり、
Methodを実行する場合は
 objName.Method( param )
とする。ただしobjNameやMethodは実際のオブジェクト名やメソッド名に置き換わる。&br;
オブジェクトのプロパティーに値を設定する場合は
 objName.Property=value  (数値の場合)
 objName.Property$=string (文字列の場合)
とする。値の読み出しも同様である。
 value=objName.Property  (数値の場合)
 %K=objName.Property$    (文字列の場合)
Originで扱っているオブジェクトにはwindowオブジェクト、utilityオブジェクト、外部オブジェクトの3種類がある。
**windowオブジェクト [#g925cd92]
ワークシートやグラフなどの画面上のwindowを操作するオブジェクト。
winName!objName.propertyの形でアクセスする。winName!を省略すると現在アクティブなwindowについて操作が行われる。

    * data( v, v, inc )
      vからvまでincステップの配列を作る。 incを省略するとステップは1になる。
    * { v, v, , v}
      配列を実際の値を使って作る。
    * Fit(dataset)
      直前のフィッティングの結果を用いて、datasetをX値とした配列を作る。
|オブジェクト|役割|h
|layer[n]|[n]番目のレイヤーを操作する|
|page|グラフやワークシートのベースになっているWindowを操作する|
|wks|ワークシートを操作する|

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

|layer.[axis]|役割|h
|layer.X|bottom X axisを操作する|
|layer.X2|top X axisを操作する|
|layer.Y|left Y axisを操作する|
|layer.Y2|right Y axisを操作する|

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

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

**utilityオブジェクト [#p2a670f0]
特定のwindowとは結び付かないOriginのプロパティーを操作する。

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

**外部オブジェクト [#tc86e3bb]
外部DLLに存在するオブジェクト

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

*スクリプトの例 [#tee140ff]
-[[モーメント解析(スペクトルの強度、重心、分散を求める):http://optphys.sci.hokudai.ac.jp/~sekika/labtalk/example/moments.ogs]]
-[[スペクトルのピークと幅を実測する。:http://optphys.sci.hokudai.ac.jp/~sekika/labtalk/example/getpw9.ogs]]
-[[シフトプロット(複数のデータを適当な間隔で縦に並べて作図):http://optphys.sci.hokudai.ac.jp/~sekika/labtalk/example/shiftplot.ogs]]
-[[カスケードプロット(現在のプロットを上下にずらして再描画する。シフトプロットの改良版):http://optphys.sci.hokudai.ac.jp/~sekika/labtalk/example/cascade.ogs]]
-[[カスケードプロット(対数プロット版):http://optphys.sci.hokudai.ac.jp/~sekika/labtalk/example/logcascade.ogs]]
-[[規格化(現在のプロットを規格化して表示する):http://optphys.sci.hokudai.ac.jp/~sekika/labtalk/example/normalize.ogs]]
*付録 [#kf677a86]
**解析メニューの指数関数フィットでy0を強制的に0にする方法 [#fab6bfba]
Originの解析メニューはlabtalkスクリプトで実現されているので、これに適当な改造を加えることによって、動作を変えることができる。OriginフォルダにあるFIT.OGSは解析メニューのフィッティングの動作を規定している。このファイルを変更することでy0を0に固定することができる。
また、指数関数フィットのメニューでは最初の粗いフィットにおいてデータセット全体を使用しているため、初期パラメータが正しく推測されない。これらの点を改良したものが、[[FIT.OGS:http://optphys.sci.hokudai.ac.jp/~sekika/labtalk/example/FIT.OGS]]である。これをOriginフォルダにあるFIT.OGSと置き換えると上記の改良が適用される。

----
#comment


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