matlab - MATLAB 中的源树组织 (#include)

标签 matlab include

假设我有很多源文件,我想以文件夹树结构组织它们。

我是否可以拥有多个具有相同名称的文件并从我需要的地方使用它们中的每个文件,或者我必须拥有具有不同名称的所有函数和类?

在 C++ 中,我有 #include 来引入我需要的函数,就在这里?

只是为了说明:

.\main.m
.\Algorithms\QR\Factory.m    % function Factory
.\Algorithms\QR\Algorithm.m  % function Algorithm
.\Algorithms\SVD\Factory.m   % function Factory
.\Algorithms\SVD\Algorithm.m % function Algorithm

最佳答案

MATLAB 支持 namespaces 。因此,在您的示例中,您将创建以下内容:

C:\some\path\main.m
C:\some\path\+algorithms\+qr\factor.m
C:\some\path\+algorithms\+svd\factor.m

(注意:只有顶级包文件夹的父文件夹必须位于 MATLAB 路径上,即:addpath('C:\some\path'))

然后您可以使用其完全限定名称调用每个:

>> y = algorithms.qr.factor(x)

>> y = algorithms.svd.factor(x)

您还可以在某个范围内导入包。例如:

function y = main(x)
    import algorithms.svd.*;
    y = factor(x)
end

关于matlab - MATLAB 中的源树组织 (#include),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26354042/

相关文章:

matlab - 时域传递函数

matlab - 如何从 MATLAB 中使用 ActiveX 控制的设备存储的内存中检索数据

perl - Perl 程序如何知道在哪里可以找到包含它使用的 Perl 模块的文件?

c++ - 头文件和多类用法(编辑 : forward declarations)

php - 将 CSS 应用到使用 PHP include() 或 require() 包含的 PHP 页面

matlab - 将旧矩阵复制到新矩阵的快速方法

C++ 将角度转换为坐标

c++ - 提取cpp中的所有包含文件

html - HTML 格式的 CDN 引用

matlab - 在matlab中的不同操作之间创建循环切换器?