内容 |
メニュー操作の列:列値の設定と同じ操作をプログラムで行います。
定義したスクリプトを実行して、指定した列に式(表現)を適用します。
必要なOriginのバージョン: Origin 8.5 SR0以降
Xファンクションは Auto GetNダイアログ用にデザインされていません。
1. csetvalue formula:="int(rnd()*100)" //アクティブな列に100より小さな乱数をセット
2. csetvalue col:=col(b) formula:="sin(Col(A))" script:="Col(A) = Data(0.1,6.2,0.1)" //実行前の処理スクリプトに組み込み関数を使用
3. csetvalue col:=sheet1!A[3:10] formula:="i*i" //行インデックス i を変数とした範囲に値をセット
4. csetvalue col:=col(B) formula:="total(col(A)[i-3:i+3])"; //指定した列に他の列のサブ範囲で指定された値をセット(" i " は行インデックス)
表示名 | 変数名 | I/Oとタイプ | デフォルト値 | 説明 |
---|---|---|---|---|
列 | col |
入力 範囲 |
<active> |
値を入力する目的の列を指定します。 |
数式 | formula |
入力 string |
"?" |
目的の列のために値を計算する数式を指定します。 |
実行前の処理スクリプト | script |
入力 string |
"?" |
数式を実行前に処理すべきLabTalkスクリプトを指定します。 |
再計算モード | recalculate |
入力 int |
2 |
再計算モードを指定します。
オプションリスト
|
このXファンクションは列メニュー内の列値の設定(列にデータや値を入力する)と同じ事をできるように作成されました。
なお、再計算で自動または手動を選択する場合、値を入力する列と出力する列は異なる必要があります。
このサンプルは値を2つの列に入力する際にcsetvalue を使用する、列値の設定‐クイックスタートと似ています。以下のスクリプトを使用する場合、新しいプロジェクトを作成してワークシートがBook1のSheet1である事を確認してください。
csetvalue col:=[Book1]Sheet1!col(A) formula:="Data(-1,5,0.03)" //列Aに値を入力 csetvalue col:=[Book1]Sheet1!col(b) formula:=" 1 + (5/(1.5*sqrt(PI/2)))*exp(-2*((col(a)-2)/1.5)^2)"//列Bに値を入力
このサンプルは実行前の処理スクリプトを使用して他のワークブックから列を呼び出し、再計算モードを自動的に結果を更新するようにします。
newbook; %A=%H;//新しく作成したワークブックの名前を保存 csetvalue col:=1 formula:="Data(0,1,0.01)";//新しいワークブックの列Aに値をセット newbook; %B=%H;//新しく作成したワークブックの名前を保存 wks.nCols=12; //次のループは2つ目の新規ブックで1つ目の新規ブックから各列に値を設定 for(int ii=1; ii<=12; ii++) { csetvalue col:=[%A]Sheet1!col(2) formula:="sin(r1)+ii" script:="range r1=[%A]Sheet1!col(1)" recalculate:=1;//再計算モードは「自動」にセット csetvalue col:=[%B]Sheet1!col($(ii)) formula:="r2" script:="range r2=[%A]Sheet1!col(2)" recalculate:=0;//再計算モードは「なし」にセット }