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?

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)

回答 (2 件)

Zoltán Csáti
Zoltán Csáti 2014 年 11 月 3 日
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 件のコメント

Prayash
Prayash 2014 年 11 月 4 日
編集済み: Prayash 2014 年 11 月 4 日
I generated an array of v and p by solving the system of equations numerically and used the below mentioned relations to generate x and y vector and plot the base ball trajectory.
dx/dt=v*cos(p) dy/dt=v*sin(p)
I have been successful in doing so. But how do I obtain the functions v and p by using a numerical approach?

サインインしてコメントする。

MA
MA 2014 年 11 月 3 日
you can't solve it unless you have k,g,m parameters

3 件のコメント

Prayash
Prayash 2014 年 11 月 4 日
When you say 'solve', are you talking about generating values of v and p in an array or obtaining the functions v(t) and p(t). I have been able to obtain an array and plot the 2 functions. How do I obtain the function?
Torsten
Torsten 2014 年 11 月 4 日
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
Torsten 2014 年 11 月 4 日
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.

サインインしてコメントする。

質問済み:

2014 年 11 月 3 日

コメント済み:

2014 年 11 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by