odeToVectorField

Reescreve uma EDO de ordem superior como um sistema equivalente de primeira ordem.

Categoria: Mathematics > Equation Solving

Sintaxe

V = odeToVectorField(eqn)

Retorna o lado direito V do sistema de primeira ordem Y' = V.

[V, S] = odeToVectorField(eqn)

Também retorna S, a lista de variáveis de estado.

Descrição

Um solver como ode45 aceita apenas sistemas de primeira ordem. A substituição usada trata y, y', ... como estados separados: para y'' + y = 0 o estado é [y; Dy] e o sistema é [Dy; -y]. A equação precisa poder ser resolvida para a derivada de maior ordem.

Argumentos de entrada

eqn
Equação diferencial com diff de uma função simbólica.

Argumentos de saída

V
Vetor coluna simbólico; os elementos são escritos com Y[1], Y[2] etc.
S
Variáveis de estado: a função e suas derivadas até uma ordem abaixo da equação.

Exemplo

Oscilador de segunda ordem

syms y(t)
[V, S] = odeToVectorField(diff(y,t,2) + y == 0)
Saída
V = 
 Y[2]
-Y[1]
S = 
 y
Dy

Observações

Há suporte a uma única equação; sistemas de várias equações não são aceitos no MatLivre.

Veja também

odeFunction dsolve ode45 reduceDifferentialOrder