이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
evalin
지정된 작업 공간에서 MATLAB 표현식 실행
설명
evalin(
은 workspace
,expression
)expression
으로 표현되는 MATLAB® 코드를 지정된 작업 공간의 변수를 사용하여 실행합니다.
참고
보안 고려 사항: 신뢰할 수 없는 사용자 입력값을 사용하여 evalin
함수를 호출할 때는 예기치 않은 코드 실행을 방지하기 위해 입력값의 유효성을 검사하십시오. 신뢰할 수 없는 사용자 입력값의 예로는 모르는 사용자나 통제할 수 없는 사용자의 입력값을 들 수 있습니다. 이 우려 사항을 해결해야 하는 경우 다음과 같은 접근 방법을 고려하십시오.
evalin
에 대한 입력값의 유효성을 검사합니다. 먼저 허용되는 동작에 대해 알아봅니다. 그런 다음, 이와 다른 동작을 발견했다면 실행을 허용하지 마십시오.evalin
함수를 다른 대안으로 대체합니다. 자세한 내용은 eval 함수의 대안 항목을 참조하십시오.
성능 향상을 위한 고려 사항: 대부분의 경우 evalin
함수를 사용하는 것은 다른 MATLAB 함수나 언어 구문을 사용하는 것에 비해 효율성도 떨어지며 결과로 생성되는 코드는 읽고 디버그하기가 더 어려울 수 있습니다. evalin
의 대안을 사용하는 방안을 고려하십시오.
[
은 output1,...,outputN
] = evalin(workspace
,expression
)expression
의 출력을 지정된 변수로 반환합니다. 이 구문이 유효하려면 표현식
도 유효해야 합니다.output1,...,outputN
= expression
예제
입력 인수
출력 인수
제한 사항
evalin('caller',expression)
은 호출자 작업 공간에서 변수만 찾으며 호출자의 함수는 찾지 않습니다. 이런 이유로 호출자에 정의된 함수에 대한 핸들을 구성하는 데는evalin
을 사용할 수 없습니다.evalin
은 표현식을 재귀적으로 실행하는 데 사용할 수 없습니다. 예를 들어,evalin('caller','evalin(''caller'',''x'')')
문은 유효하지 않습니다.익명 함수나 중첩 함수, 또는 중첩 함수를 감싸는 함수 내에서
evalin
을 사용하는 경우, 실행된expression
은 변수를 만들지 않습니다.
팁
MATLAB 구문 분석기가 코드를 보다 엄격하게 검사하고 처리되지 않은 오류와 기타 예기치 않은 동작이 발생하지 않도록 하려면
evalin
함수에 대한 입력값에 출력 인수를 포함하지 마십시오. 예를 들어,evalin('base',['output = ',expression])
문은 권장되지 않습니다.대신
evalin
함수에 대한 출력 인수를 지정하여 실행된 표현식의 결과를 저장하십시오. 예를 들면 다음과 같습니다.output = evalin('base',expression)
버전 내역
R2006a 이전에 개발됨