How can i solve this function below ?

1 vue (au cours des 30 derniers jours)
Mallouli Marwa
Mallouli Marwa le 29 Mar 2016
To solve a second order differential equation : dx/dt = Ax + Bu(t) I use this function but i haven't obtain any result :
function xdot = msd(t,x)
% Function file for mass with spring and damping.
% Position is first variable, velocity is second variable.
u = 10;
m = 1;c = 2;k = 5;
A = [0, 1;-k/m, -c/m];
B = [0; 1/m];
xdot = A*x+B*u;
[t, x] = ode45(@msd, [0,5], [0,0];

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 29 Mar 2016
Modifié(e) : Azzi Abdelmalek le 29 Mar 2016
Save the function below as msd.m
function xdot = msd(t,x)
% Function file for mass with spring and damping.
% Position is first variable, velocity is second variable.
u = 10;
m = 1;c = 2;k = 5;
A = [0, 1;-k/m, -c/m];
B = [0; 1/m];
xdot = A*x+B*u;
then in Matlab Windows Command write
[t, x] = ode45(@msd, [0,5], [0,0]);
plot(t,x)
  3 commentaires
Torsten
Torsten le 30 Mar 2016
Use
[t, x] = ode45(@msd, [0,5], [0;0]);
Best wishes
Torsten.
Gokul Prassad S
Gokul Prassad S le 8 Mar 2019
it was very useful Mr. Torsten. Can you please explain
[t, x] = ode45(@msd, [0,5], [0;0]);
I want to understand the reason behind using this code.
Kindly help.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by