Hi, Im trying to solve and plot the solution for a second order differential equation. After some study, I made the following code:
%--------------------------------------------------
function xp = myfunc(t,x)
% x''+2*ep*w*x'+w^2*x+d*x'*abs(x')=0
w = (2*pi)/10.8814;
ep = 0.196;
d = -0.271;
xp = zeros(2,1);
xp(1)= x(2);
xp(2)= -((2*ep*w)*x(2)+(w^2*x(1))+d*abs(x(2))*x(2));
end
%---------------------------------------------------
And
%-----------------------------------
clc;
tr=0:0.1:393;
initialvalues=[17.66 0];
[t,x]=ode45('myfunc',tr,initialvalues);
plot(t,x(:,1));
%----------------------------------
The expected plot is a damped sine wave. Im not able to get it.
Any advise on what Im missing here will be great.
Thanks and Regards SLS

 採用された回答

Youssef  Khmou
Youssef Khmou 2013 年 5 月 17 日

0 投票

hi,
The damped oscillation can be obtained by changing the sign of the constant d :
d=0.271;

その他の回答 (1 件)

SmartEngineer
SmartEngineer 2013 年 5 月 18 日

0 投票

Thanks.
Its a typo I didnt notice. Should have checked it.
Anyway Thank you.

カテゴリ

ヘルプ センター および File Exchange で Programming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by