I want to solve the below mentioned system of ODEs. However I get the warning "Explicit solution could not be found. > In dsolve at 194 " Can anyone explain me why?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
syms v(t)
syms p(t)
syms k
syms g
syms m
o1='Dv= -k*v(t)*v(t)/m - g*sin(p(t))’;
o2='Dp= -g*cos(p(t))/v(t)’;
int=’v(0)=50, p(0)=35’;
[v,p]=dsolve(o1,o2,int)
0 commentaires
Réponses (2)
Zoltán Csáti
le 3 Nov 2014
First of all, the first five lines are not needed. To answer your problem: this nonlinear differential equation system can not be solved by the Symbolic Math Toolbox. I tried to solve it with the more advanced Maple 16, but it couldn't solve either. I suggest you to solve it numerically, or using an approximate analytic method.
1 commentaire
MA
le 3 Nov 2014
you can't solve it unless you have k,g,m parameters
3 commentaires
Torsten
le 4 Nov 2014
You don't need an explicit function for p and v. If you have p and v in an array at times t(1),...,t(n), just use MATLAB interp1 to interpolate the values for t and p at times in between the t(i)'s.
For an example, take a look at example 3 under
Best wishes
Torsten.
Torsten
le 4 Nov 2014
Or even simpler:
Solve for p,v,x and y simultaneously using ODE45:
dv/dt= -k*v*v/m - g*sin(p)
dp/dt= -g*cos(p)/v
dx/dt = v*cos(p)
dy/dt = v*sin(p)
Best wishes
Torsten.
Voir également
Catégories
En savoir plus sur Equation Solving dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!