Effacer les filtres
Effacer les filtres

Solution of spring mass equation with cubic stiffness

1 vue (au cours des 30 derniers jours)
Murat Yetkin
Murat Yetkin le 10 Oct 2018
Rouvert : Walter Roberson le 22 Déc 2018
I have below equation to solve with a given time series of f(t). Is there any idea how to do it in Matlab with ode solvers?
m=1; c=1; k=10; k2=20; k3=20;
my''+cy'+ky+k2*y^2+k3*y^3=f(t)

Réponses (1)

Torsten
Torsten le 10 Oct 2018
function main
tf = ...; % times for f-vector
f = ...; % f vector
tspan=[0 10000];
y0=[0;1];
[t,y]=ode45(@(t,y) myode1(t,y,tf,f),tspan,y0);
end
function dy = myode1(t,y,tf,f)
m=1; c=1; k=10; k2=20; k3=20;
f_actual=interp1(tf,f,t);
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=(f_actual-c*y(2)-k*y(1)-k2*y(1)^2-k3*y(1)^3)/m;
end
  2 commentaires
Murat Yetkin
Murat Yetkin le 11 Oct 2018
Modifié(e) : Murat Yetkin le 11 Oct 2018
thank you for reply, but this produced results as 'NaN'. also, how did you decide the initial conditions as [0;1]?
Torsten
Torsten le 11 Oct 2018
Modifié(e) : Torsten le 11 Oct 2018
thank you for reply, but this produced results as 'NaN'.
Did you include your tf and f vectors for the tspan period?
also, how did you decide the initial conditions as [0;1]?
I decided it because you didn't supply any.
Best wishes
Torsten.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by