2015-02-07 3 views
0

저는 MATLAB Guide로 간단한 GUI를 생성했으며 콜백 함수 중 하나에서 간단한 스위치 함수를 사용하려고합니다. 다음스위치 기능이 matlab 콜백 함수에서 작동하지 않습니다.

함수 같습니다

ret = 0; 
switch intervall 
    case 1 
     ret = 0.82; 
    case 5 
     ret = 0.82; 
    case 10 
     ret = 0.78; 
    case 15 
     ret = 0.78; 
    case 30 
     ret = 0.78; 
    case 60 
     ret = 0.82; 
end 

변수 "intervall"는 문자열이며, 사용자 입력으로부터 검색된다. 그러나 코드를 실행하면 스위치 기능이 실행되지 않고 "ret"변수가 초기 값인 0에서 변경되지 않습니다. 스크립트에서이 코드를 개별적으로 실행했는데 완벽하게 작동했습니다 ...

아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까?

미리 감사드립니다.

+0

업데이트 문제는 현재의 GUI입니다. '.m' 파일의 전체 코드를 올릴 수 있습니까? – Ratbert

답변

0

intervall이 문자열 인 경우 case 인수는 문자열이어야합니다. 예를 들어
는 :

ret = 0; 
switch intervall 
    case '1' 
     ret = 0.82; 
    case '5' 
     ret = 0.82; 
    case '10' 
     ret = 0.78; 
    case '15' 
     ret = 0.78; 
    case '30' 
     ret = 0.78; 
    case '60' 
     ret = 0.82; 
end 
+0

이전에 시도했지만 여전히 작동하지 않습니다. 나는 또한 이전에 intervall을 숫자로 변환하려고 시도했지만 위에 게시 된 코드를 사용했지만 여전히 결과가 없습니다. 변수 계층 구조 또는 뭔가 같은 것을해야한다고 생각합니다. 내가 말했듯이, 별도의 스크립트에서이 작업은 매력과 같습니다. – Benvaulter

0

나는 문제를 발견하고는 스위치 기능과 관련되지 않았습니다. Intervall 값은 팝업 메뉴에서 검색되며 어떻게 든 올바르게 추출되지 않았습니다. 이 기능은 이제 작동합니다. 어쨌든 도와 주셔서 감사합니다!

+0

이 질문에 "해결 됨"으로 표시해야합니다. 커뮤니티는 스택에 문제가 하나 더 적다는 것을 알고 있습니다. – Ratbert

관련 문제