Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
管理大型MATLAB项目_Matlab_Matlab Deployment - Fatal编程技术网

管理大型MATLAB项目

管理大型MATLAB项目,matlab,matlab-deployment,Matlab,Matlab Deployment,我正在开发一个不断增长的MATLAB程序。它最初是一个脚本集合,但现在越来越大。现在所有的东西都在一个大文件夹中,但是为了分开独立的模块,我想把它们分成子文件夹。模块之间存在一些依赖关系,因此我希望能够访问不同模块的函数,而无需复制MATLAB文件 除了将所有目录添加到searchpath之外,还有其他方法吗? 如何保持大型MATLAB项目的代码库整洁?我看到已经有一个类似名称空间的链接。但是,如果您不想使用软件包,可以遵循我当前使用的结构。我认为,如果你的大型项目数量有限,这种方法尤其有效 假

我正在开发一个不断增长的MATLAB程序。它最初是一个脚本集合,但现在越来越大。现在所有的东西都在一个大文件夹中,但是为了分开独立的模块,我想把它们分成子文件夹。模块之间存在一些依赖关系,因此我希望能够访问不同模块的函数,而无需复制MATLAB文件

除了将所有目录添加到searchpath之外,还有其他方法吗?
如何保持大型MATLAB项目的代码库整洁?

我看到已经有一个类似名称空间的链接。但是,如果您不想使用软件包,可以遵循我当前使用的结构。我认为,如果你的大型项目数量有限,这种方法尤其有效

假设您处理两个项目,然后创建三个并行文件夹:

  • 项目1
  • 项目2
  • 一般的
  • 基本上,您可以在各自的文件夹中开始构建项目1和项目2,当您看到在这两个项目中执行类似的操作时(可能在经过一点概括之后),您可以将它们移动到“常规”。只需确保“常规”在搜索路径上的位置较低,这样您将始终在通用函数之前找到自定义函数

    当然,通常也可以创建子文件夹


    请注意,使用此选项的最简单方法是首先将“常规”文件夹添加到路径中,然后再将“项目”文件夹添加到路径中。在这种情况下,您的路径上可能仍然有很多文件,但这样就不会有重复,您可以很容易地看到哪些关键文件与项目相关。

    快速修复:

    您可以在一个根目录中添加所有主程序。子模块位于下面的文件夹中。 在每个主程序中,确保所有路径都设置正确。 在程序结束时,恢复原始路径设置

    % Begin of main program. Set path to all subfolders
    save_path = path;
    curr_dir = strrep(which(mfilename('fullpath')),mfilename,'')
    addpath(genpath(curr_dir))
    
    % Main program 
    ....
    ....
    ....
    
    % Restore original Path settings
    path(save_path);
    

    这个问题的答案可能会有所帮助:提示将general添加到startup.m中的路径中,以确保始终首先添加它。