Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Xcos > Batch functions > scicos_simulate

scicos_simulate

シミュレーションをバッチモードで実行する関数

呼び出し手順

Info=scicos_simulate(scs_m)
Info=scicos_simulate(scs_m,Info)
Info=scicos_simulate(scs_m,context)
Info=scicos_simulate(scs_m,flag)
Info=scicos_simulate(scs_m ,Info [, context] [,flag])

引数

scs_m: ダイアグラムデータ構造体 (scs_m 構造体参照).

Info: リスト. 初回コール時はlist(),次回コール以降は Info出力をInfo入力として 指定してください. Infoにはコンパイルおよびシミュレーション関連情報 が含まれ,不要な再コンパイルを避けるために使用されます.

ContextValues: Scilab構造体で,コンテキストおよびxcosブロックで使用されるシンボル変数の値を有します.

flag: 文字列. 'nw' (no window)の場合, グラフィックウインドウを使用するブロックは実行されません. このようなブロックのリストは,新規ブロック追加時に更新する必要があることに注意してください.

モジュール

説明

この関数はバッチモードで xcos ダイアグラムをシミュレートする際に使用されます. この関数には,.xcosファイルをScilabにロードした際に 得られる scs_m構造体を指定します (importXcosDiagram参照).

ContextValuesは,主ダイアグラムコンテキストで 設定される主要なパラメータの値を変更する際に使用することができます. 例: 変数 A がダイアグラムの主コンテキストで 1に設定された場合, A の値を scicos_simulate シミュレーション時に 以下のように設定することにより変更することができます.

ContextValues.A=2

ContextValues引数を使用せずに Scilab内部で定義された変数を直接使用することも可能ですが, このような用途の場合,コンテキストの定義でこれが可能である ことが必要です: 例えば,パラメータAとして Scilab変数Aの値を 使用するシミュレーションを可能としたい場合, ダイアグラムコンテキストの定義に以下を記述する必要があります:

if ~exists('A') then  A=1,end
この第二の手法は,Scilabで定義されたAのカレントの値に依存するという 弱点があることに注意してください.

ファイルの内容

  • SCI/modules/scicos/macros/scicos_auto/scicos_simulate.sci

SCI/modules/xcos/demos/batch_simulation.xcosのxcosダイアグラム
importXcosDiagram("SCI/modules/xcos/demos/batch_simulation.xcos")

typeof(scs_m) //ダイアグラムデータ構造体

//このダイアグラムは以下の3つのコンテキスト変数を使用する : 
//  Amplitude : sin関数の大きさ
//  Pulsation : sin関数の脈動
//  Tf        : シミュレーション終了時間
scs_m.props.context; //組込み定義

//ダイアグラムに埋め込まれたパラメータを用いたバッチシミュレーション(初回)
scicos_simulate(scs_m);
// 終了時間を変更
Context.Tf=10;
scicos_simulate(scs_m,Context);
// 表示なしに変更
Context.Tf=10;
Context.Pulsation=9;
scicos_simulate(scs_m,list(),Context,'nw');
// "from workspace block"で作成された変数を取得
counter
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:36 CEST 2012