help me to solve this second order non-linear differential eq?
2 views (last 30 days)
Show older comments
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
Accepted Answer
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
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
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.
More Answers (1)
Walter Roberson
on 27 Dec 2012
The solution is y(t) = 0, x(t) = 0
2 Comments
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
on 27 Dec 2012
The original problem had x(t) on the right-hand side rather than c*sin(wt)
See Also
Categories
Find more on Ordinary Differential Equations 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!