가능한 중복 :
MATLAB에서 (익명되지 않음) 기능을, 당신은 함수와 같은 이름의 파일을 만들 필요가 정의하기 위해
Is it possible to define more than one function per file in MATLAB?MATLAB "subfunction"을 파일 외부에서 호출 할 수있는 방법이 있습니까?
; myfunc.m, 나는 같이, 또한 하위 기능이이 같은 파일에 가정
function rtn = myfunc(arg)
% do some stuff
end
: 예를 들어, 함수 myfunc에가에 따라 파일에 myfunc.m을 정의 할 수있다라는
function rtn = myfunc(arg)
% do some stuff
end
function rtn = mysubfunc(arg)
% do some other stuff
end
AFAIK의 subfunc.m 파일의 외부 어디에서나 일어나는 실행에서 mysubfunc에 액세스 할 수있는 방법이 없습니다. 나는 MATLAB (R2010b)에서이 작은 특질에 짜증을 내며 계속 괴롭힘을당했습니다. 내가 틀렸어 - mysubfunc 외부에서 전화 myfunc.m?
업데이트 : 새로운 질문 : 이 있습니까?이 방법이 있습니까? 또는 나는 그것을 정말로 빨아 들이고 계속 더 많은 파일을 만들어야 하는가?
아니요, 당신은 그것을 빨아 들여야합니다. 세미 네임 스페이스 방식을 사용하여이 작업을 간소화하고 내 코드를 재사용하도록 권장합니다 (예 : 프로젝트의 'heatflux'에서 hf_로 모든 함수 이름을 시작합니다). – Alex
여기에 당신의 목표는 무엇입니까? 별도의 파일에서 각 기능을 사용하는 데 필요한 혼란을 줄이고 싶습니까? –
myfunc 외부에서 subfunc에 액세스해야하는 경우 거의 정의에 따라 subfunction이 아니어야합니다.서브 함수는 둘러싸는 함수의 컨텍스트에서만 관련이있는 공통 기능을 위해 예약되어야합니다. – Marc