persistent
영속 변수 정의
설명
persistent var1 ... varN
은 변수 var1 ... varN
을 영속 변수로 선언합니다. 영속 변수는 영속 변수를 선언한 함수에 대한 로컬 변수이지만 이들 변수의 값은 함수 호출 간에 메모리에 유지됩니다. MATLAB® 명령줄 및 다른 함수에 있는 코드는 영속 변수를 변경할 수 없습니다.
MATLAB은 특정 persistent
문을 처음 만나면 해당 영속 변수를 빈 행렬([]
)로 초기화합니다.
메모리에 있는 함수를 지우거나 수정하면 MATLAB이 영속 변수를 지웁니다. 함수를 메모리에 유지하려면 mlock
을 사용하십시오.
예제
팁
MATLAB에서 영속 변수와 전역 변수에 대한 영구 저장공간을 만든다는 점에서 영속 변수는 전역 변수와 유사합니다. 영속 변수는 변수를 선언하는 함수에만 알려져 있다는 점에서 전역 변수와 다릅니다. 따라서 MATLAB 명령줄 및 다른 함수에 있는 코드는 영속 변수를 변경할 수 없습니다.
MATLAB이 영속 변수를 빈 행렬(
[]
)로 초기화하므로 일반적으로 함수는 영속 변수가 비어 있는지 확인하고, 비어 있으면 이를 초기화합니다.function myFun() persistent n if isempty(n) n = 0; end n = n+1; end
변수에 대한 영속 변수 선언은 입력 인수와 출력 인수를 비롯하여, 변수에 대한 다른 어떤 참조보다 먼저 나와야 합니다. 예를 들어, 다음 함수의
persistent
선언은 유효하지 않습니다.function myfunA(x) persistent x end function myfunB x = 0; persistent x end
영속 변수를 지우려면 변수를 선언하는 함수 이름과 함께
clear
를 사용하십시오. 예를 들면clear myFun
과 같습니다.
확장 기능
버전 내역
R2006a 이전에 개발됨