help me to solve this second order non-linear differential eq?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Teja Muppirala
le 27 Déc 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 commentaires
Greg Heath
le 28 Déc 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
le 28 Déc 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.
Plus de réponses (1)
Walter Roberson
le 27 Déc 2012
The solution is y(t) = 0, x(t) = 0
2 commentaires
Greg Heath
le 27 Déc 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
le 27 Déc 2012
The original problem had x(t) on the right-hand side rather than c*sin(wt)
Voir également
Catégories
En savoir plus sur Ordinary Differential Equations 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!