주요 콘텐츠

na_0021: MATLAB 함수에서 문자열 사용

지침 발행물

Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®

하위 ID 권장 사항

  • NA-MAAB — a

  • JMAAB — a

MATLAB 버전

모든 버전

규칙

하위 ID a

MATLAB 함수에서는 문자열에 대한 대입문을 사용하면 안 됩니다.

사용자 지정 파라미터

해당 없음

예제 — 올바르지 않음

MATLAB 함수에서 문자열에 대한 대입문을 사용하고 있습니다.

function y = fcn(u)
%#codegen

str = 'A';

    for i = 1:u
        str = [str 'B'];    
    end

    if strcmp(str, 'ABB')
        y = int16(1);        
    else
        y = int16(0);    
    end
end

근거

하위 ID a:

  • MATLAB 함수는 문자열을 문자 배열로 저장합니다. 그 결과, 서로 다른 길이의 문자열을 동일한 변수에 저장하면 동적 메모리 할당이 지원되지 않으며, 이로 인해 문자열이 저장되지 않습니다.

    Switch Case 블록에서 문자열이 사용되는 경우에는 열거형 사용을 고려하십시오.

검증

모델 어드바이저 검사: MATLAB Function 블록 내의 문자형 벡터 사용 검사 (Simulink Check)

마지막 변경

R2020a

버전 내역

R2020a에 개발됨