Non linear mechanical damper

3 vues (au cours des 30 derniers jours)
shahzer rahman
shahzer rahman le 4 Avr 2020
Commenté : Alireza Babaei le 11 Août 2023
Hi
I am trying to implement a non linear mechanica damper using MATLAB. I know there are blocks for this in simulink, but I want to code this myself for a much better understanding of the whole system. Can someone help me with this? Maybe suggest a few reference papers. Thanks a lot
  1 commentaire
madhan ravi
madhan ravi le 4 Avr 2020
Would you be able to share the picture of Simulink model or the one you are trying to replicate?

Connectez-vous pour commenter.

Réponse acceptée

Ameer Hamza
Ameer Hamza le 4 Avr 2020
If you follow the Simulink block, you can write the equation of a simple mass-spring-damper system connected in a series like this (here is supposed m=1 for simplicity)
similarly, you can write the equation for any other nonlinear damper model. The 2nd order ODE is equivalent to the following system of first-order ODEs
Now you can write ode45 to solve this system
b1 = 1;
b2 = 0.5;
b3 = 0.1;
b4 = 0.01;
b5 = 0.001;
k = 2;
odeFun = @(t,y) [y(2); -b1*y(2)-sign(y(2))-b2*y(2)^2-b3*y(2)^3-sign(y(2))*b4*y(2)^4-b5*y(2)^5-k*y(1)];
tspan = [0 5];
ic = [1; 0];
[t,y] = ode45(odeFun, tspan, ic);
plot(t,y);
  1 commentaire
Alireza Babaei
Alireza Babaei le 11 Août 2023
can you also help with the case that there is a forcing term? imagine: for dydt(2) = forcingterm - ...
this forcing term needs to be a function of time. in this case we run into the issue of inconsistent dimensions. Any hints for that?

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by