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 >> |