从Matlab中的单个文件加载多个函数[重复]
Posted
技术标签:
【中文标题】从Matlab中的单个文件加载多个函数[重复]【英文标题】:Load Multiple Functions from a Single File in Matlab [duplicate] 【发布时间】:2011-11-27 05:51:42 【问题描述】:可能重复: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
【问题讨论】:
是的,显然是重复的。应该进行某种合并吗? 【参考方案1】:恐怕这是不可能的,每个 m 文件只包含一个 MATLAB 函数(您可以有嵌套或子函数,但在文件之外无法访问它们)。
如果您担心在全局范围内放置太多东西,请考虑 OOP 和 namespaces。
【讨论】:
以上是关于从Matlab中的单个文件加载多个函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
从AWS Lambda python函数将多个JSON文件合并到S3中的单个JSON文件