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);

 채택된 답변

Mischa Kim
Mischa Kim 2017년 11월 17일
편집: Mischa Kim 2017년 11월 17일

0 개 추천

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

댓글 수: 4

mahesh tom
mahesh tom 2017년 11월 17일
no..i have saved free25 as a separate .m file
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 2017년 11월 17일
편집: mahesh tom 2017년 11월 17일
Thank you! The problem was that the file was not on the MATLAB search path!
asavra siddiqui
asavra siddiqui 2021년 4월 10일
I have the same problem with my code how can I put it on MATLAB search path

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

태그

질문:

2017년 11월 17일

댓글:

2021년 4월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by