Преобразуйте строковые массивы в символьные массивы, оставив другие массивы неизменными
При работе с собственным кодом можно использовать convertStringsToChars чтобы ваш код принимал строковые входы. Тогда вам не придется вносить какие-либо другие изменения в код, который вы написали, чтобы работать с символьными массивами.
[B1,...,Bn] = convertStringsToChars(A1,...,An) преобразует любые строковые массивы в A1,...,An к векторам символов или массивам ячеек векторов символов, а затем возвращает их как соответствующие выходные аргументы в B1,...,Bn. Если какой-либо из аргументов A1,...,An имеет любой другой тип данных, тогда convertStringsToChars возвращает его неизмененным.
Чтобы включить принятие существующим кодом строковых массивов в качестве входов, добавьте вызов к convertStringsToChars в начале вашего кода.
Для примера, если вы определили функцию myFunc который принимает три входных параметров, обрабатывает все три входов используя convertStringsToChars. Оставьте остальную часть кода без изменений.
function y = myFunc(a,b,c)
[a,b,c] = convertStringsToChars(a,b,c);
<line 1 of original code>
<line 2 of original code>
...В этом примере выходные аргументы [a,b,c] перезаписать входные параметры на месте. Если любой входной параметр не является строковыми массивами, то он неизменен.
Если myFunc принимает переменное число входных параметров, затем обрабатывает все аргументы, заданные в varargin.
function y = myFunc(varargin)
[varargin{:}] = convertStringsToChars(varargin{:});
... convertStringsToChars функция более эффективна при преобразовании одного входного параметра. Если эффективность является проблемой, то вызовите convertStringsToChars по одному входному параметру за раз, а не вызов его один раз на нескольких входах.
convertCharsToStrings | convertContainedStringsToChars | iscellstr | ischar | ismissing | isstring | isStringScalar | string | varargin