exponenta event banner

na_0021: Строки в функциях MATLAB

Рекомендации по субидентификатору

  • NA-MAAB - a

  • JMAAB - a

Версии MATLAB

Все

Правило

Sub 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

Объяснение

Субидентификатор a:

  • Функции MATLAB хранят строки в виде массивов символов. В результате сохранение строк разной длины в одной переменной не поддерживает динамическое выделение памяти, что предотвращает сохранение строк.

    Рассмотрите возможность использования перечисляемых типов при использовании строки в блоке Switch Case

Последнее изменение

R2020a

Представлен в R2020a