문제
내 Matlab M-File에서 나는 다음과 같은 변수를 만들기 위해 일부 논리 (String concat)를 사용하고 있습니다.
c = 'CalcPrediction(1,10)'
즉, 함수와 일부 매개 변수 인 문자열이 있음을 의미합니다. 그 기능 호출을 어떻게 할 수 있습니까?
실행 시도 (c) 결과 :
>> run(c)
??? Error using ==> run at 71
CalcPrediction(1,10) not found.
참고 : 실행 (c) 매개 변수가 없으면 잘 작동합니다. 예를 들어 C = 'calcprediction'; 실행 (c);
해결책
당신이 찾고있는 명령은입니다 eval()
대신에 run()
다른 팁
실제로 스크립트를 보지 않으면 일반화하기가 어렵지만 ...
Squareroot가 포함 된 M 파일 인 경우 :y=sqrt(x)
그런 다음 실행 :
x=[2,0];
c='squareRoot';
run(c);
제공 :
y =
1.4142 0
이 예는 선언 된 변수를 사용하도록 스크립트를 정의 할 수 있다고 말합니다.x
이 경우) 그런 다음 스크립트를 실행하기 전에 변수를 선언합니다.
스크립트가 없으면 매개 변수로 무엇을하고 있는지 모르겠습니다. 이것이 질문에 답하지 않으면 스크립트를 게시하십시오.
당신은 사용하고 싶습니다 str2func. 이 함수는 문자열을 사용하여 매개 변수로 호출 할 수있는 함수 핸들러를 반환합니다. 링크 된 페이지에서 예제를 확인하십시오.
fh = str2func('CalcPrediction')
fh(1, 10)
제휴하지 않습니다 StackOverflow