na_0021: Strings in MATLAB functions

Рекомендации по идентификатору подраздела

  • NA-MAAB - a

  • JMAAB - a

Версии MATLAB

Все

Правило

Идентификатор подраздела 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 (Simulink)

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

R2020a

Введенный в R2020a