MATLAB Answers

WHY do I get this error

조회 수: 224(최근 30일)
mahesh tom
mahesh tom 17 Nov 2017
편집: mahesh tom 17 Nov 2017
function dydt = free25(t,y);
g = 9.81;
l = 1;
dydt = [y(2);-g/l.*sin(y(1))];
end
[t,y]= ode45('free25',[0 10],[0 0.09]);%I typed this in command window
plot(t,y(:,1));
refline([0 0]);
Error using feval Undefined function 'free25' for input arguments of type 'double'.
Error in odearguments (line 87) f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 115) odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);

  댓글 수: 0

로그인 to comment.

채택된 답변

Mischa Kim
Mischa Kim 17 Nov 2017
편집: Mischa Kim 17 Nov 2017
mahesh, is the above code all in one and the same script? If it is modify like this:
[t,y]= ode45(@free25,[0 10],[0 0.09]);%I typed this in command window
plot(t,y(:,1))
function dydt = free25(t,y)
g = 9.81;
l = 1;
dydt = [y(2);-g/l.*sin(y(1))];
end
Another option would be to store the first part of the script (first two commands) in one function and the second part in a different function. For this second option make sure you name the file the same way you name the function: free25.m

  댓글 수: 3

mahesh tom
mahesh tom 17 Nov 2017
no..i have saved free25 as a separate .m file
Mischa Kim
Mischa Kim 17 Nov 2017
OK. Name of the file needs to be free25.m. In the command window type
[t,y] = ode45(@free25,[0 10],[0 0.09]);%I typed this in command window
and make sure the file is in the current folder (see folder window in MATLAB) or on in a folder that is in the MATLAB search path.
mahesh tom
mahesh tom 17 Nov 2017
Thank you! The problem was that the file was not on the MATLAB search path!

로그인 to comment.

추가 답변(0개)

이 질문에 답변하려면 로그인을(를) 수행하십시오.

태그


Translated by