Error using FEVAL and odearguments

5 views (last 30 days)
What does this mean and what could be the possible reasons behind it?
------------------------------------
??? Error using ==> feval Undefined function or method 'pitch_fn.m' for input arguments of type 'double'.
Error in ==> odearguments at 98
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 172
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Error in ==> pitch_model1 at 41
[t,y] = ode45('pitch_fn.m',time , [q(1) q(2) q(3) qdot(1) qdot(2) qdot(3)] );
------------------------------------
I have ensured that both the script and function are in same folder. But i cant figure out any reason for the undefined function and errors below it.
I am trying solving ODE ( 2nd order, three variables) through ode45.
  2 Comments
Jan
Jan on 2 Jun 2013
Which script and which function are in which folder? Is this folder included in Matlab's PATH?
Puru
Puru on 3 Jun 2013
pitch_model1.m is the script and pitch_fn.m is the function . They are in the folder, Pitch_model, and yes the folder is included in Matlab's path.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 3 Jun 2013
Do not include the ".m" in the function name.
[t,y] = ode45('pitch_fn', time , [q(1) q(2) q(3) qdot(1) qdot(2) qdot(3)] );
Even better if you do not have a fairly old MATLAB is to use function handles:
[t,y] = ode45(@pitch_fn, time , [q(1) q(2) q(3) qdot(1) qdot(2) qdot(3)] );

More Answers (0)

Categories

Find more on Programming 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!