アレイのストックを使用しているように聞こえます。アレイの値は、AnyLogicの10値のディメンションです。
あなたが初期値のためEdit...
ボタンを押した場合、あなたは彼らがなどv1は第一次元の代替の初期値であるJava表記{v1, v2, ..., v10}
、で指定されていることがわかります(間違えやすいが、これはJava配列の表記法であります株と異なる)
Excelデータからこれらを初期化する簡単な方法はありません。 AnyLogic 7.2以降では、Excelの値をAnyLogicのデータベーステーブルに簡単に取得できますが、基本的なAnyLogicの変数やパラメータとは異なり、在庫の初期値を設定するクエリを設定するビジュアルウィザードはありません。
おそらく、ExcelワークシートをAnyLogicデータベーステーブルにインポートしてから、モデルのスタートアップコードで明示的に10個の値をクエリで設定してループすることをお勧めします。在庫のset
メソッド(関数)を使用して、各値(2つの引数を設定できます:設定する値と設定する代替次元の数)を設定します。
例
はテーブルとしてExcelワークシートをインポートする方法についてAnyLogicのヘルプDatabase --> Importing database tables
を参照してください。
はのは、あなたのテーブルが(などの寸法エントリー1、2、のためdouble
値を与える)の列stock_name
(値がためのものである株式の識別)、val1
、val2
などでstock_vals
と呼ばれているとしましょう。
その後のは、ご使用のアレイの在庫は、代替YOUNG
、MIDDLE_AGED
とOLD
( - 私はちょうどそれを簡単にするために3つの選択肢を使用する代替案1、2、3)とAgeRange
次元でと呼ばれているとしましょう。そして、あなたがエントリー
"population", 100.0, 200.0, 300.0
を持って、あなたのテーブルに想定する次に、あなたの起動ロジックに次のコードを使用することができます。
stock.set(selectFrom(stock_vals).where(stock_vals.stock_name.eq("population")).uniqueResult(stock_vals.val1), 1);
stock.set(selectFrom(stock_vals).where(stock_vals.stock_name.eq("population")).uniqueResult(stock_vals.val2), 2);
stock.set(selectFrom(stock_vals).where(stock_vals.stock_name.eq("population")).uniqueResult(stock_vals.val3), 3);
AnyLogic Database --> Querying
ヘルプは、このデータベース選択のJavaコードがどのように動作するかを示しています。
上記のコードは、よりエレガントに整えられますが、それは本質です。
現在のモデルの外観や達成目標を明確にしてください。理想的にはいくつかのスクリーンショットで...理想的には、システムダイナミックスストックは1種類の「流体」(すなわち母集団)を取ることができます。 – Benjamin
@Benjamin彼は配列株を使っていると思う。私の答えを見てください。 –
ところで、あなたの質問のタイトルは少し誤解を招く/曖昧です。 「Excelデータを使用してAnyLogicアレイのストックを初期化する」のようなものが良いでしょうか? –