Filter löschen
Filter löschen

Solution of spring mass equation with cubic stiffness

1 Ansicht (letzte 30 Tage)
Murat Yetkin
Murat Yetkin am 10 Okt. 2018
Erneut geöffnet: Walter Roberson am 22 Dez. 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)

Antworten (1)

Torsten
Torsten am 10 Okt. 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 Kommentare
Murat Yetkin
Murat Yetkin am 11 Okt. 2018
Bearbeitet: Murat Yetkin am 11 Okt. 2018
thank you for reply, but this produced results as 'NaN'. also, how did you decide the initial conditions as [0;1]?
Torsten
Torsten am 11 Okt. 2018
Bearbeitet: Torsten am 11 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by