可能重复:
In MATLAB, can I have a script and a function definition in the same file?
我可以在同一个文件中使用MATLAB脚本代码和功能代码吗?
%% SAVED IN FILE myfunc.m (otherwise fail)
function [out1] = myfunc( x )
out1 = sqrt( 1 + (cos(x))^2 );
end
%%
%OTHER CRAP
y = 1:10
% use myfunc
即使使用end
关键字,它似乎也不起作用。这种类型的东西是允许的还是我总是需要在自己正确命名的文件中使用EACH函数?
我确信几年前我看到了在同一个文件中使用这些函数的函数和代码。
答案 0 :(得分:9)
如果m代码中包含函数,则所有代码都必须由函数封装。 入口点函数的名称应与文件名匹配。如果你考虑一下,这是有道理的,因为它有利于代码的重用。
你可以试试这个:
filename:myScript.m
function [] = myScript()
y = 1:10;
out1 = myfunc(y);
end
function [out1] = myfunc( x )
out1 = sqrt( 1 + (cos(x))^2 );
end
然后你可以点击F5,或者从matlab命令提示符下输入myScript
答案 1 :(得分:3)
rossb83's answer是正确的,只是为了扩展它,您应该知道functions can have subfunctions:
function sum = function myMath(a, b) foo = a + b; bar = mySubFunc(foo); end function bar = mySubFunc(foo) bar = foo^2; end