Main Content

string형에 대한 코드 생성

코드 생성 시 1×1 MATLAB® string형 배열이 지원됩니다. 코드 생성 시 요소를 2개 이상 갖는 string형 배열은 지원되지 않습니다.

string형 스칼라라고 하는 1×1 string형 배열은 한 조각의 텍스트를 포함하며 1×n 문자형 벡터로 표현됩니다. "Hello, world"가 string형 스칼라의 예입니다. string형에 대한 자세한 내용은 string형 배열과 문자형 배열 내에 포함된 텍스트 항목을 참조하십시오.

제한 사항

string형 스칼라의 경우 코드 생성 시 다음이 지원되지 않습니다.

  • 전역 변수

  • 중괄호 {}를 사용한 요소 참조

  • 누락값

  • assert 명령문에 사전 조건을 사용하여 프로그래밍 방식으로 입력 유형 정의

  • codegen (MATLAB Coder) 명령, fiaccel 명령 또는 MATLAB Coder™ 앱을 사용하여 코드를 생성할 때 string형 스칼라를 coder.varsize에 사용

  • string형 스칼라를 Simulink® 신호, 파라미터 또는 데이터 저장소 메모리로 사용

코드 생성 시 클래스에 적용되는 제한 사항은 string형에도 적용됩니다. MATLAB Classes Definition for Code Generation 항목을 참조하십시오.

생성 코드와 MATLAB 코드 간의 차이점

  • 여러 개의 단항 연산자가 포함된 string형을 double형으로 변환하면 MATLAB과 생성 코드 간에 서로 다른 결과가 발생할 수 있습니다. 다음 함수를 살펴보겠습니다.

    function out = foo(op)
    out = double(op + 1);
    end

    이 함수는 입력값 "--"에 대해 string형 "--1"double형으로 변환합니다. MATLAB에서의 결과는 NaN입니다. 생성 코드에서의 결과는 1입니다.

  • 쉼표가 잘못 배치된(쉼표를 천 단위 구분 문자로 사용하지 않은 경우) string형을 double형으로 변환하면 MATLAB과 다른 결과가 발생할 수 있습니다.

관련 항목