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 - 日本語

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Ajuda Scilab >> Equações Diferenciais > impl

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
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Mar 03 11:00:26 CET 2011