这个setup.m文件做了什么以及它的用途是什么?

时间:2015-05-30 11:42:06

标签: matlab

this setup.m文件有什么作用?

    function setup
%SETUP Adds directories for Metrics to your MATLAB path
%
%   Author: Ben Hamner (ben@benhamner.com)

myDir = fileparts(mfilename('fullpath'));
paths = genpath(myDir);
paths = strread(paths,'%s','delimiter',':');
pathsToAdd = [];

for i=1:length(paths)
    thisPath = paths{i};
    thisPathSplit = strread(thisPath,'%s','delimiter','/');
    addThisPath = 1;

    % Do not add any directories or files starting with a . or a ~
    for j=1:length(thisPathSplit)
        thisStr = thisPathSplit{j};
        if (~isempty(thisStr)) && ((thisStr(1) == '.') || (thisStr(1) == '~'))
            addThisPath = 0;
        end
    end
    if addThisPath ==1
        if ~isempty(pathsToAdd)
            thisPath = [':' thisPath];
        end
        pathsToAdd = [pathsToAdd thisPath];
    end
end

addpath(pathsToAdd);
savepath;

我从描述中理解它将目录添加到Matlab的搜索路径中。但是哪一个和为什么?我的Matlab脚本通常散布着addpath('data')行。这是否意味着我不必再那样做了?非常感谢您的意见。

2 个答案:

答案 0 :(得分:1)

您要链接的文件是Metrics包的安装文件 - 它会添加各种文件夹的路径,以便您可以使用Metrics包而无需手动设置路径。
更具体地说,setup.m函数在级别和下面添加所有路径。如果您将此文件复制到任何目录并运行它 - 它将添加此目录及其所有子目录和子目录等(不包括以.~开头的文件夹)

但我有预感,你要找的是: http://www.mathworks.com/help/matlab/ref/startup.html
http://www.mathworks.com/help/matlab/ref/matlabrc.html

答案 1 :(得分:0)

这是添加setup.m所在的目录以及该目录中的每个子目录。 fileparts(mfilename('fullpath'))获取文件所在的目录,genpath(myDir);获取所有子目录。请注意,这会遗漏以“。”开头的任何目录。或者'〜'