help me to solve this second order non-linear differential eq?

1 view (last 30 days)
can anyone help me to solve this?
y''+a*sign(y')*|y'|^1.8+by=c*sin(wt)
y=y(t) ;
y(0)=0 ; y'(0)=0
  4 Comments

Sign in to comment.

Accepted Answer

Teja Muppirala
Teja Muppirala on 27 Dec 2012
Well you're almost there
Rewrite this:
y(2)=y'(1)
y'(2)+a*sign*y'(1)*|y'(1)|^1.8+by(1)-c*sin(wt)=0
Like this:
y'(1) = y(2)
y'(2) = -a*sign(y(2))*abs(y(2))^1.8 - b*y(1) + c*sin(w*t)
And then now it is in a form that you can use with MATLAB's many ODE solvers.
% Just picking some values for a,b,c,w
a = 1.2;
b = 2.4;
c = 0.4;
w = 3;
dYdt = @(t,y) [y(2); -a*sign(y(2))*abs(y(2))^1.8 - b*y(1) + c*sin(w*t)]
ode45(dYdt, [0 30], [0 0])
  2 Comments
Greg Heath
Greg Heath on 28 Dec 2012
As Walter has stated, previously, the answer is y(t)= y'(t)=y''(t)= 0 for all t because at t=0 y, y' and y'' are all zero.
However if x = cos(w*t) there will be a solution that can be obtained numerically.
Walter Roberson
Walter Roberson on 28 Dec 2012
When I used Teja's formulation, then with non-negative "a" I get what appears to be a sine-convolved sine wave. With small negative "a" on the order of -1/10000 then the sine wave still looks more or less sine-convolved but with an expanding function, but once the wave gets to around +/- 1000 then the second derivative heads towards +/- infinity. Also, there are repeated small sections of the primary output which are not especially sine-convolved.
With cos() instead of sin() the output looks much the same.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 27 Dec 2012
The solution is y(t) = 0, x(t) = 0
  2 Comments
Greg Heath
Greg Heath on 27 Dec 2012
Only because this is an ill-posed problem with the silly condition x(0)=0. Typically. the assumption would be that x is an arbitrary known input, not necessarily zero at t=0. For example, your solution is correct for x(t) = sin(t), but not for x(t) = cos(t).
Then
y1' = 0*y1 + 1*y2
y2' = - b*y1 - a*y2*abs(y2)^0.8 + x
Which, as far as I can see, can only be solved numerically.
Walter Roberson
Walter Roberson on 27 Dec 2012
The original problem had x(t) on the right-hand side rather than c*sin(wt)

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!