从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中的单个文件加载多个函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Matlab 中的单个文件中定义多个枚举

单个数字中的多个数字[重复]

从AWS Lambda python函数将多个JSON文件合并到S3中的单个JSON文件

MATLAB - 从结构中获取单个字段名称[重复]

matlab中的importdata和 load 的区别在哪

如何在MATLAB中读入多个音频文件啊?