MATLAB 함수 내부의 변수는 함수 사용 후에는 메모리 상에서 지워지게 됩니다.

 

하지만 경우에 따라 함수 내부에서 변수가 계속 유지 되게 할 필요가 있는 경우가 있습니다. 이러한 경우에 persistent keyword 를 사용합니다.

 

다음 예를 통해 persistent 에 대해 알아보죠.

 

아래 그림의 y=persistent_func(a,b) 함수는 a, b 값 입력을 받아서 a+b+c 값을 출력하는 함수 입니다.

 

 

c 값에는 함수 내부에서 메모리상에 계속 남아 있도록 하기 위하여 persistent 로 설정했습니다.

 

그리고 초기값 설정을 위하여 isempty() 함수를 써서 c 값이 비어 있으면 초기값을 설정하도록 하였습니다.

 

위 함수에 대하여 다음과 같이 사용해 보도록 하겠습니다.

 

 

함수 내부에서 c 값이 계속 유지가 되는 것을 확인 할 수 있습니다.

 

 

연관 글: 2011/03/26 - [MATLAB] - MATLAB global keyword



  1. 박지연 2011.10.20 11:28

    매틀랩 공부하다가 우연찮게 이곳에 오게되었는데요 설명 너무잘해주셔서 감사해요
    c값 출력할때
    c:%d\n' 이건 어떤 표현인가요?
    답변 부탁드릴게용 ^^

    • 남성 2011.10.20 23:33 신고

      방문해 주셔서 감사합니다.

      c: 는 그대로 화면에 출력하는 부분이구요.

      %d 는 decimal 값 즉 10진수 정수로 표현하라는 거구

      \n 은 줄 바꿈 하라는 겁니다.

+ Recent posts