Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
impl
equações diferenciais algébricas
Seqüência de Chamamento
y = impl([type],y0,ydot0,t0,t [,atol, [rtol]],res,adda [,jac])
Parâmetros
- y0,ydot0
vetor de reais ou matriz (condições iniciais)
- t0
escalar real (tempo inicial).
- t
vetor de reais (tempos nos quais a solução é computada).
- res,adda
funções externas (função, strting ou lista).
- type
string
'adams'ou'stiff'- atol,rtol
escalar real ou vetor de reais com as mesmas dimensões que
y.- jac
função externa (função, string ou lista).
Descrição
Solução da equação diferencial linear implicita
A(t,y) dy/dt=g(t,y), y(t0)=y0
t0 é o instante inicial, y0 é
o vetor de condições iniciais. O vetor ydot0 da
derivada em relação ao tempo y em t0
também deve ser dado. A entrada res é uma função
externa i.e. uma função com sintaxe especificada, ou o nome da subrotina
FORTRAN ou da função C (string) com seqüência de chamamento especificada,
ou uma lista.
Se res for uma função, a sintaxe deve ser como
segue:
r = res(t,y,ydot)
onde t é um escalar real (tempo) e
y e ydot são vetores de reais
(estado e derivada do estado). Esta função deve retornar
r=g(t,y)-A(t,y)*ydot.
Se res for um string, ele se refere a uma
subrotina FORTRAN ou uma função C. Ver
SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.f para um
exemplo.
res também pode ser uma lista, ver a ajuda de
ode.
A entrada adda também é uma função externa
Se adda for uma função, a sintaxe deve ser como
segue:
r = adda(t,y,p)
e deve retornar r=A(t,y)+p onde
p é uma matriz a ser adicionada a
A(t,y).
Se adda for um string, ele se refere a uma
subrotina FORTRAN ou uma função C. Ver
SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.f para um
exemplo.
adda também pode ser uma lista, ver a ajuda de
ode.
A entrada jac também é uma função externa
Se jac for uma função, a sintaxe deve ser como
segue:
j = jac(t,y,ydot)
e deve retornar o Jacobiano de
r=g(t,y)-A(t,y)*ydot em relação a
y.
Se jac for um string, ele se refere a uma
subrotina FORTRAN ou uma função C. Ver
SCI/modules/differential_equations/sci_gateway/fortran/Ex-impl.f para um
exemplo.
jac também pode ser uma lista, ver a ajuda de
ode.
Exemplos
y = impl([1;0;0], [-0.04;0.04;0], 0, 0.4, 'resid', 'aplusp'); // utilizando reinicialização rápida //[x1,w,iw] = impl([1;0;0], [-0.04;0.04;0], 0, 0.2, 'resid', 'aplusp'); // inicialização rápida da chamada anterior //x1 = impl([1;0;0], [-0.04;0.04;0], 0.2, 0.4, 'resid', 'aplusp', w, iw); //max(abs(x1-x))
Ver Também
| Report an issue | ||
| << diff | Equações Diferenciais | int2d >> |