2014-02-25 1 views
4

하나의 특정 프로젝트에서 사용하기 위해 많은 하위 폴더 (spatial-econometrics toolbox)에 많은 파일이있는 도구 상자를 다운로드 했으므로 경로에 추가하고 싶지 않습니다. 나는 그것을 사용하는 습관을 만들 것이라고는 생각하지 않는다. 통계 도구 상자에 함수가 숨겨져 있는지 알 수 없다.경로에 영구적으로 추가하지 않고 하위 폴더에있는 m- 파일에 액세스

이 도구 상자 내의 기능에 액세스하려면 어떻게합니까? 어쩌면 스크립트가 호출되는 Matlab의 특정 세션에 대해 경로에 프로그래밍 방식으로 추가하는 방법이 있습니까? 이 문제를 해결할 올바른 방법은 무엇입니까?

+1

좋은 방법으로 여기에 설명 된대로 "개인"폴더를 사용하고 있습니까? http://stackoverflow.com/questions/1277613/how-do-i-emulate-include-behaviour-in-matlab – Dan

+3

addpath는 현재 세션 사용에 대한 명령입니다. 자세한 정보 - http://www.mathworks.in /help/matlab/ref/addpath.html. savepath는 영구적 인 경로 변경 명령입니다. 자세한 내용은 http://www.mathworks.in/help/matlab/ref/savepath.html – Divakar

+0

@Divakar하지만 영구히 경로에 추가 할 것인가? 그건 내가 원하는 것이 아니야. – Dan

답변

6

추가 경로 -

savepath(PATHNAME) 

현재 MATLAB에 대한 모든 하위 디렉토리를 추가 - addpath로

addpath(PATHNAME) 

동일하지만, 다음 세션에 대한 좋은 유지 세션 만 -

addpath(genpath(PATHNAME)) 

참고 : 동일한 이름의 함수 파일이 여러 개있는 경우 path 문자열에서 상위 파일이 선택되므로 경로를 추가하는 동안주의해야합니다.

여기에 더 많은 정보 - addpath, savepath, genpath.

2

본인의 기능을 기본 스크립트와 동일한 디렉토리에있는 별도의 '기능'폴더에 보관하려면 다음을 사용하십시오. 도구 상자 기능에 대한 경로를 알고있는 한이 방법이 유용 할 것입니다.

% Add path (at beginning of script) 
added_path = [pwd,'/functions']; %change to: added_path = '/path' for your required path 
addpath(added_path); 

% Remove path (at end of script/script clean-up) 
rmpath(added_path); 

당신은 관리 방법으로 그 긴 바람 도구 상자 경로를 얻을 수 genpath()보고 할 수 있습니다.

2

덕분에 대답을 @Divakar합니다 :

addpath(genpath('Spatial Econometrics')) 

는이 세션에 대한 경로에 모든 하위 폴더와 폴더를 추가합니다. savepath이 호출되지 않으면 경로에 저장되지 않습니다. 단지 현재 MATLAB 세션에 대한 MATLAB 검색 경로의 정상에

+0

기꺼이 도와 드리겠습니다! – Divakar

관련 문제