Borrar filtros
Borrar filtros

matlb solution dX/dt=AX(t)+B

25 visualizaciones (últimos 30 días)
SAFA BOUDHRAA
SAFA BOUDHRAA el 13 de En. de 2018
Editada: SAFA BOUDHRAA el 14 de En. de 2018
morning, help me please, i am working i=on the resolution of the equation :dX/dt=AX(t)+B i have used ode45 but it gives wrong results . any suggests please thank you so much

Respuesta aceptada

Star Strider
Star Strider el 13 de En. de 2018
We need to see your code to determine what the problem is. The ODE solvers such as ode45, and for ‘stiff’ systems ode15s, should be able to solve it for linear or nonlinear ‘A’ matrices.
One way to solve it, if ‘A’ is a square, linear time-invariant (‘LTI’) matrix, is to use the matrix exponential expm (link) function.
Then:
x(t) = expm(A*t)*B
You will need to loop through values of ‘t’ to provide a matrix of solutions.
The Control System Toolbox also has several functions that will work.

Más respuestas (1)

SAFA BOUDHRAA
SAFA BOUDHRAA el 14 de En. de 2018
Editada: SAFA BOUDHRAA el 14 de En. de 2018
function DY=resolution(t,y) A=[2*t 1 -3 sqrt(3) ;cos(t) 0 sqrt(2) -3 ;0 t -2 1; 4 sin(t) 0 t]; B=[0.5*t;1;0;0] dX=A*X+B ; end Q=zeros(4,1); Q(1,1)=12; [T,e] = ode45(@resolution,[0 2],Q); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Categorías

Más información sobre Ordinary Differential Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by