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 do Scilab >> Equações Diferenciais > ode_root

ode_root

solucionador de EDOs com busca de raízes

Seqüência de Chamamento

[y,rd,w,iw]=ode("root",y0,t0,t [,rtol [,atol]],f [,jac],ng,g [,w,iw])

Parâmemtros

y0

vetor de reais ou matriz (condições iniciais)

t0

escalar real (tempo inicial)

t

vetor de reais (tempos nos quais a solução é computada).

f

função externa i.e. função, string ou lista.

rtol, atol

constantes reais ou vetores reais com o mesmo tamanho que y.

jac

função externa i.e. função, string ou lista.

w, iw

vetores de reais

ng

inteiros.

g

função externa i.e. função, string ou lista.

Descrição

Com esta sintaxe (primeiro argumento igual a "root") ode computa a solução da EDO dy/dt=f(t,y) até que o estado y(t) cruze a superfície g(t,y)=0.

g deve fornecer a equação da superfície. É uma função externa, i.e. uma função com sintaxe especificada, ou o nome de uma subrotina FORTRAN ou função C (string) com seqüência de chamamento especificada ou uma lista.

Se g é uma função, a sintaxe deve ser como segue:

z=g(t,y)

onde t é um escalar real (tempo) e y um vetor de reais (estado). Ela retorna um vetor de tamanho ng que corresponde às ng restrições. Se g é um string, ele se refere a uma subrotina FORTRAN ou uma função C, com a seguinte seqüência de chamamento: g(n,t,y,ng,gout) onde ng é o número de restrições e gout é o valor de g (saída do programa). Se g é uma lista, as mesmas convenções para f se aplicam (ver ajuda de ode).

A saída rd é um vetor 1 x k . A primeira entrada contém o tempo de parada. Outras entradas indicam que componentes de g possuem sinal trocado. k maior que 2 indica que mais de uma superfície ((k-1) superfícies) foram simultaneamente atravessadas.

Outros argumentos e opções são os mesmos que para ode, ver a página de ajuda de ode.

Exemplos

// Integração da equação diferencial
// dy/dt=y , y(0)=1, e acha o tempo mínimo t tal que y(t)=2
deff("[ydot]=f(t,y)","ydot=y")
deff("[z]=g(t,y)","z=y-2")
y0=1;ng=1;
[y,rd]=ode("roots",y0,0,2,f,ng,g)

deff("[z]=g(t,y)","z=y-[2;2;33]")
[y,rd]=ode("roots",1,0,2,f,3,g)

Ver Também

  • dasrt — Solucionador de equações diferenciais algébricas com cruzamento de zeros
  • ode — Solucionador de equações diferenciais ordinárias
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Apr 01 10:24:16 CEST 2015