csetvalue
メニュー情報
メニュー操作の列:列値の設定と同じ操作をプログラムで行います。
概要
定義したスクリプトを実行して、指定した列に式(表現)を適用します。
追加の情報
必要な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
|
再計算モードを指定します。
オプションリスト
- none:なし
- 元のデータに変更が加わっても出力先は更新しません。
- auto:自動
- 元のデータに変更が加わると、自動的に出力先を更新します。
- manual:手動
- 元のデータに変更が加わると、手動で出力先を更新します。
|
説明
この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;//再計算モードは「なし」にセット
}
関連のXファンクション
msetvalue
|