开发者

error message in ode15s code

I wrote these simple codes in matlab in the separate files. When I run this program, I get this message:

??? Attempt to execute SCRIPT ode15s as a function:

D:\app\ode15s.m

开发者_如何转开发

Error in ==> ode15s at 2

[T,Y] = ode15s(@difdif,[0 40],[1 0 0]);

what's the problem.

««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

clc

[T,Y] = ode15s(@difdif,[0 40],[1 0 0]);

%plot(T,Y(:,3),'-o')

plot(T,Y(:,1),'-',T,Y(:,2),'-o',T,Y(:,3),'.')

«««««««««««««««««««««««««««««««««««««««««««««««««««

function dy = difdif(t,y)

dy = zeros(3,1);    % a column vector

dy(1) =-0.04*y(1)+10^4*y(2)*y(3);

dy(2) = 0.04*y(1)-10^4*y(2)*y(3)-3*10^7*y(2)^2;

dy(3) = 3*10^7*y(2)^2;

end


Why do I receive the error "Attempt to execute SCRIPT FILENAME as a function"? deals with your issue. D:\app\ode15s.m is possibly a self made script that comes first on the MATLAB search path. MATLAB's built in ode15s.m won't be called as intended. Change the order in your MATLAB search path or rename D:\app\ode15s.m.

Quoting the solution: which ode15s -all shows you all instances on your search path.


You named your script as ode15s, the same name as the built-in function. When matlab attempts to execute ode15s(@difdif,[0 40],[1 0 0]), it finds the script, not the built-in function. Rename your script.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜