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

Change language to:
English - Français - 日本語 -

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

Manual 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

<< feval Equações Diferenciais int2d >>

Copyright (c) 2022-2023 (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:
Wed Jan 26 16:24:31 CET 2011