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 >> Differential Equations, Integration > impl

impl

微分代数方程式

呼出し手順

y=impl([type],y0,ydot0,t0,t [,atol, [rtol]],res,adda [,jac])

パラメータ

y0,ydot0

実数のベクトルまたは行列 (初期条件).

t0

実数のスカラー (初期時間).

t

実数ベクトル (解を計算する時刻).

res,adda

外部 (関数または文字列またはリスト).

type

文字列 'adams' または 'stiff'

atol,rtol

yと同じ大きさの実数スカラーまたは実数ベクトル.

jac

外部 (関数または文字列またはリスト).

説明

陰的な線形微分方程式の解

A(t,y) dy/dt=g(t,y), y(t0)=y0

t0 は初期時刻, y0 は初期条件, t0におけるyの時間微分 ベクトル ydot0 も指定する必要があります. 入力 resは外部ルーチン,すなわち, 指定された構文を有する関数,また規定の呼び出し手順を有する FortranサブルーチンまたはC関数の名前(文字列), またはリストです.

res が関数の場合, その構文は 以下のようにする必要があります:

r = res(t,y,ydot)

ただし t は実数ベクトル (時間) そして y および ydot は実数ベクトルr ( 状態量および状態量の微分)です. この関数は r=g(t,y)-A(t,y)*ydotを返す必要があります.

resが文字列の場合, FortranサブルーチンまたはC関数の名前を指します. この例については, SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.fを参照ください.

res をリストとすることもできます: odeのヘルプを参照ください.

入力 adda も外部ルーチンですi.

adda が関数の場合, その構文は以下のようにする必要があります:

r = adda(t,y,p)

これはr=A(t,y)+pを返します. ただし, pA(t,y)に加算される行列です.

adda が文字列の場合, FortranサブルーチンまたはC関数の名前を指します. この例については, SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.fを参照ください.

adda をリストとすることもできます: odeのヘルプを参照ください.

入力 jac も外部ルーチンです.

jac が関数の場合, その構文は以下のようにする必要があります:

j = jac(t,y,ydot)

これは r=g(t,y)-A(t,y)*ydotyに関するヤコビアンを返します.

jac が文字列の場合, FortranサブルーチンまたはC関数の名前を指します. この例については, SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.fを参照ください.

jac をリストとすることも可能です: odeのヘルプを参照ください.

y=impl([1;0;0],[-0.04;0.04;0],0,0.4,'resid','aplusp');
// Using hot restart 
//[x1,w,iw]=impl([1;0;0],[-0.04;0.04;0],0,0.2,'resid','aplusp');
// hot start from previous call 
//[x1]=impl([1;0;0],[-0.04;0.04;0],0.2,0.4,'resid','aplusp',w,iw);
//maxi(abs(x1-x))

参照

  • dassl — 微分代数方程式
  • ode — 常微分方程式ソルバ
  • external — Scilabオブジェクト, 外部関数またはルーチン
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:22 CEST 2012