我正在使用MATLAB并在一个文件夹(C:\ Matlab \ MainFolder)中工作,其中包含我的所有'm'和amp; 'mat'文件。但是,该文件夹正在与许多文件聚集在一起。
我想要做的是创建两个子文件夹 - 'data_structs'和'misc_functions',并且能够在我的'MainFolder'中工作时引用这些文件。最好的方法是什么?
答案 0 :(得分:2)
.mat
个文件不需要在您当前的工作文件夹中;您可以将它们放在data_structs
子文件夹中,并使用相对路径引用它们,例如代码中的'.\data_structs\data_struct1.mat'
。
最好的方法是组织代码(即您的.m
文件)将它们放在包文件夹中。这些在matlab中创建名称空间,如果包含它们的文件夹当前处于活动状态或在Matlab路径中。为此,请创建文件夹+misc_functions
(尽管您可能希望为其选择更好的名称)。假设您在此包文件夹中的文件f1()
中定义了函数f1.m
。要在主脚本/函数中调用此函数,您可以使用类似misc_functions.f1()
。
有关组织代码here的更多信息(该信息也适用于程序编程,但在OOP部分中有所分类)。
答案 1 :(得分:1)
一种简单的方法是使用' genpath'命令。使用:
addpath(genpath('C:\Matlab\MainFolder'))
这会将C:\ Matlab \ MainFolder的所有子文件夹添加到搜索路径中。
答案 2 :(得分:0)
我写了一个wrapper for genpath
,它允许您从genpath
的输出中排除指定的目录模式。尽管我更喜欢用+
表示法打包函数,但这既是为了缩短函数名,又是因为它们在您进入文件夹时位于路径上,但是如果您需要添加 most,这可能是另一个选择。 ,但不是全部。