csetvalue

内容

  1. 1 メニュー情報
  2. 2 概要
  3. 3 追加の情報
  4. 4 コマンドラインでの使用法
  5. 5 変数
  6. 6 説明
  7. 7 サンプル
  8. 8 関連のXファンクション

メニュー情報

メニュー操作の列:列値の設定と同じ操作をプログラムで行います。

概要

定義したスクリプトを実行して、指定した列に式(表現)を適用します。

追加の情報

必要な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 を使用する、列値の設定‐クイックスタートと似ています。以下のスクリプトを使用する場合、新しいプロジェクトを作成してワークシートがBook1Sheet1である事を確認してください。

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