I have a system of 8 variable second order differantial equation. How can I simulate it?

6 Ansichten (letzte 30 Tage)
Hi,
I have a system of 8 variable second order differantial equation. This system is mathematical model of unstable vehicle. I tried to simulate the response for a steering input by using lsim but simulation goes infinity because system is unstable. But is not there anyway else to simulate the system or is there a way to fix the lsim response? Can ı use ode solvers? I have no initial condition. Thanks in advance.

Antworten (1)

Hari
Hari am 13 Nov. 2024 um 3:09
Hi tokyo,
I understand that you have a system comprising eight second-order differential equations modeling an unstable vehicle. You've attempted to simulate the system's response to a steering input using "lsim" but encountered issues with the simulation diverging due to the system's instability. To troubleshoot the issue you can follow the below steps:
  • Converting Second-Order Equations to First-Order: MATLAB's ODE solvers, like "ode45", require the system of equations to be in the first-order form. You can convert your second-order system into a first-order system by introducing new variables. For an (n)-th order system, this generally doubles the number of equations, transforming an 8-variable second-order system into a 16-variable first-order system.
  • Using ODE Solvers: Once in first-order form, you can use "ode45" or other ODE solvers to simulate your system. These solvers are designed to handle stiff and non-stiff differential equations and might offer better stability for certain types of systems. You'll need to define an function that returns the derivatives of your state variables. This function represents your system's equations.
  • Dealing with Unstable Systems: For unstable systems, apply predefined control techniques from Simulink like PID control, state feedback, or designing a compensator using pole placement or LQR (Linear Quadratic Regulator) to stabilize the system before simulation.
  • Initial Conditions: Even if you have no initial conditions, ODE solvers require some starting point. If truly unknown, you might start with zeros or small random values close to an expected equilibrium and see how the system behaves from there.
For converting second-order ODEs to first-order, refer to the MATLAB documentation on solving systems of differential equations at https://www.mathworks.com/help/symbolic/solve-a-system-of-differential-equations.html
For using ode45 and other ODE solvers, see https://www.mathworks.com/help/matlab/ref/ode45.html.
For understanding system stability and control techniques, explore the Control System Toolbox documentation at https://www.mathworks.com/help/control/index.html.
Hope this helps!

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by