假设我有很多源文件,我想以文件夹树结构组织它们。
我可能有几个具有相同名称的文件,并在需要的地方使用它们,或者我必须具有所有具有不同名称的函数和类吗?
在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