주요 콘텐츠

MATLAB Coder 앱에서 입력 유형을 자동으로 정의하기

C와 C++의 변수는 정적 유형이므로 코드 생성기는 사용자가 코드를 생성하는 시점에 MATLAB® 파일에 있는 모든 변수의 유형을 결정해야 합니다. 진입점 함수에 대한 모든 입력의 클래스, 크기 및 기타 속성을 지정해야 합니다. MATLAB Coder™ 앱에서 입력 유형을 지정하려면 다음 중 하나를 수행할 수 있습니다.

  • 테스트 스크립트 또는 명령줄에서 진입점 함수를 호출하여, 앱이 입력 유형을 자동으로 결정하도록 지시합니다.

  • 속성을 직접 지정합니다.

이 튜토리얼 단계에서는 테스트 스크립트에서 진입점 함수를 호출하여 앱이 입력 유형을 자동으로 결정하도록 지시합니다.

프로젝트 파일을 설정하고 프로젝트에 진입점 함수를 추가하려면 이 튜토리얼의 이전 단계 Prepare MATLAB Function for Code Generation를 따르십시오. 또는 스크립트 collatz_step2.m을 실행하십시오.

테스트 스크립트 검토 및 실행하기

진입점 함수를 실행하는 스크립트를 작성합니다. 이 튜토리얼에서는 테스트 스크립트 collatz_test.m.을 검토합니다.

type collatz_test.m
rng(10)
nums = randi(100,1,10);
maxLen = 0;
numMax = 0;

for i = 1:numel(nums)
    seq = collatz(nums(i));
    if i == 1
        minLen = numel(seq);
        numMin = nums(i);
    end
    if numel(seq)>maxLen
        maxLen = numel(seq);
        numMax = nums(i);
    end
    if numel(seq)<minLen
        minLen = numel(seq);
        numMin = nums(i);
    end
end

disp("Maximum steps: ");
disp(num2str(maxLen));
disp("For this random integer: ");
disp(num2str(numMax));
disp(newline);

disp("Minimum steps: ");
disp(num2str(minLen));
disp("For this random integer: ");
disp(num2str(numMin));

이 스크립트는 0과 100 사이에서 무작위로 선택된 10개의 정수에 대해 콜라츠 추측을 테스트하여, 콜라츠 수열이 가장 긴 정수와 가장 짧은 정수를 출력합니다. 이 스크립트는 복제 가능한 결과를 생성하기 위해 rng 함수를 사용합니다. MATLAB에서 collatz 함수를 테스트하려면 이 스크립트를 실행하십시오.

collatz_test
Maximum steps: 
36
For this random integer: 
78


Minimum steps: 
7
For this random integer: 
64

테스트 스크립트를 사용하여 입력 유형 정의하기

MATLAB Coder 탭에서 진입점 버튼을 클릭하여 진입점 탭을 엽니다. 입력 유형이 정의되지 않았기 때문에 앱에 오류 아이콘 이 표시됩니다.

입력 유형을 자동으로 정의 파라미터를 Using Script로 설정하고 테스트 스크립트로 collatz_test를 입력합니다. 실행 버튼을 클릭합니다. 앱이 테스트 스크립트를 실행하고 입력 인수 n을 double형 스칼라로 정의합니다.

다음으로, MEX 함수를 생성하고 실행하여 MATLAB 코드에 문제가 있는지 검사합니다.

참고 항목

도움말 항목