インプットを読み込む関数¶
インフォース・アサンプション・ファクターの読み込みには、以下のユーティリティ関数を使うことができます。
インフォース¶
インフォース読込用関数
Inf.get_int
, Inf.get_double
, Inf.get_string
, Inf.get_bool
- 引数は
(string key)
- キー(key)を元にint/double/string/bool型でインフォースから値を取得します
- キーが無い場合、取得した値が型に変換できない場合はエラーとなります
使用例は以下のとおりです。
int x = Inf.get_int("x")
アサンプション¶
アサンプション読込用関数(スカラー値・1次元配列)
Asm.get_int
, Asm.get_double
, Asm.get_string
, Asm.get_bool
- 引数は
(string key)
もしくは(string key, int index)
- キー(key)を元にint/double/string/bool型でアサンプションからインデックス(index)番目の値を取得します(indexは0から始まる)
- インデックスを指定していない場合は最初の値を取得します
- インデックスが配列の長さ以上の場合は最後の値を取得します
- キーが無い場合、インデックスが不適切な場合、取得した値が型に変換できない場合はエラーとなります
- アサンプションがスカラー値(値が1つのみセットされている場合)はインデックスに関係なくその値を取得します(内部的には値が1つの配列と同じ扱いとしています)
使用例は以下のとおりです。(タイムステップをxとし、アサンプションのx番目の値を配列型の変数にセット)
double[] qx = if (sex == "M"){ Asm.get_double("qx_m_SLT1996", x) } else { Asm.get_double("qx_f_SLT1996", x) }
アサンプション読込用関数(スカラー値・2次元配列)
Asm2d.get_int
, Asm2d.get_double
, Asm2d.get_string
, Asm2d.get_bool
- 引数は
(string key, int index_row, int index_col)
- キー(key)を元にint/double/string/bool型でアサンプション(2次元配列)からindex_row行目、index_col列目の値を取得します
- index_colが列の大きさ以上の場合は最後の値を取得します
- キーが無い場合、インデックスが不適切な場合、取得した値が型に変換できない場合はエラーとなります
使用例は以下のとおりです。(タイムステップをtとし、アサンプションのシナリオ番目の行、x番目の列の値を配列型の変数にセット)
double[] investment_yield = Asm2d.get_double("int_rate", $scenario, t)
ファクター¶
ファクター読込用関数
Fac.get_int
, Fac.get_double
, Fac.get_string
, Fac.get_bool
引数は、以下のいずれかです
(string outputName, string moduleName, string variableName, int scenarioID, int shockID)
(string outputName, string moduleName, string variableName, int scenarioID, int shockID, int index)
ファクター(1回目の計算結果)からint/double/string/bool型で値を取得します
キーとして、1回目の計算での出力定義(outputName)・モジュール名(outputName)・変数名(variableName)・シナリオ番号(scenarioID)・ショック番号(shockID)・インデックス(index)を指定します
- インデックスを指定していない場合は最初の値を取得します
- インデックスが配列の長さ以上の場合は最後の値を取得します
- シナリオ平均の場合、シナリオ番号に-1をセットする必要があります
- 1回目のランのためファクターが無い場合、キーが無い場合、インデックスが不適切な場合、取得した値が型に変換できない場合はエラーとなります
使用例は以下のとおりです。(出力定義ev_deter, モジュール名OutputEV, 変数名PVFP, シナリオ0番目, ショック0番目)
double PVFP = Fac.get_double("ev_deter", "OutputEV", "PVFP", 0, 0)