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.
However, this page did not exist in the previous stable version.

Ajuda do Scilab >> Equações Diferenciais > ode_roots

ode_roots

solucionador de EDOs com busca de raízes

Seqüência de Chamamento

[y,rd,w,iw]=ode("roots",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.

ng

inteiros.

g

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

y

a real vector or matrix. The solution.

rd

a real vector.

w, iw

vetores de reais. See ode() optional output

Descrição

Com esta sintaxe (primeiro argumento igual a "roots") 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

  • ode — Solucionador de equações diferenciais ordinárias
  • ode_optional_output — descrição de saídas opcionais de solucionadores de EDOs
  • ode_discrete — solucionador de equações diferenciais ordinárias, simulação de tempo discreto
  • dasrt — Solucionador de equações diferenciais algébricas com cruzamento de zeros
  • daskr — DAE solver with zero crossing
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:09:42 CET 2017