I tried to convert odes to ss but i have problem//o​deToVector​Field

1 次查看(过去 30 天)
syms x(t) f(t) x3(t) g(t) t
eqn1 = v == diff(x, t);
eqn2 = diff(v) == -3647.333890*x-99.48571587*v+3947.845868*x3+3947.845868*g+0.0002385211688*f;
eqn3 = diff(x3) == -0.004499581734*eqn2-0.71466948*v-28.3599*x+28.3599*g;
eqns = [eqn1 eqn2 eqn3];
V = odeToVectorField(eqns)
I want to solve this but it shows me error
i have 3 odes f and g are inputs x,v are outputs and x3 is state variable ?

采纳的回答

Walter Roberson
Walter Roberson 2021-1-12
Your code had some problems.
You were not declaring v as a function.
Your definition of eqn3 involved multiplying eqn2 by a value, but eqn2 is an equality and multiplying it by a value as part of an expression is dubious.
I had to guess what you might possibly mean by multiplying by eqn2 there. I probably guessed wrong, so review your system.
syms x(t) f(t) x3(t) g(t) v(t)
eqn1 = v == diff(x, t);
eqn2 = diff(v) == -3647.333890*x-99.48571587*v+3947.845868*x3+3947.845868*g+0.0002385211688*f;
eqn3 = diff(x3) == -0.004499581734*rhs(eqn2)-0.71466948*v-28.3599*x+28.3599*g;
eqns = [eqn1; eqn2; eqn3]
eqns(t) = 
vars = [f(t), g(t), v(t), x(t), x3(t)]
vars = 
[V, S] = odeToVectorField(eqns)
V = 
S = 

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by