Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Português


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

  • dassl — Equação diferencial algébrica
  • ode — Solucionador de equações diferenciais ordinárias
  • external — objeto Scilab, função ou rotina externa
Report an issue
<< diff Equações Diferenciais int2d >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:42:12 CEST 2023