可能重复:
Is it possible to define more than one function per file in MATLAB?
是否可以在Matlab中从同一个.m文件加载多个函数?我发现为许多小别名实用程序函数为每个函数创建单个文件很麻烦。我已经尝试了this tip允许Octave,但不是在我的Matlab中。我收到以下错误:
??? Error: File: /home/per/Documents/MATLAB/aliases.m Line: 6 Column: 1
Function definitions are not permitted in this context.
我的aliases.m
文件目前包含
% Prevent Octave from thinking that this
% is a function file:
1;
function y = isvariable(x)
%Return non-zero if x is a function.
y = exist(x, 'var');
end
function y = isfile(x)
%Return non-zero if x is a function.
y = exist(x, 'file');
end
function y = isdir(x)
%Return non-zero if x is a function.
y = exist(x, 'dir');
end
function y = isbuiltin(x)
%Return non-zero if x is a function.
y = exist(x) == 5;
end
答案 0 :(得分:2)
我担心这是不可能的,每个m文件只包含一个MATLAB函数(你可以有嵌套或子函数,但它们不能在文件外部访问)。
如果您担心在全球范围内放置太多东西,请考虑OOP和namespaces。