커다란 복잡한 MATLAB 프로그램이 있습니다. 어딘가에서, 숫자 0이 방출되고, 그래서 그것을 실행할 때, 나는이 배의 무리 반복 참조 :복잡한 프로그램에서 명령 행 출력이 생성되는 위치 찾기
ans =
0
더러워 보이는, 그래서 그것을 제거하려고합니다. 출력이 어디에서 오는지 알아내는 쉬운 방법이 있습니까?
커다란 복잡한 MATLAB 프로그램이 있습니다. 어딘가에서, 숫자 0이 방출되고, 그래서 그것을 실행할 때, 나는이 배의 무리 반복 참조 :복잡한 프로그램에서 명령 행 출력이 생성되는 위치 찾기
ans =
0
더러워 보이는, 그래서 그것을 제거하려고합니다. 출력이 어디에서 오는지 알아내는 쉬운 방법이 있습니까?
몇 가지 옵션, 당신은 :
열기가 경고를 가정 종단 세미콜론 (누락 라인이 시각적으로 표시됩니다 MATLAB 편집기에서 스크립트/기능, 각 아니다 억압에 Code Analyzer preferences). 이 예제 함수의 구불 구불 한 라인 오렌지 참고 :
가 종료 세미콜론 누락 스크립트/기능의 라인을 찾을 수있는 기능 CHECKCODE (이전 MLINT)를 사용합니다.
>> mlint('test')
L 2 (C 4): Terminate statement with semicolon to suppress output (in functions).
사용 command echoing : 위의 예제 기능하십시오. 그러면 각 코드 행이 평가 된대로 명령 창에 인쇄됩니다. 그런 다음 원하지 않는 출력 앞의 행을 찾아서 종료 세미콜론이없는 부분을 찾으십시오. 나는 명령 줄에서 다음 옵션 중 하나를 입력하려고 할 것입니다 :
echo name_of_your_file on; %# Turns on echoing for the function file
echo on all; %# Turns on echoing for all function files
이 미리 경고 ... 당신은 아마 출력 많은를 얻을 것이다이 옵션을 사용하여 명령 창에 덤프하기.
또 다른 옵션은 MATLAB 디버거를 사용하고 코드를 단계별로 실행하는 것입니다. 천천히,하지만 당신은 결국 위반 코드를 찾을 수 있습니다. (또한 프로그램을 실행하는 동안 모든 변수의 상태를 살펴볼 수 있습니다.) –