daeソルバのオプションを設定
daeoptions()
dae関数の呼び出しコンテキストに変数
%DAEOPTIONS
が存在した場合,
dae
関数はこれをオプションとして設定します.
この daeoptions 関数は,dae ソルバの様々なオプションを設定する際に 実行されるコマンドを対話的に表示します.
![]() | 注意: dae 関数は
この変数が存在するかどうかを確認し,存在する場合にはこれを使用します.
デフォルト値を使用する場合にはこの変数を消去する必要があります.
daeoptions は
この変数を作成しないことに注意してください.この変数を作成するには,
daeoptions で表示されるコマンド行で実行する
必要があります. |
変数 %DAEOPTIONS
は
以下の要素を有する リストです:
list(tstop,imode,band,maxstep,stepin,nonneg,isest)
デフォルト値は:
list([],0,[],[],[],0,0)
要素の意味を以下に示します.
0の場合, dae
は dassl/dasrtソルバを使用します,
1の場合, dae
は daskrを使用します.
実数スカラーまたは空の行列で, 許容される
g
の評価の最大回数を指定します.
空の行列は回数の"制限なし"を意味します.
0 を指定した場合, dae は ユーザが指定した時間での値のみを返します. 1を指定した場合, dae は計算した経過値を返します.
2個の要素を有するベクトルで,
jac
で計算された帯行列の定義
[ml,mu]
を指定します.
r(i - j + ml + mu + 1,j)
=
dg(i)/dy(j)+cj*dg(i)/dydot(j)
.
jac
が完全な行列を返す場合,
band=[]
を指定します
スカラーまたは空の行列で, ステップの最大値. 空の行列は"指定なし"を意味します.
スカラーまたは空の行列で, ステップの最小値. 空の行列は"指定なし"を意味します.
スカラーで, 解が
非負であることが既知の場合
には 0 とする
必要があります.
その他の場合には 1 に設定する必要があります.
スカラーで,
指定した初期条件が以下と互換の場合には0 とする
必要があります
: g(t0,x0,xdot0)=0
.
xdot0
が単なる推定値である場合には
1 に設定します.
スカラー, 直接 / Krylov 法.
ソルバでKrylov反復を使用したい場合,
1
に設定し,ルーチン
psol
をdae()
に指定します.
それ以外(daskrの直接法)は0
を指定します.
ベクトル,
method=0を設定した場合はダミー変数として扱われます.
その他の場合,[]
または
[maxl kmp nrmax epli]
に設定します.
ただし:
- maxl
= GMResアルゴリズムの最大反復回数 (デフォルト min(5, neq)),
- kmp
= GMResアルゴリズムにおいて直交化を行うベクトルの数 (デフォルト maxl),
- nrmax
= 非線形反復毎のGMResアルゴリズムの再スタートの最大回数(デフォルト 5),
- epli
= GMResアルゴリズムの収束確認定数 (デフォルト 0.05).
スカラー, isest=0と設定した場合はダミー引数として扱われます. 初期条件の計算後にソルバを停止する場合は1, それ以外は0を設定します.
スカラー, psol
用のプリコンディショナ計算および
LU分解ルーチン.
method=0の場合,ダミー引数として扱われます.
外部ルーチンpsol
が特定のルーチンを
使用する必要がある場合,
1に設定し, dae
に
pjac
ルーチンを提供します.
それ以外は 0を指定します.
ベクトル, isest=0を指定した場合はダミー引数として扱われます.
全ての変数のエラーをローカルに制御したい場合,
[] を指定します.
そうでない場合, [+-1, ..., +-1]を設定します.
ただし,
y(i)
が微分変数の場合は 1,
y(i)
が代数変数
(この微分が関数g(t, y, ydot)
に明示的に
現れない)の場合は -1とします.
ベクトル, 経験的パラメータ.
isest=0の場合はダミー引数として扱われます.
そうでない場合, [] または
[mxnit mxnj mxnh lsoff stptol epinit]
に
設定します, ただし:
- mxnit
= ヤコビアンまたはプリコンディショナ評価毎のニュートン反復の最大回数
(デフォルト: info(8)=0の場合は 5, それ以外は 15),
- mxnj
= ヤコビアンまたはプリコンディショナ評価の最大回数
(デフォルト: info(8)=0の場合は 6, それ以外は 2),
- mxnh
= info(7) ≠ [] の時に試行する人工的ステップサイズパラメータ h の最大値
(デフォルト 5),
- lsoff
= ライン探索アルゴリズムを無効にするフラグ
(lsoff = 0 はライン探索をオン, lsoff = 1 はオフにすることを意味します) (デフォルト: 0),
- stptol
= ライン探索アルゴリズムの最小ステップ (デフォルト (unit roundoff)^(2/3)),
- epinit
= ニュートン反復収束確認のスイング係数(デフォルト 0.01).
スカラー, 冗長度. 外部出力を最小にする場合は 1, 完全に出力する場合は 2, それ以外は 0に設定します.