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 (최근 30일)
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
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Equation Solving에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by